iOS 14 update response
From iOS 14, user consent must be obtained before using IDFA (=ID for Advertisers). If user consent is not obtained, the IDFA value will be displayed as an invalid value (=00000000-0000-0000-0000-000000000000), causing issues in user tracking and identification.
For more information, please refer to WWDC 2020 - Build Trust through Better Privacy.
The change default browser feature has been added to iOS 14. In the event that the default browser is a browser other than Safari (ex. Chrome), there may be issues with landing and the scheme needs to be set in Info.plist.
This guide describes any modifications made to support iOS 14. Please refer to the information below for the application. WWDC 2020 - Build trust through better privacy
GFPSDK Supported Versions
- iOS14 is supported in GFPSDK version 2.2.4 or higher.
Application guide for each DSP
If using ad providers of Google DFP, Google IMA, Facebook, InMobi, Unity, AppLovin, or Vungle, please refer to the guide below and make additional applications.
Response version for each DSP
Each version is compatible with iOS 14 for each DSP. The versions are listed as a dependency in the GFPSDK 2.2.4 Podspec.
DSP | version | notes |
---|---|---|
Google DFP | 7.66.0 | |
Google IMA | 3.12.1 | |
Facebook FAN | 6.0.0 | |
Mopub | 5.14.1 | |
Inmobi | 9.1.0 | |
Unity | 3.7.1 | Supported from GFPSDK 3.1.0 |
Enter SKAdNetwork Id
The SDK of DSP supports conversion tracking using Apple's SKAdNetwork.
If using ad providers of Google DFP, Google IMA, Facebook, InMobi, Unity, AppLovin, or Vungle, the SKAdNetworkId is provided by the relevant DSP in info.plist must be entered.
- Mopub
- Inmobi
- Unity
- AppLovin
- Vungle
Obtain IDFA user consent
In the case of IDFA user consent, the authority request could be determined based on the service policy and advertising specifications. The below two methods are suggested for cases where an authority request needs to be made.
Obtain consent through the ATT Framework
Authority could be requested by implementing it directly through the App Tracking Transparency framework. For more information, please refer to the official guide
Obtain consent through GFPAdPermission
GFPAdPermission is an SDK mapping the ATT framework. Authority could be requested through this SDK and the permission status could be checked.
- Add dependency
source 'https://oss.navercorp.com/da-ssp-app-sdk/gfp-sdk-ios-podspec.git'
target 'MyApplication' do
pod 'GFPAdPermissionSDK' # Permission SDK
end
- Enter a description in info.plist
<key>NSUserTrackingUsageDescription</key>
<string>Your data will be used to deliver personalized ads to you.</string>
- Obtain user consent
user consent pop-up is only displayed on iOS 14 or higher. For versions lower than iOS 14, the status will be returned based on the isAdvertisingTrackingEnabled value.
- Objective-C
- Swift
[GFPAdPermission requestTrackingAuthorizationWith:^(GFPAdPermissionStatus status) {
NSLog(@"permissionStatus: %d", status);
}];
GFPAdPermission.requestTrackingAuthorization { (status) in
print("permissionStatus: \(status)")
}
Check user consent status
For enum values related to status, please refer to GFPAdPermission.h.
- Objective-C
- Swift
GFPAdPermissionStatus status = [GFPAdPermission status];
let status = GFPAdPermission.status
Response to changing the default browser
When an ad is clicked, it will land on openURL:options:completionHandler: after checking on canOpenURL: within GFPSDK.
If the setting is set to another browser (ex. Chrome) and there is no scheme in the plist, canOpenURL: returns as NO. Since it does not land, a scheme needs to be added to Info.plist.
<key>LSApplicationQueriesSchemes</key>
<array>
<string>http</string>
<string>https</string>
</array>