Kii Cloud でのプッシュ通知機能
Kii Cloud では、プッシュ通知を利用するシーンに応じて、以下の 3 種類の機能を用意しています。
-
Bucket の状態が変化したことをプッシュ通知によって受け取る機能です。Bucket をあらかじめ講読しておくと、その Bucket の内部の KiiObject の作成や更新などを契機に、Kii Cloud が自動的にプッシュメッセージを送信します。
例:ある Bucket 内に新たな KiiObject が作成された際にプッシュ通知を受ける。
-
モバイルアプリのユーザーや管理者がメッセージをプッシュ送信する仕組みです。モバイルアプリから、特定の意味を持たせたトピックをあらかじめ作成し、講読しておきます。そのトピックにメッセージが送信されたタイミングで、購読者にメッセージをプッシュ通知します。
例:グループメンバー間でプッシュメッセージを交換する。
-
アプリケーションの管理者が特定のユーザー 1 人に直接メッセージを通知する仕組みです。開発者ポータルのユーザーインターフェイスまたは REST API で、指定したユーザー 1 人に JSON 形式のメッセージを送信できます。
例:ある特定のユーザーに対して直接アラートを送る。
これら 3 つの機能をまとめると以下の表のようになります。
機能 | スコープ | 機能 | 購読対象の作成 | 受信の設定 | メッセージの送信 |
---|---|---|---|---|---|
サーバー上の変更のプッシュ通知(Push to App) | アプリケーション | 購読中の Bucket 内で、Kii Cloud が定めた更新イベントが発生したときにプッシュ通知 | 作成不要(Bucket を購読) | Kii Cloud SDK、REST API で Bucket を購読 | 定義済みの更新イベントが発生したとき、システムが自動的に送信 |
グループ | |||||
ユーザー | |||||
ユーザープッシュ通知(Push to User) | アプリケーション | トピックを作成し、そのトピックを購読中のユーザーに対してプッシュ通知のメッセージを送信 | Kii Cloud SDK for JavaScript、REST API でトピックを作成(管理者権限)※1 | Kii Cloud SDK、REST API でトピックを購読 | 開発者ポータル、REST API、Kii Cloud SDK for JavaScript で送信(管理者権限) |
グループ | Kii Cloud SDK、REST API でトピックを作成 | Kii Cloud SDK、REST API から送信 | |||
ユーザー | Kii Cloud SDK、REST API でトピックを作成 | Kii Cloud SDK、REST API から送信 | |||
管理者メッセージのプッシュ通知(Direct Push) | - | 特定のユーザー 1 人に開発者ポータルから直接メッセージを送信 | 作成不要(無条件に送信) | 購読によらず、無条件に送信 | 開発者ポータル、REST API で送信(管理者権限) |
※1 Kii Cloud SDK でメソッド名が予約されているプラットフォームがありますが、Kii Cloud SDK for JavaScript 以外では機能しませんん(呼び出した場合は常にエラーとなります)。
Thing スコープについては プッシュ通知の機能 をご覧ください。
Push to App と Push to User の使い分け
プッシュ通知を使って Bucket の更新をモバイルアプリに伝えるようなケースでは、Push to App と Push to User のどちらを使っても目的の機能を実現できます。単純に更新の通知を行いたい場合には Push to App の利用を、チューニングやカスタマイズを含めた柔軟性が必要な場合には Push to User の利用をおすすめします。
Push to App では、Bucket の更新が行われるたびに自動的にプッシュ通知が行われます。Push to User では、Bucket の更新操作に加えて、プログラムからトピックに対してメッセージを送信する処理を実装すると、Push to App と同等の機能を実現できます。
Push to App はプッシュ通知が自動的に行われるメリットがありますが、更新の種類によるプッシュ通知のマスクや、送信のタイミングの制御が行えません。また、ペイロードの内容もカスタマイズできません。
Push to User はプッシュ通知の送信処理が必要ですが、送信処理の柔軟な制御が可能です。たとえば複数回の更新を 1 回のプッシュ通知でまとめるようなチューニングや、iOS の通知センターに表示されるメッセージのカスタマイズなども実現できます。
なお、Push to App 相当の機能の実現方法は、メッセージのカスタマイズ を参照してください。