跳轉至

促销徽章

促銷徽章是添加到遊戲內按鈕或圖標上的指示器,用於通知已註冊的新促銷活動。

促銷徽章的作用是什麼?

促銷徽章是一項功能,通過將新促銷註冊和公開的資訊傳遞給遊戲客戶端,來通知用戶。它可以應用於促銷功能,如插頁式橫幅、自定義視圖、自定義面板和通知圖標。

實現推廣徽章 UI

Hive SDK 會在促銷項目為新時發送 "badge ON",而在促銷項目不是新時發送 "badge OFF" 到遊戲客戶端。徽章的曝光必須在遊戲端使用這個 ON/OFF 信息來實現。  

促銷徽章的示例畫面  

徽章數據格式

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    
       }    
}];