IGAW 奖励服务器集成 : 客户端方式
在接收 IGAW 奖励服务器传达的 Callback 时,开发商在不使用自己服务器的情况下,可以通过客户端集成的方式,处理奖励支付。
设置奖励服务器集成方式
为了通过客户端处理奖励 Callback,请修改(*)奖励服务器的集成方式。
使用 SetUseIgaworksRewardServer api,设置是否使用 IGAW 奖励服务器。
public class MySampleScene : MonoBehaviour {
// Use this for initialization
void Start () {
//Unity Engine 初始化,Plugin 也初始化
//将是否使用 IGAW 奖励服务器,设置为 true
IgaworksCorePluginIOS.SetUseIgaworksRewardServer(true);
}
}
+ (*)奖励服务器集成方式 : 集成奖励支付所需服务时,需要的设置。需同时设置 AppKey,HashKey。
- false : 使用自己 Callback 服务器
- true : 使用 IGAWorks 奖励服务器
奖励 Delegate 登录及实现
为了接收 IGAW 奖励服务器传达的信息,登录及实现 Delegate。
public class MySampleScene : MonoBehavior {
void Start() {
IgaworksCorePluginIOS.IgaworksCoreWithAppKey("获得的 AppKey", "获得的 HashKey", true);
//Delegate Listener 登录
IgaworksCorePluginIOS.SetCallbackHandler("MySampleScene");
//奖励 Delegate 登录
IgaworksCorePluginIOS.onRewardRequestResult += HandleOnRewardRequestResult;
IgaworksCorePluginIOS.onRewardCompleteResult += HandleOnRewardCompleteResult;
}
public void HandleOnRewardRequestResult(string rewardInfo) {
//传达该支付奖励的信息。
}
public void HandleOnRewardCompleteResult(string result) {
//传达最终处理结果。
}
}
奖励信息查询及奖励支付处理
通过 HandleOnRewardRequestResult Delegate,传达 IGAW 奖励服务器里还未处理的奖励信息。
String 方式传达奖励信息,Parsing 方式处理结果。
- isSuccess : 奖励信息申请结果
- message : 奖励信息申请结果 Message
- itemName : 要支付的奖励名称
- itemKey : 要支付的奖励识别价 (deprecated)
- campaignName : 用户参与完成的活动名称
- campaignKey : 用户参与完成的活动识别价
- rewardKey : 完成 Transaction 识别价
- quantity : 向用户支付的虚拟货币量
为了向 IGAW 奖励服务器传达该事实,需调用 rewardKey 的 DidGiveRewardItemWithRewardKey API。
public void HandleOnRewardRequestResult(string rewardInfo) {
// rewardInfo : isSuccess=1&message=Success&itemName=1Point&itemKey=(null)&campaignName=REGISTRATION TYPE CAMPAIGN for TEST&campaignKey=1296784231&rewardKey=RzBVMIkF-15x5Y5qpU4vawj-33gdK3LKoaRx7p15NmjjdgnCc9uKlFSRjZypYzTLlrRe2BHByfM4x0AlP6X2n0vth4EYV-kUZ&quantity=1
// 传送 rewardKey
AdPopcornOfferwallPluginIOS.DidGiveRewardItemWithRewardKey($rewardKey);
}
奖励处理结果确认
通过 HandleOnRewardCompleteResult Delegate 传达 DidGiveRewardItemWithRewardKey API 的处理结果。
确认处理结果,处理支付奖励等的内容。
- isSuccess : 奖励信息结果
- message : 奖励处理信息结果
- resultCode : 奖励结果代码 (参考如下应答码)
- completedRewardKey : 完成支付的 rewardKey
public void HandleOnRewardCompleteResult(string result) {
// 传送 AdPopcornOfferwallPluginIOS.DidGiveRewardItemWithRewardKey 的处理结果。
// result : isSuccess=1&message=Success&resultCode=1&completedRewardKey=RzBVMIkF-15x5Y5qpU4vawj-33gdK3LKoaRx7p15NmjjdgnCc9uKlFSRjZypYzTLlrRe2BHByfM4x0AlP6X2n0vth4EYV-kUZ
// DidGiveRewardItemWithRewardKey API 传送的 rewardKey 处理结果为"成功"时,才能向用户支付奖励。
}
应答代码
如下通过 Delegate 传送的应答代码。
代码 | 说明 |
1 | 成功 |
100 | 完成过程中,出现失误 |
200 | 无知道的失误 (Exception) |
1400 | AppKey 错误 |
1410 | 设置错误奖励服务器形态 |
3000 | HashKey 错误 |
集成测试
adPOPcorn 管理页面 [积分墙管理 > 验收和优化 > 设置测试设备] 菜单中,添加测试设备,参与并完成测试广告后,如果正常接收到奖励的话,那么集成成功。