Help us understand the problem. What is going on with this article?

NativeScriptでプッシュ通知を実装

More than 3 years have passed since last update.

(元記事)

NativeScriptでプッシュ通知を実装したので、大まかな流れだけ書いてみようと思う。なお、BaaSには、Reproというサービスを使用した。

iOS

実装の流れ

  1. CSRファイルの作成
  2. 開発用証明書(.cer)の作成
  3. AppIDの作成
  4. 端末の登録
  5. プロビショニングプロファイルの作成
  6. APNs用証明書(.cer)の作成
  7. APNs用証明書(.p12)の作成、Reproへのアップロード
  8. Reproのネイティブライブラリを使うため、NativeScript Pluginを作成
  9. NativeScript Plugin側で、Repro SDK(CocoaPods)と*.frameworkの依存関係を記述
  10. Reproのネイティブ実装をJavaScriptで実装(APNsへの端末の登録・デバイストークンの設定)

1-5は、既存のものがあればそれを利用してよく、6,7でプッシュ通知用の証明書をつくることが重要である。こうしてみると、1-7はネイティブアプリのフローと全く変わらないことがわかる。また、8以降もObjective-C=>JavaScriptの変換だけなので、慣れればそこまで大変ではない。実際、(僕の場合)時間がかかったのは、経験の少ない、1-7の証明書関連だった。

他に注意点としては以下がある。

  • 開発用証明書と同じCSRファイルでAPNs用証明書を作成すること
  • プッシュ通知はiOS Simulatorでは動かないので、実機で検証する必要がある
  • AdHoc版ではプッシュ通知が送信できない?時があるので、それ用の証明書をつくるほうがよい

参考

Android

実装の流れ

  1. Firebase Consoleでプロジェクトを作成
  2. クラウドメッセージングのAPIキーを生成
  3. APIキーをReproに登録
  4. 端末にGoogel Palyストアをインストール(エミュレーターなどで、未インストールの場合がある)
  5. Reproのネイティブライブラリを使うため、NativeScript Pluginを作成
  6. NativeScript Plugin側で、Repro SDKの依存関係を記述
  7. NativeScript Plugin側で、AndroidManifest.xmlの設定を記述
  8. Reproのネイティブ実装をJavaScriptで実装(カスタムアクティビティでデバイストークンの登録)

こちらもiOSと同様で、1-4はネイティブと同じフローとなる。4をもう少し早く切り分けられると良かったと思う...。ネイティブの実装をしっかり認識しておくことはいずれにせよ必要だなと感じた。

参考

おわり

以上、NativeScriptでのプッシュ通知実装についてまとめてみました。参考になれば幸いです。

okmttdhr
dmmcom
総合エンタテイメントサイト「DMM.com」を運営。会員数は2,900万人を突破。動画配信、FX、英会話、ゲーム、太陽光発電、3Dプリンタなど40以上のサービスを展開。沖縄での水族館事業参入、ベルギーでのサッカークラブ経営など、様々な事業を手掛ける。また2018年より若手起業家の支援を強化、「DMM VENTURES」による出資や、M&Aなどを積極的に展開している。
https://dmm-corp.com
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away