로딩중입니다
客户端奖励集成:Android
8/26/2015 3:14:24 PM

IGAW 奖励服务器集成 : 客户端方式

在接收 IGAW 奖励服务器传达的 Callback 时,开发商在不使用自己服务器的情况下,可以通过客户端集成的方式,处理奖励支付。



AndroidManifest.xml

为了通过客户端处理奖励 Callback,请修改奖励服务器的集成方式。

<application></application> 标签内,如下将奖励服务器集成方式设置为客户端。

<meta-data android:name="igaworks_reward_server_type" android:value="client"/>



奖励 Event Listener 登录和实现

为了从 IGAW 奖励服务器接收奖励信息,请登录 Event Listener。


Listener 详细说明

1. onGetRewardInfo(boolean isSuccess, String resultMsg, IgawRewardItem[] rewardItems)

传达 IGAW 奖励服务器中未处理的奖励信息。

奖励信息 IgawRewardItem 形式的 rewardItem[i] 排列方式进行传达,包括在排列的信息如下。

  1. rewardItem[i].getCampaignKey() : 用户完成参与的活动的 Campaign Key
  2. rewardItem[i].getCampaignTitle() : 用户完成参与的 Campaign
  3. rewardItem[i].getRTID() : 完成活动的 ID
  4. rewardItem[i].getRewardQauntity() : 支付给用户的虚拟货币数量
  5. rewardItem[i].didGiveRewardItem() : 为了向 IGAW 服务器传达完成处理奖励支付信息的 API

为了向 IGAW 奖励服务器传达该信息,需调用第 5 项中的 didGiveRewardItem API。如果成功接收结果的话,使用第 1~4 项的信息处理奖励支付。


2. onDidGiveRewardItemResult(boolean isSuccess, String resultMsg, int resultCode, String completedRewardKey)

使用之前调用的 didGiveRewardItem API 的调用结果,通过传达的 completedRewardKey,处理防止重复奖励等内容。

IgawCommon.setClientRewardEventListener(new IgawRewardItemEventListener() {
	@Override
	public void onGetRewardInfo(boolean isSuccess, String resultMsg, IgawRewardItem[] rewardItems) {
 		for (IgawRewardItem rewardItem : rewardItems) {
			//使用下面的信息向用户支付奖励
                        rewardItem.getCampaignKey();
			rewardItem.getCampaignTitle();
			rewardItem.getRTID();
			rewardItem.getRewardQuantity();
			
			//调用 didGiveRewardItem 向 IGAW 奖励服务器通知完成奖励支付处理的信息。
			rewardItem.didGiveRewardItem();
		}
	}

	@Override
	public void onDidGiveRewardItemResult(boolean isSuccess, String resultMsg, int resultCode, String completedRewardKey) {
		// TODO Auto-generated method stub
		// 对相同的 completedRewardKey 进行去重处理
                // 接收到正常的反馈之后,向用户支付奖励
	}
});



奖励信息申请

奖励 Event Listener 是在启动或终止积分墙时被调用,如果在 IGAW 奖励服务器中有未处理的奖励信息时,信息将被传达。

除以上的时刻以外,在需要查询奖励信息的时刻上,调用下面的 API 向 IGAW 奖励服务器查询奖励信息。

IgawAdpopcornExtension.getClientPendingRewardItems(MainActivity.this);



集成测试

adPOPcorn 管理页面 [积分墙管理 > 验收和优化 > 设置测试设备] 菜单上,添加测试设备,参与并完成测试广告后,如果正常接收到奖励的话,那么集成成功。