iOS 17 Privacy Manifest
A privacy manifest is a form of a property list, it records and describes the types of data that are collected by an app or SDK. In light of the new privacy requirements announced by Apple at WWDC23, which states requirements for listed SDKs to provide a privacy manifest and an SDK signature, Player Network SDK has included privacy manifests for affected plugins since Player Network SDK V1.22.
From Spring 2024, developers will have to clearly describe data use in the privacy manifest, showing how required reason APIs will be utilized in apps that are updated or uploaded to Apple App Store Connect.
The following table shows a list of Player Network SDK plugins that are affected by the new privacy requirements, follow the merge method described to configure the plugins required for your game project:
Plugin | Privacy Manifests | Signatures for SDKs | Merge Method |
---|---|---|---|
INTLCore | Supported | Not required | Manual |
INTLFoundation | Supported | Not required | Manual |
INTLAdjust | Supported | Not required | Automatic |
INTLAppsFlyer | Supported | Not required | Automatic |
INTLDiscord | SDK no longer maintained | - | Manual |
INTLDmm | Supported | Supported | Automatic |
INTLFacebook | Supported | Supported | Automatic |
INTLFirebase | Supported | Supported | Automatic |
INTLGarena | Supported | Not required | Automatic |
INTLGoogle | Supported | Not required | Automatic |
INTLHighLevel | For Need for Speed only | - | - |
INTLKaKao | Not supported yet | Not required | - |
INTLLine | Supported | Supported | Automatic |
INTLQQ | Supported | Supported | Automatic |
INTLTikTok | Supported | Not required | Automatic |
INTLTwitter | SDK no longer maintained | - | Manual |
INTLUbiSoft | For TDM only | - | - |
INTLVK | Not supported yet | Not required | - |
INTLVNG | Not supported yet | Not required | - |
INTLWeChat | Supported | Not required | Automatic |
INTLYouTube | Supported | Required, not supported yet | Automatic |
INTLBugly | Deprecated | - | - |
INTLCrashSight | Deprecated | - | - |
INTLCustomer | Deprecated | - | - |
INTLTAB | Deprecated | - | - |
- Manual: Provided privacy manifests for third-party SDKs without upgrading the framework. Manual integration required, follow the Procedures to merge to the privacy manifest of the game project.
- Automatic: Upgraded third-party SDKs with privacy manifest. No extra configuration is needed.
- Not published yet: The third-party SDK is not yet supported, and they have not disclosed their support method.
Procedures
Find the privacy manifest
PrivacyInfo.xcprivacy
for the required plugin from the Player Network SDK product catalog.- Unity
- Unreal Engine
Plugin Path INTLFoundation /Plugins/iOS/INTLSDK/INTLFoundation/INTLFoundation.framework/PrivacyInfo.xcprivacy INTLCore /Plugins/iOS/INTLSDK/INTLCore/INTLCore.framework/PrivacyInfo.xcprivacy INTLGarena /Plugins/iOS/INTLSDK/INTLGarena/INTLGarena.framework/PrivacyInfo.xcprivacy Plugin Path INTLFoundation /INTLSDK/Source/INTLFoundation/Libs/iOS/INTLFoundation/INTLFoundation.embeddedframework/INTLFoundation.framework/PrivacyInfo.xcprivacy INTLCore /INTLSDK/Source/INTLCore/Libs/iOS/INTLCore/INTLCore.embeddedframework/INTLCore.framework/PrivacyInfo.xcprivacy INTLGarena /INTLSDK/Source/INTLGarena/Libs/iOS/INTLGarena/INTLGarena.embeddedframework/INTLGarena.framework/PrivacyInfo.xcprivacy Compare the 4 nodes of the
PrivacyInfo.xcprivacy
from Player Network SDK with the contents in thePrivacyInfo.xcprivacy
from the game project, then merge based on the below conditions.
Privacy Nutrition Label Types (NSPrivacyCollectedDataTypes)
describes the data types used:
Compare theCollected Data Type (NSPrivacyCollectedDataType)
of eachitem
, add the value to the game project file if they are different.
If they are the same, instead compareCollection Purposes (NSPrivacyCollectedDataTypePurposes)
, add the value to the game project file if they are different.
Privacy Tracking Domains (NSPrivacyTrackingDomains)
lists the domains that engage in tracking:
Compare the corresponding nodes, add the value to the game project file if they are different.Privacy Tracking Enabled (NSPrivacyTracking)
describes if the App Tracking Transparency feature is enabled:
Compare the corresponding nodes, modify the game project file if the value isYES
in the Player Network SDK privacy manifest.Privacy Accessed API Types (NSPrivacyAccessedAPITypes)
describes the API types used:
Compare thePrivacy Accessed API Type (NSPrivacyAccessedAPIType)
of eachitem
, add the value to the game project file if they are different.
If they are the same, instead comparePrivacy Accessed API Reasons (NSPrivacyAccessedAPITypeReasons)
, add the value to the game project file if they are different.
Verify privacy manifest
A privacy report can be generated using Xcode 15, to verify if expectations have been met.