From ad47a9696b8e8603177d4d793e0f96a6e8c9c483 Mon Sep 17 00:00:00 2001 From: huyufei Date: Thu, 25 Apr 2024 20:13:36 +0800 Subject: [PATCH] =?UTF-8?q?update:=20=E6=B7=BB=E5=8A=A0=20Android=20Target?= =?UTF-8?q?=2033=20=E5=9C=A8=20Consent=20=E7=BB=93=E6=9D=9F=E5=90=8E,=20?= =?UTF-8?q?=E5=BC=B9=E5=87=BA=20Push=20Notification=20=E6=9D=83=E9=99=90?= =?UTF-8?q?=E7=9A=84=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Runtime/Code/SDK/GuruSDK.Ads.cs | 41 ++++++++++++++++++++++++++++++++- Runtime/Code/SDK/GuruSDK.cs | 1 - 2 files changed, 40 insertions(+), 2 deletions(-) diff --git a/Runtime/Code/SDK/GuruSDK.Ads.cs b/Runtime/Code/SDK/GuruSDK.Ads.cs index 11921f8..4ba5d1f 100644 --- a/Runtime/Code/SDK/GuruSDK.Ads.cs +++ b/Runtime/Code/SDK/GuruSDK.Ads.cs @@ -129,6 +129,8 @@ namespace Guru #if UNITY_IOS CheckAttStatus(); // [iOS] Consent 启动后检查 ATT 初始值 +#elif UNITY_ANDROID + CheckPermission(); // [Android] Consent 回调后检查 Push 推送权限 #endif // 内部处理后继逻辑 @@ -222,7 +224,44 @@ namespace Guru } #endif - #endregion + #endregion + + #region Android 13 PushNotification Permission + + private const string PERMISSION_POST_NOTIFICATION = "android.permission.POST_NOTIFICATIONS"; + + private void CheckPermission() + { + float delay = 1; + Debug.Log($"---- Check PushPermission ---"); +#if UNITY_ANDROID + // 如果已经请求过权限的话, 则不做动作 + if (UnityEngine.Android.Permission.HasUserAuthorizedPermission(PERMISSION_POST_NOTIFICATION)) + { + Debug.Log($"--- PushPermission has passed ---"); + return; + } +#endif + Invoke(nameof(RequestNotification), delay); + } + + /// + /// 请求Notification + /// + private void RequestNotification() + { +#if UNITY_ANDROID + Debug.Log("--- Target 33 Request Notification ---"); + // Android直接申请授权 + if (!UnityEngine.Android.Permission.HasUserAuthorizedPermission(PERMISSION_POST_NOTIFICATION)) + { + UnityEngine.Android.Permission.RequestUserPermission(PERMISSION_POST_NOTIFICATION); + } +#endif + } + + + #endregion #region Ad Services diff --git a/Runtime/Code/SDK/GuruSDK.cs b/Runtime/Code/SDK/GuruSDK.cs index 6626420..9e3a025 100644 --- a/Runtime/Code/SDK/GuruSDK.cs +++ b/Runtime/Code/SDK/GuruSDK.cs @@ -249,7 +249,6 @@ namespace Guru //-------- SetUserProperties --------- InitUserProperties(); - bool useKeywords = false; bool useIAP = _initConfig.IAPEnabled; bool appleReview = false;