로딩중입니다
客户端奖励集成 : Unity iOS
9/1/2015 3:44:16 PM

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)
1400AppKey 错误
1410设置错误奖励服务器形态
3000HashKey 错误



集成测试

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