로딩중입니다
客户端奖励集成 : Unity Android
10/23/2015 3:04:02 PM

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 奖励服务器中未处理的奖励信息。 

  1. campaignkey : 用户完成参与的活动的 Campaign Key
  2. campaignname : 用户完成参与的 Campaign 名称
  3. quantity : 支付给用户的虚拟货币数量
  4. cv : 奖励支付处理完成信息传达 IGAW 服务器的 API
  5. 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 管理页面 [积分墙管理 > 验收和优化 > 设置测试设备] 菜单上,添加测试设备,参与并完成测试广告后,如果正常接收到奖励的话,那么集成成功。