ควบคุมเหตุการณ์การคลิกของผู้ใช้
จัดทุกอย่างให้เป็นระเบียบอยู่เสมอด้วยคอลเล็กชัน
บันทึกและจัดหมวดหมู่เนื้อหาตามค่ากำหนดของคุณ
คู่มือนี้จะอธิบายวิธีใช้การควบคุมการคลิกผ่านได้มากขึ้นในการติดตั้งใช้งาน IMA SDK "การคลิกผ่าน" หมายถึงกระบวนการที่ผู้ใช้คลิกโฆษณาและไปยังหน้า Landing Page ของโฆษณานั้น ตัวอย่างในคู่มือนี้แสดงวิธีกําหนดค่าตําแหน่งที่หน้า Landing Page นั้นเปิดขึ้น และวิธีเฝ้าติดตามเหตุการณ์ที่เกี่ยวข้องกับผู้ใช้ที่เข้าชมหน้านั้น
ข้อกำหนดเบื้องต้น
แอปพลิเคชัน iOS ที่มีการติดตั้งใช้งาน IMA SDK
การกำหนดค่าการคลิกผ่าน
การเปลี่ยนโปรแกรมเปิดลิงก์
IMA SDK มี 2 ตัวเลือกในการเปิดหน้า Landing Page ของโฆษณา ได้แก่ ผ่านเบราว์เซอร์ในแอปหรือผ่าน 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.");
}
เนื้อหาของหน้าเว็บนี้ได้รับอนุญาตภายใต้ใบอนุญาตที่ต้องระบุที่มาของครีเอทีฟคอมมอนส์ 4.0 และตัวอย่างโค้ดได้รับอนุญาตภายใต้ใบอนุญาต Apache 2.0 เว้นแต่จะระบุไว้เป็นอย่างอื่น โปรดดูรายละเอียดที่นโยบายเว็บไซต์ Google Developers Java เป็นเครื่องหมายการค้าจดทะเบียนของ Oracle และ/หรือบริษัทในเครือ
อัปเดตล่าสุด 2025-08-31 UTC
[null,null,["อัปเดตล่าสุด 2025-08-31 UTC"],[[["\u003cp\u003eThis guide explains how to control ad clickthrough behavior within your iOS app using the IMA SDK.\u003c/p\u003e\n"],["\u003cp\u003eYou can configure the IMA SDK to open ad landing pages either in an in-app browser or in Safari.\u003c/p\u003e\n"],["\u003cp\u003eThe \u003ccode\u003eIMALinkOpenerDelegate\u003c/code\u003e provides events to track when clickthrough pages are opened and closed, allowing developers to respond to user interactions.\u003c/p\u003e\n"],["\u003cp\u003eTo utilize clickthrough control features, you must implement the \u003ccode\u003eIMAAdsRenderingSettings\u003c/code\u003e and the \u003ccode\u003eIMALinkOpenerDelegate\u003c/code\u003e within your iOS application.\u003c/p\u003e\n"]]],[],null,["# Control user click events\n\nThis guide explains how to implement more control over clickthrough in your IMA SDK\nimplementation. \"Clickthrough\" refers to the process of a user clicking on an ad and getting to\nthe landing page for that ad. The examples in this guide demonstrates how to configure where that\nlanding page opens and how to listen for events related to users visiting that page.\n\nPrerequisites\n-------------\n\n\nAn iOS application with the IMA SDK implemented.\n\nConfiguring clickthrough\n------------------------\n\n### Changing the link opener\n\nThe IMA SDK offers two options for opening ad landing pages---via an in-app browser, or via Safari. By default, the SDK opens pages using Safari. To update the SDK to use an in-app browser, you need to use `IMAAdsRenderingSettings`: \n\n### Swift\n\n```swift\nfunc createAdsRenderingSettings() {\n self.adsRenderingSettings = IMAAdsRenderingSettings();\n self.adsRenderingSettings.linkOpenerDelegate = self;\n self.adsRenderingSettings.linkOpenerPresentingController = self;\n}\n```\n\n### Objective-C\n\n```objective-c\n- (void)createAdsRenderingSettings {\n self.adsRenderingSettings = [[IMAAdsRenderingSettings alloc] init];\n self.adsRenderingSettings.linkOpenerDelegate = self;\n self.adsRenderingSettings.linkOpenerPresentingController = self;\n}\n```\nOnce you've configured the `IMAAdsRenderingSettings` instance, you can pass it to the `IMAAdsManager` initialization method: \n\n### Swift\n\n```swift\nself.adsManager.initialize(withAdsRenderingSettings: adsRenderingSettings);\n```\n\n### Objective-C\n\n```objective-c\n[self.adsManager initializeWithAdsRenderingSettings:adsRenderingSettings];\n```\n\n### Listening for clickthrough-related events\n\nThe IMA SDK provides the `IMALinkOpenerDelegate` to communicate when the user is about to see or has just closed a clickthrough page. To use this delegate, add it to your delegate list in the header, and implement its methods. In the header: \n\n### Swift\n\n```swift\nclass ViewController: UIViewController, IMALinkOpenerDelegate {\n```\n\n### Objective-C\n\n```objective-c\n@interface ViewController : UIViewController\u003cIMALinkOpenerDelegate\u003e\n```\nAnd in the implementation: \n\n### Swift\n\n```swift\nfunc linkOpenerWillOpen(externalBrowser: NSObject) {\n print(\"External browser will open.\")\n}\n\nfunc linkOpenerWillOpen(inAppLink: NSObject) {\n print(\"In-app browser will open.\")\n}\n\nfunc linkOpenerDidOpen(inAppLink: NSObject) {\n print(\"In-app browser did open.\")\n}\n\nfunc linkOpenerWillClose(inAppLink: NSObject) {\n print(\"In-app browser will close.\")\n}\n\nfunc linkOpenerDidClose(inAppLink: NSObject) {\n print(\"In-app browser did close.\")\n}\n```\n\n### Objective-C\n\n```objective-c\n- (void)linkOpenerWillOpenExternalBrowser:(NSObject *)linkOpener {\n NSLog(@\"External browser will open.\");\n}\n\n- (void)linkOpenerWillOpenInAppBrowser:(NSObject *)linkOpener {\n NSLog(@\"In-app browser will open.\");\n}\n\n- (void)linkOpenerDidOpenInAppBrowser:(NSObject *)linkOpener {\n NSLog(@\"In-app browser did open.\");\n}\n\n- (void)linkOpenerWillCloseInAppBrowser:(NSObject *)linkOpener {\n NSLog(@\"In-app browser will close.\");\n}\n\n- (void)linkOpenerDidCloseInAppBrowser:(NSObject *)linkOpener {\n NSLog(@\"In-app browser did close.\");\n}\n```"]]