IGAW 奖励服务器集成 : 客户端方式
在接收 IGAW 奖励服务器传达的 Callback 时,开发商在不使用自己服务器的情况下,可以通过客户端集成的方式,处理奖励支付。
AndroidManifest.xml
为了通过客户端处理奖励 Callback,请修改奖励服务器的集成方式。
<application></application> 标签内,如下将奖励服务器集成方式设置为客户端。
<meta-data android:name="igaworks_reward_server_type" android:value="client"/>
Event Listener API
在 Android Plugin Library 中,为了接收奖励支付信息和积分墙 Action Event,登录 Listener。
调用 IgaworksUnityPluginAOS.Common.setClientRewardEventListener 和 IgaworksUnityPluginAOS.Adpopcorn.setAdpopcornOfferwallEventListener。
void Awake() {
IgaworksUnityPluginAOS.InitPlugin ();
IgaworksUnityPluginAOS.Common.startApplication ();
//为了接收奖励支付信息,登录 Event Listener。
IgaworksUnityPluginAOS.Common.setClientRewardEventListener ();
//为了接收奖励 Action Event,登录Event Listener。
IgaworksUnityPluginAOS.Adpopcorn.setAdpopcornOfferwallEventListener ();
}
奖励 Delegate 登录&实现
为了从 IGAW 奖励服务器接收奖励信息,请登录 Delegate 并实现。
Delegate 详细说明
1. OnGetRewardInfo(string campaignkey, string campaignname, string quantity, string cv, string rewardkey)
传达 IGAW 奖励服务器中未处理的奖励信息。
- campaignkey : 用户完成参与的活动的 Campaign Key
- campaignname : 用户完成参与的 Campaign 名称
- quantity : 支付给用户的虚拟货币数量
- cv : 奖励支付处理完成信息传达 IGAW 服务器的 API
- rewardkey : 将完成奖励支付的处理信息传达给 IGAW 服务器的 API
使用第 1~3项的信息对用户支付奖励后,为了向 IGAW 奖励服务器传达该信息,需调用 didGiveRewardItem API,其中并且包含第 4,5项的信息。
2. OnDidGiveRewardItemRequestResult (bool isSuccess, string rewardkey)
传达之前调用的 didGiveRewardItem API 的调用结果,使用传达的 rewardKey,处理防止重复奖励等内容。
void Awake() {
// 登录 Delegate
IgaworksUnityPluginAOS.OnGetRewardInfo = mOnGetRewardInfo;
IgaworksUnityPluginAOS.OnDidGiveRewardItemRequestResult = mOnDidGiveRewardItemRequestResult;
}
// 实现 Delegate
void mOnGetRewardInfo(string campaignkey, string campaignname, string quantity, string cv, string rewardkey){
string ck = campaignkey;
string cn = campaignname;
string qt = quantity;
// 使用上面的信息向用户支付奖励。
// {奖励支付处理}
// 调用 didGiveRewardItem API,向 IGAW 奖励服务器通知完成奖励支付处理的信息。
IgaworksUnityPluginAOS.Common.didGiveRewardItem (cv, rewardkey);
}
void mOnDidGiveRewardItemRequestResult (bool isSuccess, string rewardkey) {
// 返回 didGiveRewardItem 函数的处理结果。
// 处理对相同的 rewardkey 防止重复奖励。
}
积分墙 Delegate 登录&实现
为了从 IGAW 奖励服务器申请查询奖励支付信息,需登录和实现积分墙终止 Action 的 Delegate。
1. 登录 Delegate
对于积分墙终止 Action,登录 Delegate。
IgaworksUnityPluginAOS.OnClosedOfferwallPage = mOnClosedOfferwallPage;
2. Delegate 实现
实现积分墙终止 Action 的 Delegate。在实现的 Delegate 中,申请奖励支付信息。
void mOnClosedOfferwallPage() {
IgaworksUnityPluginAOS.Common.getClientPendingRewardItems();
}
奖励信息申请
奖励 Event Listener 是在启动或终止积分墙时被调用,如果在 IGAW 奖励服务器中有未处理的奖励信息时,信息将被传达。
除以上的时刻以外,在需要查询奖励信息的时刻上,需调用下面的 API 从 IGAW 奖励服务器查询奖励信息。
IgaworksUnityPluginAOS.Common.getClientPendingRewardItems();
集成测试
adPOPcorn 管理页面 [积分墙管理 > 验收和优化 > 设置测试设备] 菜单上,添加测试设备,参与并完成测试广告后,如果正常接收到奖励的话,那么集成成功。