このガイドでは、IMA SDK の実装でクリックスルーをより細かく制御する方法について説明します。「クリックスルー」とは、ユーザーが広告をクリックしてその広告のランディング ページにアクセスするプロセスを指します。このガイドの例では、ランディング ページが開く場所を設定する方法と、そのページにアクセスしているユーザーに関連するイベントをリッスンする方法について説明しています。
前提条件
IMA SDK が実装された iOS アプリ
クリックスルーを設定する
リンクオープナーを変更する
IMA SDK で広告のランディング ページを開く方法は、アプリ内ブラウザと Safari の 2 つです。デフォルトでは、Safari を使用してページが開きます。アプリ内ブラウザを使用するように SDK を更新するには、IMAAdsRenderingSettings
を使用する必要があります。
- (void)createAdsRenderingSettings { self.adsRenderingSettings = [[IMAAdsRenderingSettings alloc] init]; self.adsRenderingSettings.linkOpenerDelegate = self; self.adsRenderingSettings.linkOpenerPresentingController = self; }
IMAAdsRenderingSettings
インスタンスを構成したら、そのインスタンスを IMAAdsManager
初期化メソッドに渡すことができます。
[self.adsManager initializeWithAdsRenderingSettings:adsRenderingSettings];
クリックスルー関連のイベントをリッスンする
IMA SDK のIMALinkOpenerDelegate
を使用すると、ユーザーがクリックスルー ページを表示しようとしているときや、閉じたばかりかどうかを判断できます。このデリゲートを使用するには、ヘッダーのデリゲート リストに追加して、そのメソッドを実装します。ヘッダー:
@interface ViewController : UIViewController<IMALinkOpenerDelegate>実装:
- (void)linkOpenerWillOpenExternalBrowser:(NSObject *)linkOpener { NSLog(@"External browser will open."); } - (void)linkOpenerWillOpenInAppBrowser:(NSObject *)linkOpener { NSLog(@"In-app browser will open"); } - (void)linkOpenerDidOpenInAppBrowser:(NSObject *)linkOpener { NSLog(@"In-app browser did open"); } - (void)linkOpenerWillCloseInAppBrowser:(NSObject *)linkOpener { NSLog(@"In-app browser will close"); } - (void)linkOpenerDidCloseInAppBrowser:(NSObject *)linkOpener { NSLog(@"In-app browser did close"); }