【Unity】ローカル通知のプラグインを作る


前回Androidプラグインを作れるようになった。

【Unity】AndroidStudioでプラグインを作る
動機UnityでAndroidアプリを作ると、言語の違いでどうしても手が届かない所がある。プラグインをJavaで作ってUnityで呼び出したい。前置きまず Android プラグインの開...

今回は作りたかったローカル通知(ローカルプッシュ)の機能を作ります。

ローカル通知ってのはステータスバーに表示されるやつで、ネット経由で発信されるやつ(リモート通知)じゃなくインストールしたアプリから出される通知です。

プラグインの作成

Unityで直接使うクラスとレシーバを作成する。

ソースコード×2
  • SET:通知の予約をする。
  • CANCEL:通知予約を解除する
  • DELETE:通知されたものを削除する

それぞれキー毎にセットして通知される前にキャンセルすれば通知されない。

通知された後にデリートすると通知を削除できる。全削除も可能。

 

意図する通りに動いてはいるが Intent の使い方が多分おかしい。

レシーバーで上書きせずに LocalPush.java で

とすれば良い気がするけど、これだとタップ起動しない。

この辺の勉強したことないからなー。よくわからん。

また返り値は Android 実機でのデバッグ用なので特に必要ない。

Unity側

Assets / Plugins / Android 以下に arrファイルとAndroidManifest.xml を配置する。

 

使い方はこんな感じ。

テスト

適当なプロジェクトを作って確認してみる。

2つのメッセージを出してもアイコンは1つ表示された。

この状態から下の通知だけデリート、なんてことも出来た。

また、全削除しても別のアプリの通知は削除されない。

 

後は通知の予約とキャンセルを上手く制御すればOK。

 


「【Unity】ローカル通知のプラグインを作る」への1件のフィードバック

コメントを残す

メールアドレスが公開されることはありません。