FJCT_ニフクラ mobile backend(mBaaS)お役立ちブログ

スマホアプリ開発にニフクラ mobile backend(mBaaS)。アプリ開発に役立つ情報をおとどけ!

mBaaSに登録したデバイストークンを使ってローカルからプッシュ通知(iOS編)

mBaaSを使おうと思った時に一番のネックになるのがベンダーロックではないでしょうか。確かにアプリにとって重要なデータが(ユーザデータもや写真など)を保存していると気にする方も多いと思います。その点については信頼できるベンダーを選定すること、メリットとはデメリットを適切に判断することが欠かせないと言えます。

さて、今回はmBaaSの中でもプッシュ通知に関してはベンダーロックがほとんど発生しないという内容になります。もし現在mBaaS上にデバイストークンが保存されている場合、それはmBaaSからしか使えないものではないからです。保存されているトークンを使って、mBaaSを経由せずにプッシュ通知を送る方法を紹介します。

mBaaSから証明書をダウンロードする

iOS向けのプッシュ通知の場合、証明書が管理画面で登録されているかと思います。まず、それをダウンロードします。

そうするとp12という拡張子のファイルになっていると思いますので、pem形式に変換します。

openssl pkcs12 -in cert.p12 -out apple_push_notification.pem -nodes -clcerts

そしてデバイストークンをデータストアのInstrationクラスからコピーします。

今回は送信ライブラリとしてHoustonを使います。これはRuby製のライブラリです。

gem install houston

後はpemファイルとトークンを指定してプッシュ通知を送るだけです。

$ apn push "928...8cb" -c apple_push_notification.pem -m "Test from CLI"

これで無事、プッシュ通知が受け取れます。


プッシュ通知のデバイストークンはmBaaSに依るものではないというのが分かったかと思います。そのため、より詳細をこだわったプッシュ通知を配信したいといった場合にはデバイストークンをコピーして配信することも可能です。デバイストークンの取得はREST APIを使うのが良いでしょう。

なお、mBaaSの開封通知機能などは使えませんので注意してください。