デリゲートメソッド — Unity

最終更新:

Chartboost SDKのデリゲートメソッドを使えば、統合されたシステムをより大きな範囲で制御できるようになります。お客様の広告の目的に合わせてご活用ください。


目次


概要

Chartboost SDKのデリゲートメソッドや構成メソッドを使えば、統合されたシステムをより大きな範囲で制御できるようになります。例えば、次のようなことができます。

  • ゲームがインタースティシャル広告を読み込もうとするときに、デバッグ メッセージをログに記録する
  • ユーザーがゲームを初めてプレイするときには、広告を表示しないようにする
  • ユーザーが広告をクリックしたか、または単に閉じたかを判断し、それに応じた動作を行う
  • ゲームの邪魔をするタイミングや場所では、インタースティシャル広告またはMoreAppsページが表示されないようにする

Chartboost Unity SDKメソッドはChartboost.csファイル内にあり(インポート済みのUnityプラグインファイル(Chartboost > Scripts > Chartboost.cs)、いつでも好きな時に見ることができます。主なメソッドの実装例は、ダウンロード済みSDKのサンプルシーン内のChartboostExample.csファイル(Chartboost > Examples > ChartboostExample.cs)にあります。


SDK構成メソッド

Chartboost SDK機能と設定へのアクセスを許可するメソッドです。

// 指定したCBLocationでキャッシュされたインタースティシャル広告を確認する。
public static bool hasInterstitial(CBLocation location)

// 指定したCBLocationでキャッシュされたMoreAppsページを確認する。
public static bool hasMoreApps(CBLocation location) 

// 指定したCBLocationでキャッシュされたリワードビデオを確認する。
public static bool hasRewardedVideo(CBLocation location)

// 何らかのビューが可視化されているか確認する。
public static bool isAnyViewVisible()

// オートキャッシュ機能を有効/無効にする(デフォルトでは有効)には、これを設定する。*
public static void setAutoCacheAds(bool autoCacheAds)

// 現在のオートキャッシュ動作(デフォルトでは有効)を取得する。*
public static bool getAutoCacheAds()

// すべてのChartboost APIサーバーリクエストのPOSTボディに含めて送信するカスタム識別子を設定する。
public static void setCustomId(String customId)

// すべてのChartboost APIサーバーリクエストのPOSTボディに含まれる、現在送信されているカスタム識別子を取得する。
public static String getCustomId()

// Chartboost SDKが初回セッションでインタースティシャル広告を表示するかどうかを決定する。
public static void setShouldRequestInterstitialsInFirstSession(bool shouldRequest)

//  Chartboost SDKがMoreApps UI表示準備中に読み込み画面を表示するかどうかを決定する。
public static void setShouldDisplayLoadingViewForMoreApps(bool shouldDisplay)

// Chartboost SDKがChartboost APIサーバーからビデオデータ取得を試みるかどうかを決定する。
public static void setShouldPrefetchVideoContent(bool shouldPrefetch)

// 全画面広告ユニットがステータスバーとのやりとりを制御するための設定を行う。(デフォルトではCBStatusBarBehaviorIgnore)
// iOSのみ
public static void setStatusBarBehavior(CBStatusBarBehavior statusBarBehavior)

* 自動キャッシュやその他、通常の広告キャッシュについてはこちらをご覧ください。


SDKデリゲートの設定

Chartboost Unity SDKのデリゲート機能には、C#のデリゲートとイベントを使います。デリゲートメソッドを使う前に、関連するSDKイベントをMonoBehaviourに登録する必要があります(以下参照)。

void OnEnable() {
// すべてのインプレッション関連イベントをリッスンする。
 Chartboost.didFailToLoadInterstitial += didFailToLoadInterstitial;
 Chartboost.didDismissInterstitial += didDismissInterstitial;
 Chartboost.didCloseInterstitial += didCloseInterstitial;
 Chartboost.didClickInterstitial += didClickInterstitial;
 Chartboost.didCacheInterstitial += didCacheInterstitial;
 Chartboost.shouldDisplayInterstitial += shouldDisplayInterstitial;
 Chartboost.didDisplayInterstitial += didDisplayInterstitial;
 Chartboost.didFailToLoadMoreApps += didFailToLoadMoreApps;
 Chartboost.didDismissMoreApps += didDismissMoreApps;
 Chartboost.didCloseMoreApps += didCloseMoreApps;
 Chartboost.didClickMoreApps += didClickMoreApps;
 Chartboost.didCacheMoreApps += didCacheMoreApps;
 Chartboost.shouldDisplayMoreApps += shouldDisplayMoreApps;
 Chartboost.didDisplayMoreApps += didDisplayMoreApps;
 Chartboost.didFailToRecordClick += didFailToRecordClick;
 Chartboost.didFailToLoadRewardedVideo += didFailToLoadRewardedVideo;
 Chartboost.didDismissRewardedVideo += didDismissRewardedVideo;
 Chartboost.didCloseRewardedVideo += didCloseRewardedVideo;
 Chartboost.didClickRewardedVideo += didClickRewardedVideo;
 Chartboost.didCacheRewardedVideo += didCacheRewardedVideo;
 Chartboost.shouldDisplayRewardedVideo += shouldDisplayRewardedVideo;
 Chartboost.didCompleteRewardedVideo += didCompleteRewardedVideo;
 Chartboost.didDisplayRewardedVideo += didDisplayRewardedVideo;
 Chartboost.didCacheInPlay += didCacheInPlay;
 Chartboost.didFailToLoadInPlay += didFailToLoadInPlay;
 Chartboost.didPauseClickForConfirmation += didPauseClickForConfirmation;
 Chartboost.willDisplayVideo += willDisplayVideo;
 #if UNITY_IPHONE
 Chartboost.didCompleteAppStoreSheetFlow += didCompleteAppStoreSheetFlow;
 #endif
}

これらのイベントは、適宜登録解除してください。

void OnDisable() {
// イベント ハンドラーを削除する。
 Chartboost.didFailToLoadInterstitial -= didFailToLoadInterstitial;
 Chartboost.didDismissInterstitial -= didDismissInterstitial;
 Chartboost.didCloseInterstitial -= didCloseInterstitial;
 Chartboost.didClickInterstitial -= didClickInterstitial;
 Chartboost.didCacheInterstitial -= didCacheInterstitial;
 Chartboost.shouldDisplayInterstitial -= shouldDisplayInterstitial;
 Chartboost.didDisplayInterstitial -= didDisplayInterstitial;
 Chartboost.didFailToLoadMoreApps -= didFailToLoadMoreApps;
 Chartboost.didDismissMoreApps -= didDismissMoreApps;
 Chartboost.didCloseMoreApps -= didCloseMoreApps;
 Chartboost.didClickMoreApps -= didClickMoreApps;
 Chartboost.didCacheMoreApps -= didCacheMoreApps;
 Chartboost.shouldDisplayMoreApps -= shouldDisplayMoreApps;
 Chartboost.didDisplayMoreApps -= didDisplayMoreApps;
 Chartboost.didFailToRecordClick -= didFailToRecordClick;
 Chartboost.didFailToLoadRewardedVideo -= didFailToLoadRewardedVideo;
 Chartboost.didDismissRewardedVideo -= didDismissRewardedVideo;
 Chartboost.didCloseRewardedVideo -= didCloseRewardedVideo;
 Chartboost.didClickRewardedVideo -= didClickRewardedVideo;
 Chartboost.didCacheRewardedVideo -= didCacheRewardedVideo;
 Chartboost.shouldDisplayRewardedVideo -= shouldDisplayRewardedVideo;
 Chartboost.didCompleteRewardedVideo -= didCompleteRewardedVideo;
 Chartboost.didDisplayRewardedVideo -= didDisplayRewardedVideo;
 Chartboost.didCacheInPlay -= didCacheInPlay;
 Chartboost.didFailToLoadInPlay -= didFailToLoadInPlay;
 Chartboost.didPauseClickForConfirmation -= didPauseClickForConfirmation;
 Chartboost.willDisplayVideo -= willDisplayVideo;
 #if UNITY_IPHONE
 Chartboost.didCompleteAppStoreSheetFlow -= didCompleteAppStoreSheetFlow;
 #endif
}

上記のすべてのイベントを登録しても、必要なイベントのみ登録してもどちらでも構いません。登録したら、イベントに応答するための関連するデリゲートメソッドを実装します。


スタティック/ビデオ・インタースティシャル広告のデリゲートメソッド

// インタースティシャル広告が画面に表示される前に呼び出される。
bool shouldDisplayInterstitial(CBLocation location)

// インタースティシャル広告が画面に表示された後に呼び出される。
void didDisplayInterstitial(CBLocation location)

// Chartboost APIサーバーからインタースティシャル広告が読み込まれ、
// ローカルにキャッシュされた後に呼び出される。
void didCacheInterstitial(CBLocation location)

// Chartboost APIサーバーからインタースティシャル広告読み込みが試行され、
// 失敗した後に呼び出される。
void didFailToLoadInterstitial(CBLocation location, CBImpressionError error)

// インタースティシャル広告が破棄された後に呼び出される。
void didDismissInterstitial(CBLocation location)

// インタースティシャル広告が閉じられた後に呼び出される。
void didCloseInterstitial(CBLocation location)

// インタースティシャル広告がクリックされた後に呼び出される。
didClickInterstitial(CBLocation location)

MoreAppsのデリゲートメソッド

// MoreAppsページが画面に表示される前に呼び出される。
bool shouldDisplayMoreApps(CBLocation location)

// MoreAppsページが画面に表示された後に呼び出される。
void didDisplayMoreApps(CBLocation location)

// Chartboost APIサーバーからMoreAppsページが読み込まれ、
// ローカルにキャッシュされた後に呼び出される。
void didCacheMoreApps(CBLocation location)

// MoreAppsページが破棄された後に呼び出される。
void didDismissMoreApps(CBLocation location)

// MoreAppsページが閉じられた後に呼び出される。
void didCloseMoreApps(CBLocation location)

// MoreAppsページがクリックされた後に呼び出される。
void didClickMoreApps(CBLocation location)

// Chartboost APIサーバーからMoreAppsページ読み込みが試行され、
// 失敗した後に呼び出される。
void didFailToLoadMoreApps(CBLocation location, CBImpressionError error)

リワードビデオのデリゲートメソッド

(Chartboostビデオの詳細は、こちらをご覧ください。)

// リワードビデオが画面に表示される前に呼び出される。
bool shouldDisplayRewardedVideo(CBLocation location)

// リワードビデオが画面に表示された後に呼び出される。
void didDisplayRewardedVideo(CBLocation location)

// Chartboost APIサーバーからリワードビデオが読み込まれ、
// ローカルにキャッシュされた後に呼び出される。
void didCacheRewardedVideo(CBLocation location)

// Chartboost APIサーバーからリワードビデオ読み込みが試行され、
// 失敗した後に呼び出される。
void didFailToLoadRewardedVideo(CBLocation location, CBImpressionError error)

// リワードビデオが破棄された後に呼び出される。
void didDismissRewardedVideo(CBLocation location)

// リワードビデオが閉じられた後に呼び出される。
void didCloseRewardedVideo(CBLocation location)

// リワードビデオがクリックされた後に呼び出される。
void didClickRewardedVideo(CBLocation location)

// ユーザーがリワードビデオの視聴を完了し、リワードを獲得できるようになると呼び出される。
void didCompleteRewardedVideo(CBLocation location, int reward)

// 指定したCBLocationでビデオが画面に表示される旨を通知されるようにするには、 
// これを実装する。エフェクトやサウンドを消音にすることもできる。
void willDisplayVideo(CBLocation location)

その他のデリゲートメソッド

// 埋め込みアプリシート表示中にApp Storeシートが破棄されると呼び出される。
// iOSのみ
void didCompleteAppStoreSheetFlow()

// クリックが登録されると呼び出されるが、ユーザーはApp Storeには転送されない。
void didFailToRecordClick(CBLocation location, CBImpressionError error)

// SDKが正常に初期化され、ビデオの事前取得が完了した後に呼び出される。
void didInitialize(bool status)

ネイティブ広告のデリゲートメソッド

// Chartboost APIサーバーからネイティブ広告が読み込まれ、
// ローカルにキャッシュされた後に呼び出される。
void didCacheInPlay(CBLocation location)

// Chartboost APIサーバーからネイティブ広告読み込みが試行され、
// 失敗した後に呼び出される。
void didFailToLoadInPlay(CBLocation location, CBImpressionError error)

年齢確認デリゲートメソッド

// 年齢確認の結果により、ブロックするかどうかを決定する。
public static void setShouldPauseClickForConfirmation(bool shouldPause)

// ユーザーの年齢確認待機のためにChartboost SDKがクリック アクションを一時停止させる場合に呼び出される。年齢確認を導入する場合は
// 実装する
void didPauseClickForConfirmation()

// 年齢確認が成功したかどうかを確認する。設定すると、Chartboostはこの呼び出しの後に 
// iOS App Storeを表示するようになる。
public static void didPassAgeGate(bool pass)