Hướng dẫn này giải thích cách triển khai quyền kiểm soát nhiều hơn đối với lượt nhấp trong quá trình triển khai SDK IMA. "Lượt nhấp" là quá trình người dùng nhấp vào một quảng cáo và chuyển đến trang đích của quảng cáo đó. Các ví dụ trong hướng dẫn này minh hoạ cách định cấu hình vị trí mở trang đích đó và cách theo dõi các sự kiện liên quan đến người dùng truy cập vào trang đó.
Điều kiện tiên quyết
Một ứng dụng iOS đã triển khai SDK IMA.
Định cấu hình lượt nhấp
Thay đổi trình mở đường liên kết
SDK IMA cung cấp hai lựa chọn để mở trang đích quảng cáo – thông qua trình duyệt trong ứng dụng hoặc thông qua Safari. Theo mặc định, SDK sẽ mở các trang bằng Safari. Để cập nhật SDK để sử dụng trình duyệt trong ứng dụng, bạn cần sử dụngIMAAdsRenderingSettings
:
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
, bạn có thể truyền thực thể đó đến phương thức khởi chạy IMAAdsManager
:
Swift
self.adsManager.initialize(withAdsRenderingSettings: adsRenderingSettings);
Objective-C
[self.adsManager initializeWithAdsRenderingSettings:adsRenderingSettings];
Theo dõi các sự kiện liên quan đến lượt nhấp
SDK IMA cung cấpIMALinkOpenerDelegate
để giao tiếp khi người dùng sắp xem hoặc vừa đóng một trang nhấp chuột. Để sử dụng trình uỷ quyền này, hãy thêm trình uỷ quyền vào danh sách trình uỷ quyền trong tiêu đề và triển khai các phương thức của trình uỷ quyền. Trong tiêu đề:
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."); }