OneSignalを使ってプッシュ通知を簡単に実装する

OneSignalがシンプルでめちゃめちゃ使いやすかったので備忘録メモにぶっこみます。

 

OneSignalとは、ダッシュボードを起点にユーザーにメッセージを送信したり

分析をかけたりできるfirebaseのようなツールです。

今回視野に入れているのは特定の場所に侵入した場合デバイスにメッセージが届くというもの。

特定の場所に到達したらメールを送信するってfirebaseでも同じこといけると思ったのですが

多機能に加えて参考サイトも多かったというのもあり馴染む速度を重視してこちらを検討しております。

あとリファレンスが読みやすい。各デバイスごとにメソッドも全部書いてあって

これならコルドバのプラグインを使ったことがある開発者さんならスムーズに

使うことが出来るなと感じました。

無料なので気軽に使うことができる点も素晴らしいです。

アカウントに関しては、直接本アカウントを作らなくともfacebookかgoogleのアカウントが

あればログインをすることができます。

また、OneSignalはandroid、ios、monaca、cordova、unityといった様々なデバイスやフレームワーク

にも対応しており、メジャーなものは全ておさえられているのも良い点。

 

前置きが長くなったので以下本題について↓

まず、cordovaで使うにはcordova plugin addでアプリに追加するのが大前提なので以下のようにして導入します。

 


cordova plugin add onesignal-cordova-plugin --save

 

ここまでは従来のプラグインと同じ。で実際の処理は、index.jsの中に書いていきます。


document.addEventListener('deviceready', function () {
// Enable to debug issues.
window.plugins.OneSignal.setLogLevel({logLevel: 6, visualLevel: 0});

var notificationOpenedCallback = function(jsonData) {
console.log('notificationOpenedCallback: ' + JSON.stringify(jsonData));
};

window.plugins.OneSignal
.startInit("70e59150-f90c-4a4c-97c0-fc000a347a7d")
.handleNotificationOpened(notificationOpenedCallback)
.endInit();
//window.plugins.OneSignal.promptLocation();
}, false);

このstartinit内の値は、OneSignalのSettingの中のKey & IDsで取得することができます。

Key & IDsが確認できたらOneSignalIDコピーしてstartinitの中に入れます。

プログラミングはこれで終了。後はプラットフォーム(実際に受け取りたいデバイスの設定)

を設定していくのですが、ここではfirebaseComsoleで入手したFirebase Server KeyとFirebase Sender ID

が必要になってくるので持っていない人は登録して確保しておきましょう。プラットフォームの

設定方法にもfirebaseのFirebase Server KeyとFirebase Sender IDの取得方法を

書いているのでそちらを参考にしていただけると幸いです。

以下プラットフォームの設定方法↓

プラットフォームでgoogleAndroidを選択。ここではcordovaを通してandroidで確認するので

androidを選択します。

 

 

androidと連動させるには、firebaseComsoleで入手したFirebase Server KeyとFirebase Sender ID

を入力する必要があるのでそれを入れていきましょう。

 

ない場合は
①firebaseに移動
②アプリ名登録
③登録後プロジェクトの概要の右側の歯車→プロジェクトの設定を押す。
④サーバーkeyと送信者IDををコピーしておく。

コピー後Firebase Server KeyとFirebase Sender IDを入力。

 

 

 

いくつか設問がありますが後は適当にそのままnext→next→savaでプラットフォームの設定は完了です。

androidにおける必須科目はこれで一通りおさえることができました。

次は実際に送信をする方法を書いていきたいと思います。

>株式会社シーポイントラボ

株式会社シーポイントラボ

TEL:053-543-9889
営業時間:9:00~18:00(月〜金)
住所:〒432-8003
   静岡県浜松市中央区和地山3-1-7
   浜松イノベーションキューブ 315
※ご来社の際はインターホンで「316」をお呼びください

CTR IMG