Kii Cloud でのプッシュ通知機能

Kii Cloud では、プッシュ通知を利用するシーンに応じて、以下の 3 種類の機能を用意しています。

  • サーバー上変更のプッシュ通知(Push to App)

    Bucket の状態が変化したことをプッシュ通知によって受け取る機能です。Bucket をあらかじめ講読しておくと、その Bucket の内部の KiiObject の作成や更新などを契機に、Kii Cloud が自動的にプッシュメッセージを送信します。

    例:ある Bucket 内に新たな KiiObject が作成された際にプッシュ通知を受ける。

  • ユーザープッシュ通知 (Push to User)

    モバイルアプリのユーザーや管理者がメッセージをプッシュ送信する仕組みです。モバイルアプリから、特定の意味を持たせたトピックをあらかじめ作成し、講読しておきます。そのトピックにメッセージが送信されたタイミングで、購読者にメッセージをプッシュ通知します。

    例:グループメンバー間でプッシュメッセージを交換する。

  • 管理者メッセージのプッシュ通知(Direct Push)

    アプリケーションの管理者が特定のユーザー 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 相当の機能の実現方法は、メッセージのカスタマイズ を参照してください。