奖励礼品


开发者需要从KTplay开发网站发送礼品和奖励指令,玩家在SDK中触发领奖操作时,KTplay SDK会把相应的数据回调给游戏,游戏开发者需要在回调函数中处理相应的游戏逻辑。

处理奖励

  • 1、单机游戏:
    • 接到回调后,你需要在游戏中实现自己的奖励发放,items字段中包含了所有奖励内容。
  • 2、网游:
    • 接到回调后,你需要将messageId,ktUserId,gameUserId等信息通知给你的游戏服务器,游戏服务器会连接KTplay的服务端OpenAPI进行验

KTPlay.setOnDispatchRewardsListener(new OnDispatchRewardsListener() {
    @Override
    public void onDispatchRewards(Reward reward) {
             //发送奖励事件到游戏服务器,并由游戏服务器发奖
            Game.reportRewardEvent(reward.messageId,
                                        reward.gameUserId,
                                        reward.ktUserId);
            //向游戏发放奖励  
        for(KTRewardItem item : reward.items){
             Game.applyReward(item);     
        }
    }
});


 KTDidDispatchRewardsBlock rewardBlock = (KTReward * reward){
     //发送奖励事件到游戏服务器,并由游戏服务器发奖
    [Game reportRewardEvent:reward.messageId 
                     gameUserId:reward.gameUserId 
                        ktUserId:reward.ktUserId];
                        
    //或者直接给游戏增加奖励                       
    for (KTRewardItem *item in reward.items) {
         [Game applyReward:item];   
        }
    }

[KTPlay setDidDispatchRewardsBlock: rewardBlock]

void dispatchRewards (KTRewardC * reward){
     //发送奖励事件到游戏服务器,并由游戏服务器发奖
    Game::reportRewardEvent(reward->messageId,
                                    reward->gameUserId,
                                    reward->ktUserId);

    //或者直接给游戏增加奖励
    for ( int i = 0; i < reward->length; i ++) {
            KTRewardItemC *item = &reward->items[i];
            Game::applyReward(item);
    }
}

KTPlayC::setDidDispatchRewardsCallback( dispatchRewards );

KTPlay.SetDidDispatchRewardsDelegate ((KTReward * reward) => {
   //发送奖励事件到游戏服务器,并由游戏服务器发奖
    Game.reportRewardEvent(reward.messageId,
                                    reward.gameUserId,
                                    reward.ktUserId);
    //或者直接给游戏增加奖励
    for (int i = 0; i < reward.items.Count; i++) {
        KTPlayRewardsItem item = (KTPlayRewardsItem)reward.item[i];
         Game.applyReward(item);   
    }
});
还有其它问题?提交请求

0 评论

登录写评论。