로딩중입니다
客户端奖励集成:iOS
9/11/2015 2:17:59 PM

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

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



奖励服务器集成方式设置

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

找到在 AppDelegate.m 的 application: didFinishLaunchingWithOptions: 调用的 IgaworksCore 初始化 API,将 useIgaworksRewardServer 的 Parameter 设置为 YES

#import "AppDelegate.h"
#import <IgaworksCore/IgaworksCore.h>
 
@implementation AppDelegate
 
-(BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{	
	[IgaworksCore igaworksCoreWithAppKey:@"YOUR_APP_KEY" andHashKey:@"YOUR_HASH_KEY"];
	[IgaworksCore shared].useIgaworksRewardServer = YES;
	[IgaworksCore shared].clientRewardDelegate = self;
	return YES;
}

+ (*)奖励服务器集成方式 : 集成奖励支付所需服务时,需要的选项。请使用 useIgaworksRewardServer Parameter 进行设置。

  • NO : 使用自己的 Callback 服务器
  • YES : 使用 IGAWorks 的奖励服务器



奖励 Delegate 登录和实现

为了接收从 IGAW 奖励服务器传达的奖励信息,请登录 Delegate 并实现。


Import IgaworksAD.h,在 interface 中登录 IgaworksADClientRewardDelegate

#import <IgaworksCore/IgaworksCore.h>
#import <AdPopcornOfferwall/AdPopcornOfferwall.h>
#import <AdPopcornOfferwall/RewardInfo.h>
 
@interface ViewController() <IgaworksADClientRewardDelegate>
@end
 
@implementation AppDelegate
@end 

+ RewardInfo.h 是接收和处理 NSArray 方式的奖励信息所需的 header。 


奖励信息查询和奖励支付处理

通过 onRewardRequestResult: withMessage: items:  传达 IGAW 奖励服务器中未处理的奖励信息。

奖励信息是通过定义模型形式的 (NSArray *)items Parameter 传达给 RewardInfo.h。NSArray 包含的信息如下。

  1. items[i].campaignKey : 用户完成参与的活动 Key
  2. items[i].campaignName : 用户完成参与的活动名称
  3. items[i].RTID : 完成活动的 ID
  4. items[i].quantity : 支付给用户的虚拟货币数量

为了向 IGAW 奖励服务器传达该事实,需调用 AdPopcornOfferwall.h 的 didGiveRewardItemWithRewardKey API。

-(void)onRewardRequestResult:(BOOL)isSuccess withMessage:(NSString *)message items:(NSArray *)items{
    
    for (RewardInfo *item in items) {
	    
        NSString *campaignKey = item.campaignKey;
        NSString *campaignName = item.campaignName;
        NSString *rewardKey = item.RTID;
        NSUInteger quantity = item.quantity;
        		
	//传送 items Parameter 包含的 RTID。 
	[AdPopcornOfferwall didGiveRewardItemWithRewardKey:item.RTID];
    }    
}


奖励处理结果确认

通过 onRewardCompleteResult: withMessage: resultCode: withCompletedRewardKey: Delegate 传达 didGiveRewardItemWithRewardKey API 的处理结果。

确认传送结果,处理支付奖励等的内容。

  • isSuccess : 奖励信息结果
  • message : 奖励处理信息结果
  • resultCode : 奖励结果代码 (参考如下应答码)
  • completedRewardKey : 完成支付的 RTID


- (void)onRewardCompleteResult:(BOOL)isSuccess withMessage:(NSString *)message resultCode:(NSUInteger)resultCode withCompletedRewardKey:(NSString *)completedRewardKey {
  // didGiveRewardItemWithRewardKey API 传送的 RTID 处理结果为"成功"时,才能向用户支付奖励。
}



应答代码

如下通过 Delegate 传送的应答代码。

代码说明
1成功
100完成过程中,出现失误
200无知道的失误 (Exception)
1400AppKey 错误
1410设置错误奖励服务器形态
3000HashKey 错误



集成测试

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