※ これは 2022/11/17 時点の Unity 2022.1.23f1 Localization v1.4.2 の情報です
最新版では動作が異なる可能性がありますのでご注意ください
前回、Unity の Localization でアプリ名の多言語化をやってみたので、今回はさらに iOS 14 以降で必須となる App Tracking Transparency に対応してみる
まずは PackageManeger から iOS 14 Advertising Support
を追加インポート
スポンサードリンク
次に Localization Table に ATT 許可ダイアログで表示する文言を UserTrakingUsage
として追加
これを Localization 設定の iOS App Info にある User Tracking Usage に指定
最後に下記のような起動時の処理を書いたスクリプトを初期シーンの適当なところにアタッチする
#if UNITY_IOS using Unity.Advertisement.IosSupport; #endif using UnityEngine; public class Bootstrap : MonoBehaviour { public void Start() { #if UNITY_IOS // iOS ATT 対応 var status = ATTrackingStatusBinding.GetAuthorizationTrackingStatus(); switch (status) { case ATTrackingStatusBinding.AuthorizationTrackingStatus.NOT_DETERMINED: // ATT 許可依頼ダイアログを表示 ATTrackingStatusBinding.RequestAuthorizationTracking(); break; case ATTrackingStatusBinding.AuthorizationTrackingStatus.AUTHORIZED: //TODO: トラッキングが許可された場合の処理 break; case ATTrackingStatusBinding.AuthorizationTrackingStatus.DENIED: case ATTrackingStatusBinding.AuthorizationTrackingStatus.RESTRICTED: //TODO: トラッキングが不許可・制限された場合の処理 break; } #endif } }
AdMob などは他のことは全部自前でやってくれるので省略
これで iOS ビルドしてみると・・・
はい、許可ダイアログがかんたんに出せた