プロモーションバッジ
プロモーションバッジは、新しいプロモーションが登録されたことを通知するために、ゲーム内のボタンやアイコンに追加されるインジケーターです。
プロモーションバッジは何をしますか?¶
プロモーションバッジは、新しいプロモーションが登録されて公開されたときにユーザーに通知する機能であり、その情報をゲームクライアントに届けることによって実現されます。これは、インタースティシャルバナー、カスタムビュー、カスタムボード、通知アイコンなどのプロモーション機能に適用できます。
プロモーションバッジUIの実装¶
Hive SDKは、プロモーションアイテムが新しい場合は「バッジON」を、そうでない場合は「バッジ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
#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
APIリファレンス: PromotionInterface.getBadgeInfo
APIリファレンス: HIVEPromotion:getBadgeInfo
