跳转至

促销徽章

促销徽章是添加到游戏内按钮或图标上的指示器,用于通知已注册的新促销。

促销徽章有什么作用?

推广徽章是一项功能,当新的促销被注册并公开时,它会通过将该信息传递给游戏客户端来通知用户。它可以应用于促销功能,如插页横幅、自定义视图、自定义板和通知图标。

实现推广徽章用户界面

Hive SDK 在促销物品为新时发送“徽章开启”,如果不是新物品则发送“徽章关闭”到游戏客户端。徽章的曝光必须在游戏端使用此开启/关闭信息实现。  

推广徽章的示例屏幕  

徽章数据格式

Hive SDK 返回 PromotionBadgeInfo 对象,该对象仅作为数组持有促销视图的信息。如果没有目标促销视图需要显示徽章,则返回一个空数组。下表描述了 Hive SDK 返回的 PromotionBadgeInfo 对象的组成。

字段 类型 描述
target 枚举 要显示徽章的目标推广视图 PromotionBadgeTarget.NEWS: 新闻页面 PromotionBadgeTarget.NOTICE: 通知列表 PromotionBadgeTarget.CUSTOMVIEW: 自定义视图 PromotionBadgeTarget.CUSTOMBOARD: 自定义面板
contentsKey 字符串 当徽章的推广视图是自定义网页视图或自定义面板时,在 Hive 控制台中注册的标识符。如果推广视图是新闻或通知列表,则返回 null
badgeType 字符串 要显示的徽章类型 * "new": 默认值。可用于在游戏端实现的形式中显示徽章。

搜索徽章数据

要搜索徽章数据,请调用Promotion类的getBadgeInfo()方法。您可以通过作为函数参数传递的回调函数接收数据。 以下是搜索徽章数据的示例代码。

API 参考: hive.Promotion.getBadgeInfo

using hive;    
    Promotion.getBadgeInfo((ResultAPI result, List<PromotionBadgeInfo> badgeInfoList) => {    
       if (!result.isSuccess()) {    
          return;    
       }    

       // 调用成功    
       foreach(PromotionBadgeInfo badgeInfo in badgeInfoList) {    
          //TODO:    
          // 显示徽章    
       }    
});
#include "HivePromotion.h"

FHivePromotion::GetBadgeInfo(FHivePromotionOnBadgeInfoDelegate::CreateLambda([this](const FHiveResultAPI& Result, const TArray<FHivePromotionBadgeInfo>& PromotionBadgeInfoList) {
        if (!Result.IsSuccess()) {
                return;
        }

        for (const auto& PromotionBadgeInfo : PromotionBadgeInfoList) {
                // TODO: 显示徽章
        }
}));

API 参考: Promotion::getBadgeInfo

#include <HIVE_SDK_Plugin/HIVE_CPP.h>    
    using namespace std;    
    using namespace hive;    
    Promotion::getBadgeInfo([=](ResultAPI result, vector<PromotionBadgeInfo> badgeInfoList) {    
        if (!result.isSuccess()) {    
          return;    
       }    
       // call successful    
       for_each(badgeInfoList.begin(), badgeInfoList.end(), [=](PromotionBadgeInfo badgeInfo) {    
          //TODO:    
          // Display the badge    
       }    
});

API 参考: Promotion.getBadgeInfo

import com.hive.Promotion    
    import com.hive.ResultAPI    
    Promotion.getBadgeInfo(object : Promotion.PromotionBadgeInfoListener {    
         override fun onReceiveInfo(result: ResultAPI, badgeInfoList: ArrayList<Promotion.PromotionBadge>?) {    
             if (!result.isSuccess) {    
                 return    
             }    
             badgeInfoList?.forEach {    
                 //TODO:    
                 // Display the badge    
             }    
         }    
})

API 参考: Promotion.INSTANCE.getBadgeInfo

import com.hive.Promotion;    
    import com.hive.ResultAPI;    
    Promotion.INSTANCE.getBadgeInfo((result, badgeInfoList) -> {    
         if (!result.isSuccess()) {    
             return;    
         }    
         // call successful    
         for (Promotion.PromotionBadge badgeInfo : badgeInfoList){    
             //TODO:    
             // Display the badge    
         }    
});

API 参考: PromotionInterface.getBadgeInfo

import HIVEService    
    PromotionInterface.getBadgeInfo() { result, badgeInfoList in    
       if !result.isSuccess() {    
       return    
       }    
       // call successful    
       for (badgeInfo in badgeInfoList) {    
          //TODO:    
          // Display the badge    
       }    
}

API 参考: HIVEPromotion:getBadgeInfo

#import <HIVEService/HIVEService-Swift.h>    
    [HIVEPromotion getBadgeInfo: ^(HIVEResultAPI *result, NSArray<HIVEPromotionBadge *> *badgeInfoList) {    
         if (![result isSuccess]) {    
          return;    
       }    
       // call successful    
       for (HIVEPromotionBadge *badgeInfo in badgeInfoList) {    
          //TODO:    
          // Display the badge    
       }    
}];