Unityでローカルプッシュしたい

f:id:nuakam:20180924115239j:plain:w500



Unityでローカルプッシュを実装しよう


スマホにはローカル通知という機能がある。
こいつがなかなかのクセモノ。


そもそもローカル通知ってなに?

ローカル通知とはどういったものなのか軽く解説。



"こう…スマホにメッセージがあったときピコーン!ってメッセージ出てくるやつ"
引用元 : 私. 2018/02/02


体力制ソシャゲで時間で全回復したとき、「体力回復しました」とか

お知らせ更新あったとき、「新しいお知らせです」とかって通知するやつです。

通知の分類

通知にも色々種類があって

1.ローカル通知(オフライン)
2.リモート通知(オンライン)

このローカルとリモートは通知の形態。


1.バッチ通知 (アプリアイコンに赤い●が付いたり、数字が付いたりするやつ)
2.プッシュ通知(なんかロック画面でピコーンって透明の枠出るやつと、上からニュッって降りてくるやつ)

これらは通知方法。


そこら辺をとても分かりやすく解説した画像を見つけたので掲載。

f:id:nuakam:20180202182110p:plain:w500
引用元 : 私(プッシュ通知って単語出てこなかった当時). 2018/02/02

図にしたら理解しやすくてイイネ!!!


リモートは、サーバーからメッセージを送ると端末にピコーンと通知してくれる。
ローカルは、x秒後にピコーンと通知を出せと設定する。


タイトルのローカルプッシュとは、サーバーを介せずにゅっと出すタイプの通知。

通知はネイティブ処理

これを実装するに際の問題は、プッシュ通知は端末依存の機能だということ。

いわゆるカメラや、バイブレーション、GPSと区分は同じで、端末によって対応が違う。


つまりUnityで呼び出せず、ネイティブで実装してプラグインとして呼び出す必要がある。
(何故かIOSだけはスクリプトパッケージがある:NotificationServices。)


IOSはいいとしてAndroidは手書きが必要。

Asset買えばいいんだけどね…
なかなか買えない、カネがない。


今回はプッシュ通知をやりたかったので、

解決にはGitに上げてくださっていた、Unitypackageを使った。
smartgames.hatenablog.com


ローカル通知はx秒後でしか指定できないので、時間×60×60…みたいな計算が必要なことに注意。
AndroidManifest.xmlが競合してるから書き換えなきゃ…