古いバージョンを使っていたので新しく
sampleを参考に利用。
こちらは以前作ったときの。
mobile notificationi 2.1.1
中身は違うけど、Samplesを利用するとほぼ同じ感じで利用できそうです。
- Game Nitifications Manager を GameObjectに設置(DontDestroyOnLoadにしてsceneをまたぐ
- ゲームスクリプトから GameNotificationsManagerを参照して通知を送る
- Manager初期化、androidの場合は、最低一つのチャンネル供給。これはアプリケーションセッションにつき一度だけ
var channel = new GameNotificationChannel(ChannelId, "Default Game Channel", "Generic notifications"); manager.Initialize(channel);
4. 通知を作成
var notification = manager.CreateNotification();
5. 重要フィールドを設定
notification.Title = title; notification.Body = body; notification.DeliveryTime = deliveryTime;
6. スケジュール設定
manager.ScheduleNotification(notification);
とりあえずこれで、時刻指定通知はできるようです。
ローカル通知はこれだけでOKでした◎
バッヂナンバーについて
フィールド設定のときに
notification.BadgeNumber = 2;
を設定すると通知時にバッヂが付きました^^
アプリを起動すると消えます。
ナンプレHappy GRG | 懸賞も準備中です^^
https://apps.apple.com/app/id6474723781
ぜひインストールしてもらえると嬉しいです。
android編
基本そのまま使えるかと思ったらエラーが出ました。
AndroidNotificationCenter.OnNotificationReceived += OnLocalNotificationReceived;
サンプルのOnLocalNotificationReceivedの引数が違ったのでAndroidNotificationIntentData に修正
ーーー
なぜか admanagerがエラーに?
2024/01/16 18:21:24.363 20828 20857 Error Unity AndroidJavaException: java.lang.ClassNotFoundException: com.google.android.gms.ads.initialization.OnInitializationCompleteListener
2024/01/16 18:27:13.346 21723 21754 Error Unity AndroidJavaException: java.lang.ClassNotFoundException: com.unity.androidnotifications.NotificationCallback
2024/01/16 20:00:23.191 13449 13472 Error Unity AndroidJavaException: java.lang.NoSuchMethodError: no static method with name=’getNotificationManagerImpl’ signature='(Lcom.unity3d.player.UnityPlayerActivity;Lcom.unity.androidnotifications.NotificationCallback;)Ljava/lang/Object;’ in class Ljava.lang.Object;
-keep public class com.google.android.gms.ads.**{ public *; } -keep public class com.google.ads.**{ public *; } -keep class com.unity.androidnotifications.** { *; } -keepattributes *Annotation* -dontobfuscate
こんなかんじにしてみましたが解せぬ
これでとりあえずエラーは出なくなりました。
コメント