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("SDK_INT"); if (sdkInt >= 33) { using (AndroidJavaClass unityPlayer = new AndroidJavaClass("com.unity3d.player.UnityPlayer")) using (AndroidJavaObject activity = unityPlayer.GetStatic("currentActivity")) { string permission = "android.permission.POST_NOTIFICATIONS"; using (AndroidJavaClass permissionChecker = new AndroidJavaClass("androidx.core.content.ContextCompat")) { int permissionStatus = permissionChecker.CallStatic("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 } }