Skip to content

BuffStudio-PublicDev/UnityBridgeAppTracking

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

15 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

UnityBridgeAppTracking

iOS 14 App Tracking Transparency Bridge For Unity

iOS Description
14.4 or less Do not this UnityBridgeAppTracking, because iOS Advertising Identifier is OK.
14.5 or more iOS Advertising Identifier is all zero in default. Do this UnityBridgeAppTracking, If User allow App Tracking Authorization, iOS Advertising Identifier is OK. But if User deny, iOS Advertising Identifier is all zero. User can switch on in Setting - Your App - App Tracking Authorization.

(from https://developer.apple.com/documentation/adsupport/asidentifiermanager/1614151-advertisingidentifier?language=objc)

Build Environment

Unity 2018.x / Unity 2019.x

Xcode 12.3

How to Use

  1. Modify your NSUserTrackingUsageDescription in NSUserTrackingUsageDescription.txt and Add SKAdNetworks to SKAdNetworkItems.plist
Assets/10.Tools/AppTrackingTransparency/Editor/NSUserTrackingUsageDescription.txt
Assets/10.Tools/AppTrackingTransparency/Editor/SKAdNetworkItems.plist

So, Unity PostprocessBuildScript insert NSUserTrackingUsageDescription and SKAdNetworkItems to Info.plist.

  1. Modify Multi Language NSUserTrackingUsageDescription And App Name. Examples to Base, Korean, Chinese(Simple), Chinese(Traditional), English, Japanese
Assets/10.Tools/NativeLocale/iOS/Base.lproj/InfoPlist.strings
Assets/10.Tools/NativeLocale/iOS/ko.lproj/InfoPlist.strings
Assets/10.Tools/NativeLocale/iOS/zh-Hans.lproj/InfoPlist.strings
Assets/10.Tools/NativeLocale/iOS/zh-Hant.lproj/InfoPlist.strings
Assets/10.Tools/NativeLocale/iOS/en.lproj/InfoPlist.strings
Assets/10.Tools/NativeLocale/iOS/ja.lproj/InfoPlist.strings

option) If you do not want to use Multi Language App Name, remove CFBundleDisplayName, CFBundleName in InfoPlist.strings

  1. Attach AppTrackingAuthorization.prefab in your Scene.
Assets/03.Prefebs/AppTrackingAuthorization.prefab
  1. Modify AppTrackingAuthorization.cs in your flow.
Assets/02.Scripts/AppTrackingTransparency/AppTrackingAuthorization.cs
  • Request App Tracking Authorization
AppTrackingTransparency.RequestAppTrackingAuthorization();
  • Request Call back
public void OnCallBackAuthorizationForNoneIOS(AppTrackingTransparency.AuthorizationStatus myStatus)
  • Check current App Tracking Authorization Status
AppTrackingTransparency.status
  1. Build Unity Xcode Project and Build Xcode and Test!

Sample App Screen Shot

1. notDetermined Status 2. Request App Tracking Authorization 3. Allow 4. Deny
notDetermined Status Request App Tracking Authorization Allow Deny
1. App Setting App Tracking Authorization Off 2. Switch on in App Tracking Authorization 3. App Setting App Tracking Authorization On

This UnityBridgeAppTracking use UnityAppNameLocalizationForIOS

https://github.com/zeyangl/UnityAppNameLocalizationForIOS

IOS 14 App Tracking Transparency Documents

https://developer.apple.com/documentation/apptrackingtransparency

https://developer.apple.com/documentation/adsupport/asidentifiermanager/1614151-advertisingidentifier?language=objc

About

IOS 14 App Tracking Transparency Bridge For Unity

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 2

  •  
  •  

Languages