本指南說明如何在 IMA SDK 導入作業中,進一步控管點閱率。「點擊率」是指使用者點按廣告並前往該廣告的到達網頁的過程。本指南的範例說明如何設定到達網頁的開啟位置,以及如何監聽與使用者造訪該網頁相關的事件。
必要條件
已導入 IMA SDK 的 iOS 應用程式。
設定點閱
變更連結開啟器
IMA SDK 提供兩種開啟廣告到達網頁的選項:透過應用程式內瀏覽器或 Safari。根據預設,SDK 會使用 Safari 開啟網頁。如要更新 SDK 以使用應用程式內瀏覽器,您必須使用IMAAdsRenderingSettings
:Swift
func createAdsRenderingSettings() { self.adsRenderingSettings = IMAAdsRenderingSettings(); self.adsRenderingSettings.linkOpenerDelegate = self; self.adsRenderingSettings.linkOpenerPresentingController = self; }
Objective-C
- (void)createAdsRenderingSettings { self.adsRenderingSettings = [[IMAAdsRenderingSettings alloc] init]; self.adsRenderingSettings.linkOpenerDelegate = self; self.adsRenderingSettings.linkOpenerPresentingController = self; }
IMAAdsRenderingSettings
例項後,您可以將其傳遞至 IMAAdsManager
初始化方法:Swift
self.adsManager.initialize(withAdsRenderingSettings: adsRenderingSettings);
Objective-C
[self.adsManager initializeWithAdsRenderingSettings:adsRenderingSettings];
監聽點擊率相關事件
IMA SDK 會提供IMALinkOpenerDelegate
,用於在使用者即將查看或剛關閉點閱頁面時進行通訊。如要使用這個委派函,請將其加入標頭中的委派函清單,並實作其方法。在頁首中:
Swift
class ViewController: UIViewController, IMALinkOpenerDelegate {
Objective-C
@interface ViewController : UIViewController<IMALinkOpenerDelegate>
Swift
func linkOpenerWillOpen(externalBrowser: NSObject) { print("External browser will open.") } func linkOpenerWillOpen(inAppLink: NSObject) { print("In-app browser will open.") } func linkOpenerDidOpen(inAppLink: NSObject) { print("In-app browser did open.") } func linkOpenerWillClose(inAppLink: NSObject) { print("In-app browser will close.") } func linkOpenerDidClose(inAppLink: NSObject) { print("In-app browser did close.") }
Objective-C
- (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."); }