Unity : Mobile Notification 2.1.1

iOS

古いバージョンを使っていたので新しく

GitHub - Unity-Technologies/NotificationsSamples: Sample project for Unity Notifications
Sample project for Unity Notifications. Contribute to Unity-Technologies/NotificationsSamples development by creating an account on GitHub.

sampleを参考に利用。

Unity Mobile Notification / LocalNotification / PushNotification を実装してみる vol.1
Unity Mobile Notifications PackageUnity-Technologies/NotificationsSamplesこちらを利用して実装してみたいと思います。Mobile Notifi...

こちらは以前作ったときの。

mobile notificationi 2.1.1


中身は違うけど、Samplesを利用するとほぼ同じ感じで利用できそうです。

  1. Game Nitifications Manager を GameObjectに設置(DontDestroyOnLoadにしてsceneをまたぐ
  2. ゲームスクリプトから GameNotificationsManagerを参照して通知を送る
  3. 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編

基本そのまま使えるかと思ったらエラーが出ました。

Delegate AndroidNotificationCenter.NotificationReceivedCallback | Mobile Notifications | 2.1.1

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

こんなかんじにしてみましたが解せぬ

これでとりあえずエラーは出なくなりました。

お気軽にコメントください!

スパム対応のためコメント認証に数日かかることがありますが、お気軽にコメントいただけると嬉しいです^^

コメント

タイトルとURLをコピーしました