Mobile Notifications を使う方法
Mobile Notifications 2.1.0 を使えば簡単に実装できる
Mobile Notifications 2.1.0 を使用して
Android 13 で通知許可ダイアログを開く方法は上記のページの
「Request permission to post notifications」に記載されている
UnityEngine.Android.PermissionCallbacks を使う方法
var callbacks = new PermissionCallbacks(); // はじめて通知許可ダイアログが表示された時に // 「許可」が押された時に呼び出されるコールバック callbacks.PermissionGranted += _ => Debug.Log( "PermissionGranted" ); // はじめて通知許可ダイアログが表示された時に // 「許可しない」が押された時に呼び出されるコールバック callbacks.PermissionDenied += _ => Debug.Log( "PermissionDenied" ); // 2 回目以降の通知許可ダイアログの表示時に // 「許可しない」が押された時に呼び出されるコールバック callbacks.PermissionDeniedAndDontAskAgain += _ => Debug.Log( "PermissionDeniedAndDontAskAgain" ); // 通知許可ダイアログを開く Permission.RequestUserPermission( "android.permission.POST_NOTIFICATIONS", callbacks );
上記のように UnityEngine.Android.PermissionCallbacks を使用すれば
このように通知許可ダイアログを開くことができる
Firebase Cloud Messaging と組み合わせる例
using Firebase.Messaging; using UnityEngine; using UnityEngine.Android; public sealed class Example : MonoBehaviour { private async void Start() { await Firebase.FirebaseApp.CheckAndFixDependenciesAsync(); FirebaseMessaging.TokenReceived += ( _, _ ) => { }; FirebaseMessaging.MessageReceived += ( _, _ ) => { }; var callbacks = new PermissionCallbacks(); callbacks.PermissionGranted += _ => Debug.Log( "PermissionGranted" ); callbacks.PermissionDenied += _ => Debug.Log( "PermissionDenied" ); callbacks.PermissionDeniedAndDontAskAgain += _ => Debug.Log( "PermissionDeniedAndDontAskAgain" ); Permission.RequestUserPermission( "android.permission.POST_NOTIFICATIONS", callbacks ); } }