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