プッシュ通知

Kii Cloud では、プッシュ通知を利用できる仕組みを提供しています。プッシュ通知を使うと、サーバー上で発生したデータの変更を受け取ったり、デバイス間でメッセージを交換したりする機能を容易に実現できます。

Kii Cloud のプッシュ通知は、以下の技術の上に構築されています。

通常、これらの環境でプッシュ通知を使うためにはアプリケーションサーバーが必要になりますが、Kii Cloud を使うと、デバイス側の実装と Kii Cloud に対する設定だけでプッシュ通知を利用することができます。

ここでは、各プッシュ技術の技術的な側面と、Kii Cloud のプッシュ通知機能の両面から説明します。

Thing でも MQTT によるプッシュ通知を使用することができます。詳細は こちら をご覧ください。

GCM と FCM

FCM は GCM(Google Cloud Messaging) の後継となるサービスです。

Kii Cloud では GCM と FCM の両方をサポートしていますが、新規に構築するモバイルアプリでは FCM を選択してください。GCM は FCM への移行が求められています。

Kii Cloud で FCM を利用する際、API のシンボル名や開発者ポータルでの項目名は GCM の名称をそのまま使用します。モバイルアプリでは GCM 用と FCM 用の各ライブラリーを使用しますが、Kii Cloud の SDK やサーバーでは GCM と FCM を同じ扱いで処理します。

このガイドでは、基本的に FCM の記載のみを行います。旧アプリのメンテナンス用などの用途に向け、部分的に GCM の記載も残しています。

プッシュ通知の技術の選択

Kii Cloud では、使用する SDK やプラットフォームごとに、プッシュメッセージの受信処理で利用できる技術が異なります。利用できる技術は以下のとおりです。

SDK/プラットフォーム プッシュ技術
Kii Cloud SDK for Android FCM または JPush
Kii Cloud SDK for iOS APNs
Kii Cloud SDK for JavaScript Monaca
プラグイン
Android 向け FCM
iOS 向け APNs
その他
ブラウザー WebSocket 上の MQTT
Node.js TCP ソケット上の MQTT
Kii Cloud SDK for Unity Android 向け FCM
iOS 向け APNs
その他

注意点は以下のとおりです。

  • JPush は様々なプラットフォームに対応していますが、現在の Kii Cloud では、Kii Cloud SDK for Android からのみ JPush によるプッシュメッセージの受信機能を利用できます。

  • Monaca プラグインや Unity では、ビルド対象となるプラットフォームに応じて利用できるプッシュ技術が異なります。

  • 1 つのイベントを契機に、プッシュ通知の対象となっているプッシュ通知ネットワークのすべてにプッシュメッセージを送信することができます。詳細は こちら をご覧ください。

  • FCM と JPush の両方を設定できる Android アプリをデバイスにインストールし、そのデバイスで両方の初期化処理を行うと、Kii Cloud のプッシュ通知が FCM と JPush を介して 2 つ届くことになります。FCM と JPush の同時利用は設定上可能ですが、ターゲットとする環境に合わせてどちらか一方を選択することをおすすめします。

  • JavaScript では MQTT の利用の際、多くのライブラリーでは WebSocket の利用が前提となっているため、通常は WebSocket を併用します。Kii Cloud の API では、TCP を直接使用して MQTT で通信する方式もサポートしています。

FCM と JPush の選択

Android では、通常、標準的なプッシュ技術である FCM だけを使用してプッシュ通知を運用できますが、中国内の環境が関連する場合は JPush を選択できます。Kii Cloud のサーバー設定場所として "China" を選択した場合や、中国国内で端末を利用する場合、FCM によるプッシュ通知を利用できません。この場合は JPush によるプッシュ通知を利用します。

地域ごとに利用できるプッシュ技術をまとめると、以下のようになります。

FCM APNs JPush MQTT
中国以外 全世界 全世界 全世界