[[["容易理解","easyToUnderstand","thumb-up"],["確實解決了我的問題","solvedMyProblem","thumb-up"],["其他","otherUp","thumb-up"]],[["缺少我需要的資訊","missingTheInformationINeed","thumb-down"],["過於複雜/步驟過多","tooComplicatedTooManySteps","thumb-down"],["過時","outOfDate","thumb-down"],["翻譯問題","translationIssue","thumb-down"],["示例/程式碼問題","samplesCodeIssue","thumb-down"],["其他","otherDown","thumb-down"]],["上次更新時間:2025-08-17 (世界標準時間)。"],[[["\u003cp\u003eThis guide details changes required to make your app compatible with iOS 14, focusing on App Tracking Transparency and Publisher first-party ID.\u003c/p\u003e\n"],["\u003cp\u003eYou need to add the \u003ccode\u003eNSUserTrackingUsageDescription\u003c/code\u003e key to your \u003ccode\u003eInfo.plist\u003c/code\u003e and request user authorization for tracking to access the IDFA.\u003c/p\u003e\n"],["\u003cp\u003eFor a better user experience, provide an explanation to users before requesting app tracking permission, potentially using the User Messaging Platform (UMP) SDK.\u003c/p\u003e\n"],["\u003cp\u003ePublisher first-party ID (formerly known as same app key) is enabled by default in IMA SDK for iOS 3.14.5 or higher and can be disabled using \u003ccode\u003eIMASettings::SameAppKeyEnabled\u003c/code\u003e.\u003c/p\u003e\n"],["\u003cp\u003eYou need to disclose data usage information about your app for the App Store, as required by Apple.\u003c/p\u003e\n"]]],[],null,["This guide outlines the changes needed to prepare your app for\niOS 14.\n\nPrerequisites\n\n- Interactive Media Ads SDK 3.12.1 or higher.\n\nRequest App Tracking Transparency authorization **Key Point:** If you decide to include App Tracking Transparency (ATT) in your app, you can use the [User Messaging Platform (UMP)\n| SDK](/interactive-media-ads/docs/sdks/ios/client-side/privacy) to trigger an IDFA explainer that gives users some context of why you're asking for this permission. Be aware that the usage of the UMP SDK affects all users of your app.\n|\n|\n| If you're *not* using the UMP SDK, the rest of this page shows you how to\n| implement the OS-level ATT authorization request manually.\n\nTo display the App Tracking Transparency authorization request for accessing the\nIDFA, update your `Info.plist` to add the `NSUserTrackingUsageDescription` key\nwith a custom message describing your usage. Here is an example description\ntext: \n\n```text\n\u003ckey\u003eNSUserTrackingUsageDescription\u003c/key\u003e\n\u003cstring\u003eThis identifier will be used to deliver personalized ads to you.\u003c/string\u003e\n```\n\nThe usage description appears in the App Tracking Transparency dialog box:\n\nTo present the authorization request, call\n[`requestTrackingAuthorizationWithCompletionHandler:`](//developer.apple.com/documentation/apptrackingtransparency/attrackingmanager/3547037-requesttrackingauthorization).\nWe recommend waiting for the completion callback prior to loading ads so that if\nthe user grants the App Tracking Transparency permission, the Interactive Media\nAds SDK can use the IDFA in ad requests. \n\nSwift \n\n```swift\nimport AppTrackingTransparency\nimport AdSupport\n...\nfunc requestIDFA() {\n ATTrackingManager.requestTrackingAuthorization(completionHandler: { status in\n // Tracking authorization completed. Start loading ads here.\n // loadAd()\n })\n}\n```\n\nObjective-C \n\n```objective-c\n#import \u003cAppTrackingTransparency/AppTrackingTransparency.h\u003e\n#import \u003cAdSupport/AdSupport.h\u003e\n...\n- (void)requestIDFA {\n [ATTrackingManager requestTrackingAuthorizationWithCompletionHandler:^(ATTrackingManagerAuthorizationStatus status) {\n // Tracking authorization completed. Start loading ads here.\n // [self loadAd];\n }];\n}\n```\n\nFor more information about the possible status values, see\n[`ATTrackingManager.AuthorizationStatus`](//developer.apple.com/documentation/apptrackingtransparency/attrackingmanager/authorizationstatus).\n| **Key Point:** For a better user experience, we recommend adding an explainer preceding the call to `requestTrackingAuthorizationWithCompletionHandler:` to clarify the permission and data usage to users.\n\nPublisher first-party ID, formerly known as same app key **Note:** Same app key has been renamed to [Publisher first-party\n| ID](//support.google.com/admob/answer/9997589). The same app key API may change to reflect publisher first-party ID in an upcoming SDK release. This change will not impact existing activation of same app key on IMA SDKs 3.14.5+. All applicable SDK versions will process the identifier seamlessly.\n\n**Prerequisites: IMA SDK for iOS 3.14.5 or higher**\n\nThe Interactive Media Ads SDK for iOS introduced Publisher first-party\nID, formerly known as [same app\nkey](//support.google.com/admanager/answer/9997589) to help you deliver more\nrelevant and personalized ads by using data collected from your apps.\n\nPublisher first-party ID is enabled by default, but you can always choose to\ndisable it in your app by setting\n[`IMASettings::SameAppKeyEnabled`](/interactive-media-ads/docs/sdks/ios/client-side/reference/Classes/IMASettings#sameappkeyenabled) to `false`: \n\nSwift \n\n```swift\nlet settings = IMASettings()\n// Disables Publisher first-party ID, formerly known as same app key.\nsettings.SameAppKeyEnabled = false\nadsLoader = IMAAdsLoader(settings: settings)\n```\n\nObjective-C \n\n```objective-c\nIMASettings *settings = [[IMASettings alloc] init];\n// Disables Publisher first-party ID, formerly known as same app key.\nsettings.SameAppKeyEnabled = false;\nIMAAdsLoader *adsLoader = [[IMAAdsLoader alloc] initWithSettings:settings];\n```\n\nDisclose data usage in the App Store\n\nApple requires that developers publishing apps on the App Store disclose\n[certain information](//developer.apple.com/app-store/app-privacy-details/)\nregarding their apps' data use. Apple has\n[announced](//developer.apple.com/news/?id=vlj9jty9) that these disclosures will\nbe required for new apps and app updates starting December 8, 2020.\n\n[Learn more about the data disclosure\nrequirements](/interactive-media-ads/docs/sdks/ios/client-side/data-disclosure)."]]