今回は、アプリにローカル通知を送る方法について。
アプリから通知を送るには、以前にも何度か記事に取り上げた cordova-plugin-fcm など、インターネット経由で外部サービスと連携してプッシュ通知を送る方法がありますが、ローカル通知はアプリ自身が通知を送る仕組みです。
プラグインは「cordova-plugin-local-notifications」を使用しています。
GitHubはこちらから。
GitHub – katzer/cordova-plugin-local-notifications: Cordova Local-Notification Plugin
https://github.com/katzer/cordova-plugin-local-notifications
まずインストール方法ですが、下記のコマンドを実行します。
cordova plugin add cordova-plugin-local-notification
ローカル通知を送るには、下記のコードを実行します。
cordova.plugins.notification.local.schedule({
title: '[タイトル]',
text: '[メッセージ]',
foreground: true
});
最低限、上記のタイトルやメッセージテキストなどを指定すれば、即時に通知が送付されます。
他にも指定できる項目があり、添付ファイルや、”Yes”、”No” などのボタン、更には文字の入力欄を追加することもできます。
また、trigger という項目を指定することで、送付するタイミングや、繰り返し通知することもできます。
現時点では使ってはいませんが、こちらも便利そうですね。
サンプルコードはこちら。
// 指定した時間にローカル通知を送付
cordova.plugins.notification.local.schedule({
title: '[タイトル]',
text: '[メッセージ]',
trigger: { at: new Date([年], [月], [日], [時]) }
});
// 指定した回数だけ毎日通知する
cordova.plugins.notification.local.schedule({
title: '[タイトル]',
text: '[メッセージ]',
trigger: { every: 'day', count: [回数] }
});
個人的には、あるエリアに行くと通知する、という下記のコードも便利そうだと思います。
cordova.plugins.notification.local.schedule({
title: '[タイトル]',
text: '[メッセージ]',
trigger: {
type: 'location',
center: [lat, long],
radius: [通知半径],
notifyOnEntry: true
}
});
ただし、こちらの位置による通知は iOS 未対応のようです。
ご利用になる際には、その点だけご注意ください。
以上、アプリにローカル通知を送信する方法についてでした。
予定のリマインドなど自分自身に通知を送りたいだけの時には、こちらのプラグインで十分だと思います。