Unity IOS 14 Advertising Support
引言
研究这个的起因是有一次IOS打包,审核被拒,原因是Guideline 5.1.2 - Legal - Privacy - Data Use and Sharing
研究了半天,发现是使用Google广告导致的,需要在启动的时候申请一个权限。
解决方案
1、使用的是Unity本身提供的方案,直接在Package Manager中下载iOS 14 Advertising Support包,导入工程。
2、在启动的时候添加如下代码
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
#if UNITY_IOS
using UnityEngine.iOS;
using Unity.Advertisement.IosSupport;
using System;
#endif
public class Test:MonoBehaviour
{
void Start()
{
#if UNITY_IOS
// check with iOS to see if the user has accepted or declined tracking
var status = ATTrackingStatusBinding.GetAuthorizationTrackingStatus();
Version currentVersion = new Version(Device.systemVersion);
Version ios14 = new Version("14.5");
if (status == ATTrackingStatusBinding.AuthorizationTrackingStatus.NOT_DETERMINED && currentVersion >= ios14)
{
Debug.Log("申请广告权限");
ATTrackingStatusBinding.RequestAuthorizationTracking();
}
#endif
}
}
3、打包到Xcode的时候需要添加权限,Privacy - Tracking Usage Description