パーソナライズされた広告のトラッキング確認

.NET MAUIのiOSアプリにAdMobを組み込んでパーソナライズされた広告を表示するには、AppTrackingTransparency(ATT)ダイアログの表示と許可を得る必要があります。
このダイアログの表示方法です。
環境
OS: Windows 11 Pro
IDE: Visual Studio Community 2022 Version 17.13.6
iOS: 18.4.1
対応手順
AppTrackingTransparencyManager.csの作成
Platforms/iOS/AppTrackingTransparencyManager.cs
C#
using UIKit;
using AppTrackingTransparency;
namespace YourAppNamespace.Platforms.iOS
{
public static class AppTrackingTransparencyManager
{
public static void RequestPermission()
{
// iOS 14以降かチェック
if (UIDevice.CurrentDevice.CheckSystemVersion(14, 0))
{
ATTrackingManager.RequestTrackingAuthorization((status) =>
{
Console.WriteLine($"ATT Status: {status}");
switch (status)
{
case ATTrackingManagerAuthorizationStatus.Authorized:
Console.WriteLine("Tracking authorized.");
break;
case ATTrackingManagerAuthorizationStatus.Denied:
Console.WriteLine("Tracking denied.");
break;
case ATTrackingManagerAuthorizationStatus.NotDetermined:
Console.WriteLine("Tracking not determined.");
break;
case ATTrackingManagerAuthorizationStatus.Restricted:
Console.WriteLine("Tracking restricted.");
break;
}
});
}
else
{
Console.WriteLine("iOS version < 14: tracking automatically allowed.");
}
}
}
}
AppDelegate.csの編集
Platforms/iOS/AppDelegate.cs
C#
using Foundation;
using UIKit;
using Google.MobileAds;
using YourAppNamespace.Platforms.iOS;
namespace YourAppNamespace
{
[Register("AppDelegate")]
public class AppDelegate : MauiUIApplicationDelegate
{
public override bool FinishedLaunching(UIApplication app, NSDictionary options)
{
// ATT許可ダイアログを表示
AppTrackingTransparencyManager.RequestPermission();
// AdMob初期化
MobileAds.SharedInstance.Start(completionHandler: null);
return base.FinishedLaunching(app, options);
}
}
}
Info.plistの編集
XML
<key>NSUserTrackingUsageDescription</key>
<string>このアプリでは、広告のパーソナライズのためにユーザーの識別子を使用します。</string>
Info.plist にこのキーを追加しないと ATTダイアログは表示されません。
追加した文字列がダイアログに表示されます。
動作確認
前提条件
- iOS 14以降のリモートデバイスの実機で確認する
- シミュレーターやiOS 14未満ではATTダイアログは表示されない
確認手順
- [設定アプリ]-[プライバシーとセキュリティ]-[トラッキング]
- [アプリからのトラッキング要求を許可]を有効にする
- 対象のアプリがリストにあれば無効にする

- [設定アプリ]-[プライバシーとセキュリティ]-[Appleの広告]-
- [パーソナライズされた広告]を有効にする

- リモートデバイスにアプリがインストールされている場合、アンインストールする
- Visual Studioでリモートデバイスのデバッグを開始する
- リモートデバイスにアプリがインストールされ、自動起動する
- リモートデバイスでATTダイアログが表示される
コメント