デリゲートメソッド — iOS

最終更新:

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


目次


概要

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

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

Chartboost iOS SDKメソッドはChartboostフレームワークの Chartboost.h ヘッダーファイル内にあり、いつでも好きな時に見ることができます。主なメソッドの実装例は、ダウンロードしたSDKのサンプルプロジェクトに入っています。


SDK構成メソッド

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

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

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

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

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

// オートキャッシュ機能を有効/無効にする(デフォルトでは有効)には、これを設定する。*
+ (void)setAutoCacheAds:(BOOL)shouldCache;

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

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

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

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

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

// パフォーマンスを向上させるため、ビデオのクリエイティブを事前にSDKにダウンロードするかどうかを制御する。デフォルトでは有効。無効になっているとSDKのビデオ広告配信能力が著しく低下します!
+ (void)setShouldPrefetchVideoContent:(BOOL)shouldPrefetch;

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

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


SDKデリゲートの設定

まず次のように、Chartboost初期化コードで、Chartboostデリゲートをdelegate:selfに設定します。

#import <Chartboost/Chartboost.h>
#import <Chartboost/CBNewsfeed.h>
#import "AppDelegate.h"

@interface AppDelegate () 
@end

@implementation AppDelegate 

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {

 [self initializeStoryBoardBasedOnScreenSize]; 

// ユーザー セッションを開始。 
// ユーザー操作またはセッション開始前のネットワーク要求に依存してはなりません。
 [Chartboost startWithAppId:@"YOUR_CHARTBOOST_APP_ID"
 appSignature:@"YOUR_CHARTBOOST_APP_SIGNATURE"
 delegate:self];

 return YES;
}

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

// Chartboost APIサーバーからインタースティシャル広告をリクエストする前に呼び出される。
- (BOOL)shouldRequestInterstitial:(CBLocation)location;

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

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

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

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

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

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

// インタースティシャル広告がクリックされた後に呼び出される。
- (void)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
 withError:(CBLoadError)error;

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

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

// ビデオのコンテンツが事前に取得された後に呼び出される。
- (void)didPrefetchVideos;

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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