プッシュ通知
Kii Cloud では、以下の技術によるプッシュ通知をサポートしています。
Kii Cloud SDK for JavaScript では、以下のとおり MQTT、FCM、APNs を使用できます。
- Web アプリや Node.js アプリを作成する場合は、WebSocket 上の MQTT または TCP ソケット上の MQTT によるプッシュ通知を使用できます。
- Cordova アプリを作成する場合は、Cordova の構成ファイルに SDK ファイルを直接追加することで FCM または APNs によるプッシュ通知を利用できます。
他のプラットフォームを組み合わせる場合は、Android や iOS のプッシュ通知機能の説明を参照してください。また、プラットフォーム別の一覧は、プッシュ通知 を参照してください。
なお、本ガイドでは、FCM や APNs などのプッシュ通知を実現するサービスのことを、便宜上、プッシュ通知ネットワークと呼びます。
プッシュ通知とは
プッシュ通知は、クライアント側からの明確な取得要求がなくても、サーバー側で発生したイベントをクライアントに伝える仕組みです。クライアントからデータを取りに行く代わりに、サーバーから即座に通知を受け取ることができます。
プッシュ通知を使わずにサーバーの変化を知るには、定期的にサーバーにリクエストして、データを取得し続ける必要があります。しかし、これではタイムラグが生じてしまいます。リアルタイム性を高めるために更新間隔を短くすると、端末のバッテリ消費の増大、通信量の増加、サーバーの負荷上昇など、様々な問題が生じます。
プッシュ通知を使うと、この問題を解決できます。プッシュ通知の実装方法には様々な方式がありますが、多くは、サーバーとの間にコネクションを張り続けることによってサーバー側の変化を低コストかつ迅速に伝えます。
Kii Cloud では、サーバー側のイベントを発生させる条件として、Bucket の変更や他のクライアントからのメッセージの送信などを用意しています。
実装手順
モバイルアプリにプッシュ通知の機能を実装する際は、以下の手順に従って作業を進めることをおすすめします。
Web アプリまたは Node.js アプリの開発
まずは、以下のコンテンツによって全体の技術概要を理解することをおすすめします。
- MQTT プロトコル:MQTT の技術情報について、Kii Cloud での利用に必要な範囲でまとめています。
- Kii Cloud のプッシュ通知の概要:Kii Cloud でのプッシュ通知の仕組みや、サポートしている機能の概要についてまとめています。
プッシュ通知(MQTT)の導入 に従ってプッシュ通知の導入作業を行います。
JavaScript(Web)プッシュ通知設定チュートリアル を使ってテスト用のアプリを構築し、スケルトンとして使用しても構いません。
以下の 3 つのプッシュ通知の機能を利用して、プッシュメッセージの送信機能と受信機能を実装します。
- サーバー上変更のプッシュ通知(Push to App):購読済みの Bucket 内の更新をプッシュ通知として受け取ります。
- ユーザープッシュ通知 (Push to User):購読済みのトピックへのメッセージをプッシュ通知として受け取ります。
- 管理者メッセージのプッシュ通知(Direct Push):開発者ポータルからアプリ開発者がプッシュ通知を送信します。
Cordova アプリの開発
まずは、以下のコンテンツによって全体の技術概要を理解することをおすすめします。
- プッシュ通知の技術概要:Cordova 用のコンテンツは特に用意していませんが、Kii Cloud SDK for Android の FCM の技術概要 や、Kii Cloud SDK for iOS の APNs の技術概要 を参考にしてください。
- Kii Cloud のプッシュ通知の概要:Kii Cloud でのプッシュ通知の仕組みや、サポートしている機能の概要についてまとめています。
プッシュ通知の設定と初期化処理の実装を行います。
Kii Cloud SDK 導入手順の プッシュ通知の導入 を参考にして、プッシュ通知の設定と初期化処理の実装を行います。
以下の 3 つのプッシュ通知の機能を利用して、プッシュメッセージの送信機能と受信機能を実装します。
- サーバー上変更のプッシュ通知(Push to App):購読済みの Bucket 内の更新をプッシュ通知として受け取ります。
- ユーザープッシュ通知 (Push to User):購読済みのトピックへのメッセージをプッシュ通知として受け取ります。
- 管理者メッセージのプッシュ通知(Direct Push):開発者ポータルからアプリ開発者がプッシュ通知を送信します。