詳細設定 - Vungle iOS SDK v.1.0 ~ v.4.1

目次

  1. Vungle SDK インスタンス
  2. 広告体験のカスタマイズ
  3. 追加の VungleSDK プロトコル

始める前に...

この記事では Vungle iOS SDK の詳細設定について説明します。iOS SDK を初めて使用する場合は、iOS 版スタート ガイドをご覧ください。

VungleSDK インスタンス

インスタンス プロパティ

VungleSDK のシングルトン インスタンスには、エンド ユーザーの広告体験のカスタマイズや重要なイベント データの受信に関連するプロパティがいくつか用意されています。 これらのプロパティを以下に示します。

muted (BOOL): 提示された広告がミュートの状態で再生開始されるかどうかを制御します。
delegate (id<VungleSDKDelegate>): VungleSDKDelegate プロトコルに準拠した設定可能プロパティ。これにより、特定の SDK イベントの非同期コールバックを受信できます。
assetLoader (id<VungleAssetLoader>): VungleAssetLoader プロトコルに準拠した設定可能プロパティ。これにより、メインの VungleSDK playAd ViewController で使用されている必要なアセットをオーバーライドできます。

 

インスタンス メソッドおよびヘルパー定数

(BOOL)isAdPlayable; すぐに表示できるキャッシュされた広告があり、かつ現在のユーザーが 1 日の視聴回数またはレートによる制限を受けていない場合、YES を返します。このメソッドは、たとえパブリッシャーからのストリーミング配信がオプトインされている場合でも、取得可能なストリーミング広告があるかどうかはチェックしません。
(NSDictionary*)debugInfo; VungleSDK シングルトンに関する各種デバッグ情報を含む NSDictionary を返します。
(void)setLoggingEnabled:(BOOL)enable; VungleSDK シングルトンからのデフォルトのロギング機能を有効または無効にします。 ロギングされたイベントおよび情報はコンソールに出力されます。 個々のロギング イベントを処理するには、下記の attachLogger メソッドを参照してください。
(void)log:(NSString*)message, ...NS_FORMAT_FUNCTION(1,2); 指定したメッセージをコンソールに出力し、アタッチされたすべての VungleSDKLogger インスタンスにログとして記録します。
(void)attachLogger:(id<VungleSDKLogger>)logger VungleSDKLogger プロトコルに準拠したクラスを VungleSDK シングルトン インスタンスにアタッチできます。アタッチされたロガーは、SDK によって処理されるすべてのログ イベントを受け取ります。 メモリ リークを防ぐため、不要になったロガーは適切にデタッチすることが重要です。 アタッチされたロガーは、適切に削除しない限り VungleSDK シングルトン インスタンスに残ります。
(void)detachLogger:(id<VungleSDKLogger>)logger; ロガー オブジェクトをデタッチします。
NSString* VungleSDKVersion Vungle iOS SDK の現在のバージョンを示す文字列定数。 メジャー バージョンとマイナー バージョンが含まれます。

広告体験のカスタマイズ

VungleSDK シングルトンの playAd メソッドに NSDictionary パラメータを渡して、個々の広告体験をカスタマイズできます。 NSDictionary パラメータに含まれる有効なキーと値のペアにより、記述された設定のデフォルト値がオーバーライドされます。すべてのキーをディクショナリーに自由に追加できます。NSDictionary パラメータに含まれる設定は、1 回の playAd の呼び出しのみに作用します。オプション ディクショナリーの例については、サンプル アプリの 111 行目または 131 行目を参照してください。

キー デフォルト値/型 説明
VunglePlayAdOptionKeyIncentivized NO
ブール値を表す NSNumber。
広告再生をインセンティブ付きとして指定すると、playAd の動作がデフォルトとは若干異なるものになります。これは playAd をローカル SDK と Vungle 広告サーバーのどちらから呼び出した場合にも当てはまります。この機能を使用すると、報酬付き広告と通常の広告の間で動作や機能を変えることができます。 インセンティブ広告とインセンティブなしの広告の違いに関する詳しい説明については、この記事を参照してください。
VunglePlayAdOptionKeyOrientations UIInterfaceOrientationMaskAll
向き (デフォルトは自動回転) を含むビットマスクを表す NSNumber。
広告の向きを設定します。作成するアプリが縦向きの場合でも広告を自動回転させることを推奨します。そうすれば、ユーザーが広告動画をフルサイズで見ることができ、ユーザー エクスペリエンスが向上します。そのためには、向きを (プロジェクト レベルではなく) ビュー コントローラー レベルで設定します。
VunglePlayAdOptionKeyUser nil
広告がインセンティブ付きである場合に渡されるユーザー ID を含む NSString。
インセンティブ指定されたサーバー間呼び出しで「user」として渡される値。
VunglePlayAdOptionKeyIncentivizedAlertTitleText nil
NSString
ユーザーが途中でインセンティブ広告を閉じたときに表示される警告ダイアログのタイトルとして使用される文字列。
VunglePlayAdOptionKeyIncentivizedAlertBodyText Are you sure you want to skip this ad?If you do, you might not get your reward
NSString
ユーザーが途中でインセンティブ広告を閉じたときに表示される警告ダイアログの本文として使用される文字列。
VunglePlayAdOptionKeyIncentivizedAlertCloseButtonText Close
NSString
ユーザーが途中でインセンティブ広告を閉じたときに表示される警告ダイアログの閉じるボタンのテキスト。
VunglePlayAdOptionKeyIncentivizedAlertContinueButtonText Continue
NSString
ユーザーが途中でインセンティブ広告を閉じたときに表示される警告ダイアログの閉じるボタンのテキスト。
VunglePlayAdOptionKeyExtraInfoDictionary nil
追加のキー (以下で定義) を含む NSDictionary。
年齢層、性別などのメトリックの追跡に使用できる基本メタデータ ディクショナリー。
VunglePlayAdOptionKeyExtra1 ~ 8 nil
追跡する各ユーザー メトリックを表す NSString。
近日公開 - この機能は現在開発中です。公開されると、これら 8 個のキーを使用して広告配置やユーザー データなどの追加情報を追跡・報告できます。

プロトコル

VungleSDKDelegate プロトコル


@protocol VungleSDKDelegate
- (void)vungleSDKAdPlayableChanged:(BOOL)isAdPlayable;
- (void)vungleSDKwillShowAd;
- (void)vungleSDKwillCloseAdWithViewInfo:(NSDictionary*)viewInfo willPresentProductSheet:(BOOL)willPresentProductSheet;
- (void)vungleSDKwillCloseProductSheet:(id)productSheet;
@end

VungleSDKDelegate メソッド

VungleSDK Delegate を実装することで、広告体験に関する有用なイベントを受け取ることができます。

メソッド 説明
(void)vungleSDKAdPlayableChanged:(BOOL)isAdPlayable VungleSDK の広告再生可能状態が変更されたときに呼び出されます。 isAdPlayable は、Vungle SDK の新しい再生可能状態を示すブール値です。
(void)vungleSDKwillShowAd VungleSDK が動画広告を再生する直前に呼び出されます。 このメソッドは、ゲームのプレイ、音響効果、アニメーションなどを一時停止する場所として適しています。
(void)vungleSDKwillCloseAdWithViewInfo:
(NSDictionary *)viewInfo  willPresentProductSheet:(BOOL)willPresentProductSheet

ユーザーが広告から離れる方法は 3 通りあります。

  • 動画広告を最後まで視聴する (提示された広告が自動的に閉じる場合)
  • 広告の再生中または再生が終わったときに閉じるボタンを押す
  • ダウンロードボタンをクリックする。この場合、iOS が提供するアプリ ストアがアプリ内に開きます (StoreKit フレームワークを使用)。

いずれの場合でも、メインの Vungle ViewController が破棄されるとこのコールバックが発生します。viewInfo NSDictionary には以下の情報が含まれます。

  • completedView: BOOL の NSNumber。動画が 80% 以上視聴された場合は YES
  • playTime: 動画が視聴された時間の長さを示す NSNumber
  • didDownload: BOOL の NSNumber。ユーザーがダウンロード ボタンをタップした場合は YES
  • videoLength: (Vungle iOS SDK 4.0.9 で非推奨)

このイベントを使用して、アプリケーションに戻るときにアニメーションや音響効果などを再開できます。

willPresentProductSheet パラメータは常に NO になります。このパラメータに基づいてユーザーがダウンロード ボタンをタップしたかどうかを判断しないでください。

(void)vungleSDKwillCloseProductSheet:(id)productSheet (deprecated) (Vungle iOS SDK 4.0.9 で非推奨) 最新の Vungle SDK では製品シートが使用されなくなったため、このコールバックは呼び出されません。(void)vungleSDKwillCloseAdWithViewInfo: コールバックを代わりに使用してアプリケーションを再開してください。


VungleSDKDelegate の登録

VungleSDK シングルトンからイベントを受け取るためには、VungleSDKDelegate プロトコルに準拠したクラスを以下のように登録する必要があります。

[[VungleSDK sharedSDK] setDelegate:yourDelegateInstance];

メモリ リークを防ぐため、登録したデリゲートが不要になったときは必ずクリアしてください。明示的に削除しない限り、登録したデリゲートは VungleSDK シングルトンに残ります。

デリゲートをクリアするには、以下のコードを使用します。

[[VungleSDK sharedSDK] setDelegate:nil];

 

VungleSDKLogger プロトコル


@protocol VungleSDKLogger
- (void)vungleSDKLog:(NSString*)message;
@end

VungleSDK シングルトンは、VungleSDKLogger プロトコルに準拠したアタッチ済みクラスにロギング イベントを送信します。 ログ イベントには NSString 値が含まれており、この値はコンソールにも出力されます (ロギングが有効になっている場合)。 ロガーをアタッチするには、以下のコードを使用します。

 [sdk attachLogger:yourLoggerInstance];

前述したように、不要になったロガーは必ず VungleSDK からクリアしてください。ロガーをデタッチするには、以下のコードを使用します。

[sdk detachLogger:yourLoggerInstance];

 

assetLoader プロトコル


@protocol VungleAssetLoader
/**
 * 指定したパスにある画像の (生) データを含む有効な NSData、または nil を返します。*/
- (NSData*)vungleLoadAsset:(NSString*)path;

/**
 * 指定したパスにある有効な UIImage、または nil を返します。
 */
- (UIImage*)vungleLoadImage:(NSString*)path;
@end
他にご質問がございましたら、リクエストを送信してください

コメント