3. プロジェクト設定
3.1 AdMob アプリ ID
有効にしている広告ネットワークに AdMob/GAM が含まれる場合は、ご自身の AdMob アプリ ID を Info.plist に追加してください(アプリ固有の値のため、xcframework 内には同梱できません)。
<key>GADApplicationIdentifier</key>
<string>ca-app-pub-XXXXXXXXXXXXXXXX~YYYYYYYYYY</string>3.2 SKAdNetworkItems
AKS が利用するメディエーション/アトリビューションネットワーク(AppLovin、IronSource、およびそれらの入札パートナー)が ATT のもとでインストールを正しく計測するには、SKAdNetworkIdentifier のエントリが必要です。リファレンスアプリには、AppLovin、IronSource、Meta などのメディエーションパートナーをカバーする約 48 件のエントリが含まれています。これらのネットワークでは随時新しい ID が追加されるため、古いリストをコピーせず、広告ネットワークのダッシュボードから最新のリストを取得してください(AppLovin、IronSource、AdMob がそれぞれ公開しています)。
3.3 App Tracking Transparency(ATT)— 別途実装が必要
注意: リファレンス実装には、NSUserTrackingUsageDescription も ATTrackingManager.requestTrackingAuthorization() の呼び出しも含まれていません。iOS では、AKS がアプリに代わって ATT の許可ダイアログを表示することはありません。AdMob/AppLovin/IronSource のメディエーションや AppsFlyer/Adjust のアトリビューションで IDFA を利用するには、次の両方を自分で追加する必要があります。
<key>NSUserTrackingUsageDescription</key>
<string>Your data will be used to deliver personalized ads.</string>import AppTrackingTransparency
ATTrackingManager.requestTrackingAuthorization { status in
// call this before initializing ads — see §4.4
}利用目的の説明文がない状態で requestTrackingAuthorization を呼び出すと、実行時にクラッシュします。Info.plist のキーを追加せずにこの呼び出しだけを追加しないでください。また、SDK を組み込んだだけで、どちらも対応済みだと考えないようにしてください。
3.4 GoogleService-Info.plist
Firebase の GoogleService-Info.plist を通常の手順でアプリターゲットに追加してください(ソースフォルダにドラッグし、ターゲットへの所属を確認します)。AKS 固有の設定はなく、Firebase の標準的なセットアップ手順をそのまま適用できます。
3.5 デプロイメントターゲット
AppsKit.xcframework/AKSKit.xcframework は、最小対応バージョンを iOS 15.0 として、Swift 5.9(Xcode 15.2 以降)でビルドされています。また、モジュールの安定性を確保するため、BUILD_LIBRARY_FOR_DISTRIBUTION: YES が設定されています。アプリターゲットの IPHONEOS_DEPLOYMENT_TARGET を 15.0 以上に設定してください。Podfile の post_install(§1.2)でも、すべての pod ターゲットが 15.0 に強制設定される点に注意してください。そのため、アプリ側のターゲットをそれより低く設定しても、pods とは正常にリンクできません。