インタースティシャルバナーの表示
Hive SDKは、インタースティシャルバナーを提供します
- ゲームユーザーにイベントを効果的に公開する
- ユーザーにゲームへの参加を促す
- 他のゲームを宣伝し、報酬を与えるためのクロスプロモーションとして活用する
Hive で定義されたバナーは、文字のない単一の画像で構成されたプロモーションビューを意味します。ユーザーがバナーをクリックすると、Hive コンソールに設定された内容に応じて、詳細ページ、外部ページ、または広告されているゲームのダウンロードページにユーザーを移動させます。ログイン後にゲームロビーに入るときに、バナー画像を全画面で表示するインタースティシャルバナーを表示することをお勧めします。
Hive コンソールでインタースティシャルバナーを登録する¶
バナー画像を横向きおよび縦向きモードに従ってデザインし、Hive コンソールに登録してください。バナー登録に関する詳細は、Hive コンソールプロモーションガイドを参照してください。
- プロモーションバナー画像サイズ - 横向きモード: 1080x720 px
- 縦向きモード: 720x1080 px
 
- PC環境で高解像度のバナーを表示したい場合は、2160x1440 pxの画像をアップロードしてください。
インタースティシャルバナーの表示¶
- インタースティシャルバナーの例
インタースティシャルバナーを表示するには、PromotionクラスのshowPromotion()メソッドをPromotionType.BANNERパラメータで呼び出します。Hive SDK v4.12.1以降、PromotionType.BANNERはウェブタイプのバナーを表示し、他のパラメータは画像ビュータイプのバナーを表示します。PromotionType.BANNERLEGACYを呼び出すと、ウェブビュータイプのバナーが従来通り表示されます。
PromotionType.BANNERタイプのフルバナーを表示する際、Hive SDKの初期化プロセス中にアプリのローカルストレージに非同期で保存された画像が表示されます。キャッシュされた画像がない場合、画像はすぐにダウンロードされて表示されます。
Hive SDK v4 24.2.0 から、インタースティシャルバナーの下部にある「今日表示しない」機能が「n日間表示しない」に変更されます。 Hive コンソールにインタースティシャルバナーを登録する際、表示しない期間を1日から7日まで設定できます。表示しない基準は、日付が変わる際の該当地域の現地時間の真夜中です。詳細については、Hive コンソールのプロモーションガイドを参照してください。
以下は、インタースティシャルバナーを表示するためのサンプルコードです。
APIリファレンス: hive.Promotion.showPromotion
using hive;    
    PromotionType promotionViewType = PromotionType.BANNER;    
    // 真の場合、「今日は再度視聴しない」ボタンは表示されません。ユーザーがすでに今日再度表示しないように設定していても、それは無視され、インタースティシャルバナーが表示されます。    
    Boolean isForced = false;    
    // インタースティシャルバナーを表示    
    Promotion.showPromotion(promotionViewType, isForced, (ResultAPI result, PromotionEventType viewEventType) => {    
         if (result.isSuccess()) {    
             // 成功を呼び出す    
         }    
});
#include "HivePromotion.h"
EHivePromotionType PromotionType = EHivePromotionType::BANNER;
 // 真の場合、「今日は再度視聴しない」ボタンは表示されません。ユーザーがすでに今日は再度視聴しないと設定していても、それは無視され、インタースティシャルバナーが表示されます。
bool bIsForced = false;
FHivePromotion::ShowPromotion(PromotionType, bIsForced, FHivePromotionViewDelegate::CreateLambda([this](const FHiveResultAPI& Result, const EHivePromotionEventType& PromotionEventType) {
        if (Result.IsSuccess()) {
                // API call success
        }
}));
APIリファレンス: Promotion::showPromotion
#include <HIVE_SDK_Plugin/HIVE_CPP.h>    
    using namespace std;    
    using namespace hive;    
    PromotionType promotionViewType = PromotionType::BANNER;    
    // 真の場合、「今日は再度視聴しない」ボタンは表示されません。ユーザーがすでに今日再度視聴しないように設定していても、それは無視され、インタースティシャルバナーが表示されます。    
    bool isForced = false;    
    Promotion::showPromotion(promotionViewType, isForced, [=](ResultAPI result, PromotionEventType viewEventType) {    
        if (result.isSuccess()) {    
            // call successful    
         }    
});
APIリファレンス: Promotion.showPromotion
import com.hive.Promotion    
    import com.hive.ResultAPI    
    val promotionViewType = Promotion.PromotionViewType.BANNER    
    // trueの場合、「今日はもう見ない」ボタンは表示されません。ユーザーがすでに今日見ないように設定していても、それは無視され、インタースティシャルバナーが表示されます。    
    val isForced = false    
    Promotion.showPromotion(promotionViewType, isForced, object : Promotion.PromotionViewListener {    
         override fun onPromotionView(result: ResultAPI, promotionEventType: Promotion.PromotionViewResultType) {    
             if (result.isSuccess) {    
                 // 成功した呼び出し    
             }    
         }    
})
APIリファレンス: com.hive.Promotion.showPromotion
import com.hive.Promotion;    
    import com.hive.ResultAPI;    
    Promotion.PromotionViewType promotionViewType = Promotion.PromotionViewType.BANNER;    
    // trueの場合、「今日は再度視聴しない」ボタンは表示されません。ユーザーがすでに今日再度視聴しないように設定していても、それは無視され、インタースティシャルバナーが表示されます。    
    boolean isForced = false;    
    Promotion.INSTANCE.showPromotion(promotionViewType, isForced, (result, promotionEventType) -> {    
         if (result.isSuccess()) {    
             // 成功した場合の呼び出し    
         }    
});
APIリファレンス: PromotionInterface.showPromotion
import HIVEService    
    let promotion: PromotionViewType = .banner    
    // もしtrueであれば、「今日は再度視聴しない」ボタンは表示されません。ユーザーがすでに今日再度見ないように設定していても、それは無視され、インタースティシャルバナーが表示されます。    
    let isForced = false    
    PromotionInterface.showPromotion(promotionViewType, isForced: isForced) { result, viewResultType in    
    if result.isSuccess() {    
    // 成功した場合の呼び出し    
    }    
}
APIリファレンス: HIVEPromotion::showPromotion
#import <HIVEService/HIVEService-Swift.h>    
    HIVEPromotionViewType promotionViewType = HIVEPromotionViewTypeBANNER;    
    // 真の場合、「今日は再度視聴しない」ボタンは表示されません。ユーザーがすでに今日再度表示しないように設定していても、それは無視され、インタースティシャルバナーが表示されます。    
    BOOL isForced = NO;    
    [HIVEPromotion showPromotion: promotionViewType isForced: isForced handler: ^(HIVEResultAPI *result, HIVEPromotionViewResultType viewResultType) {    
         if ([result isSuccess]) {    
              // call successful    
         }    
}];
クロスプロモーションのためのインタースティシャルバナー¶
showPromotion()メソッドを呼び出すと、以前に登録されたすべてのインタースティシャルバナーが表示されました。Hive SDK v4 24.2.0以降、クロスプロモーションインタースティシャルバナーを表示するかどうかを選択できます。
Configuration.setCrossPromotionBannerShowing(false)をshowPromotion()メソッドを呼び出す前に呼び出すと、アプリが起動したときにクロスプロモーションのインタースティシャルバナーは表示されません。trueで呼び出すと、バナーが表示されます。このメソッドはアプリがアクティブな限り影響を与え続けるため、Hive SDKが初期化された後、showPromotion()メソッドが呼び出される前に一度だけ呼び出す必要があります。アプリがアクティブな間に、このメソッドを異なる値(trueまたはfalse)で再度呼び出すことで、バナーの表示状態を変更できます。
#include <HIVE_SDK_Plugin/HIVE_CPP.h>
using namespace std;
using namespace hive;
// クロスプロモーションのインタースティシャルバナーを表示しないように設定する (false)
Configuration::setCrossPromotionBannerShowing(false);
// クロスプロモーションインタースティシャルバナーの表示状態を返す
bool crossPromotionBannerShowing = Configuration::getCrossPromotionBannerShowing();
#import <HIVEService/HIVEService-Swift.h>
// クロスプロモーションのインタースティシャルバナーを表示しないように設定する (false)
[HIVEConfiguration setCrossPromotionBannerShowing:false];
// クロスプロモーションインタースティシャルバナーの表示状態を返す
BOOL crossPromotionBannerShowing = [HIVEConfiguration getCrossPromotionBannerShowing];
#import <HIVEService/HIVEService-Swift.h>
// クロスプロモーションのインタースティシャルバナーを表示しないように設定する (false)
[HIVEConfiguration setCrossPromotionBannerShowing:false];
// クロスプロモーションインタースティシャルバナーの表示状況を返す
BOOL crossPromotionBannerShowing = [HIVEConfiguration getCrossPromotionBannerShowing];
