Help Center/Details/

Upgrade iOS 14 Checklist

Precautions:

- SKAdNetwork (SKAN) is Apple’s attribution solution that helps advertisers measure ad campaigns while maintaining user privacy. After using Apple’s SKAdNetwork, even if IDFA is unavailable, the ad network can correctly obtain the attribution results of app installations. Visit https://developer.apple.com/documentation/storekit/skadnetwork for more information. For the attribution of ad conversion, all developers must set the CSJ SKAdNetwork id of the SKAdNetwork plan.

  • App Tracking Transparency (ATT) is suitable for requesting user authorization to access application-related data to track users or devices. Visit https://developer.apple.com/documentation/apptrackingtransparency for more information. Currently, Apple requires that in iOS 14.5 and above versions, users must be approved by the pop-up window before users can be tracked. There are no clear requirements for other versions. Developers should configure the pop-up window as needed.

Checklist

1 Upgrade the application compilation environment to Xcode 12.0 and above
2 Upgrade CSJ iOS SDK 3.5.1.1 and above, CSJ provides iOS 14.5 and SKAdNetwork support
3 Add the SKAdNetwork ID of the CSJ to info.plist to ensure the correct operation of SKAdNetwork

<key data-tomark-pass >SKAdNetworkItems</key>
  <array data-tomark-pass >
    <dict data-tomark-pass >
      <key data-tomark-pass >SKAdNetworkIdentifier</key>
      // CSJ SKAdNetwork id of SKAdNetwork plan
      <string data-tomark-pass >238da6jt44.skadnetwork</string>
    </dict>
    <dict data-tomark-pass >
      <key data-tomark-pass >SKAdNetworkIdentifier</key>
      // CSJ SKAdNetwork id of SKAdNetwork plan
      <string data-tomark-pass >x2jnk7ly8j.skadnetwork</string>
    </dict>
    <dict data-tomark-pass >
      <key data-tomark-pass >SKAdNetworkIdentifier</key>
      // CSJ SKAdNetwork id of SKAdNetwork plan
      <string data-tomark-pass >22mmun2rn5.skadnetwork</string>
    </dict>
  </array>

4 Support Apple ATT: Starting from iOS 14.5, if the developer sets App Tracking Transparency to apply for tracking authorization from the user, IDFA will not be available until the user authorizes it. If the user rejects this request, the IDFA obtained by the application will be automatically cleared, which may result in a decrease in your advertising revenue
-To obtain App Tracking Transparency permission, please update your Info.plist to add the NSUserTrackingUsageDescription field and custom text description. Code example:

<key data-tomark-pass >NSUserTrackingUsageDescription</key>
<string data-tomark-pass >This identifier will be used to deliver personalized ads to you</string>

-When requesting permission from the user, please call the requestTrackingAuthorizationWithCompletionHandler: method. We recommend that you apply for permission before requesting advertisements so that CSJ can accurately obtain user authorization status.

Swift code example

import AppTrackingTransparency
import AdSupport
func requestIDFA() {
  ATTrackingManager.requestTrackingAuthorization(completionHandler: {status in
    // Tracking authorization completed. Start loading ads here.
    // loadAd()
  })
}

Objective-C code example

#import <AppTrackingTransparency/AppTrackingTransparency.h>
#import <AdSupport/AdSupport.h>
-(void)requestIDFA {
  [ATTrackingManager requestTrackingAuthorizationWithCompletionHandler:^(ATTrackingManagerAuthorizationStatus status) {
    // Tracking authorization completed. Start loading ads here.
    // [self loadAd];
  }];
}
Did the content solve your problem?
Contact us