コンテンツにスキップ

プロモーションバッジ

プロモーションバッジは、新しいプロモーションが登録されたことを通知するために、ゲーム内のボタンやアイコンに追加されるインジケーターです。

プロモーションバッジは何をしますか?

プロモーションバッジは、新しいプロモーションが登録されて公開されたときにユーザーに通知する機能であり、その情報をゲームクライアントに届けることによって実現されます。これは、インタースティシャルバナー、カスタムビュー、カスタムボード、通知アイコンなどのプロモーション機能に適用できます。

プロモーションバッジ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

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