You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
PlumberUltimateAds/Assets/Scripts/NotificationPermissionReque...

38 lines
1.5 KiB
C#

using UnityEngine;
public class NotificationPermissionRequester : MonoBehaviour
{
void Start()
{
#if UNITY_ANDROID && !UNITY_EDITOR
using (AndroidJavaClass version = new AndroidJavaClass("android.os.Build$VERSION"))
{
int sdkInt = version.GetStatic<int>("SDK_INT");
if (sdkInt >= 33)
{
using (AndroidJavaClass unityPlayer = new AndroidJavaClass("com.unity3d.player.UnityPlayer"))
using (AndroidJavaObject activity = unityPlayer.GetStatic<AndroidJavaObject>("currentActivity"))
{
string permission = "android.permission.POST_NOTIFICATIONS";
using (AndroidJavaClass permissionChecker = new AndroidJavaClass("androidx.core.content.ContextCompat"))
{
int permissionStatus = permissionChecker.CallStatic<int>("checkSelfPermission", activity, permission);
if (permissionStatus != 0) // not granted
{
string[] permissions = new string[] { permission };
using (AndroidJavaClass activityCompat = new AndroidJavaClass("androidx.core.app.ActivityCompat"))
{
activityCompat.CallStatic("requestPermissions", activity, permissions, 0);
}
}
}
}
}
}
#endif
}
}