プラットフォームによる機能差異

各プラットフォームに向けて提供されている機能は基本的に同等のものですが、プラットフォームの性質に応じて、一部サポートされていない機能があります。

モバイル

現在、モバイル向けの各プラットフォームでサポートされている機能は次のとおりです。

機能 Android iOS JavaScript REST API
Kii Cloud SDK
ユーザー管理 ユーザー登録、ログイン、削除
登録時のメール/電話番号認証
ユーザー属性の保持
リフレッシュトークンの利用、自動保存された認証情報でのログイン
外部サービスとの連携 詳細 詳細 詳細 詳細
パスワード変更、リセット
グループ管理 グループの作成、削除、利用
グループオーナーの変更
グループメンバーの管理
データ管理 Bucket の作成、削除、利用
KiiObject(キーと値のペア)の利用
KiiObject への位置情報付与
Object Body(ファイル)の利用 詳細 詳細 詳細 詳細
Bucket/KiiObject に対するアクセス制御
管理者権限でのデータアクセス
管理者機能 管理者権限での操作
アプリの設定確認、パスワード強制変更、ユーザー無効化
A/B テスト
プッシュ通知 プッシュ通知の設定と講読
メッセージの送信
メッセージの受信※1
サーバー機能拡張 Server Code の手動実行
Server Code の実装、トリガー/スケジュールでの実行
アプリ分析 基本分析
カスタム分析(アプリデータ)
カスタム分析(イベントデータ)
Kii PhotoColle SDK(サーバー設置場所が日本の場合のみ利用可能)
d アカウント、d フォトとの連携

※1 受信時に利用できるプッシュ通知の技術については、下記の プッシュ通知 を参照してください。

プッシュ通知

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

プラットフォーム プッシュ技術
Android FCM または JPush
iOS APNs
JavaScript Cordova Android 向け FCM
iOS 向け APNs
その他
ブラウザー WebSocket 上の MQTT
Node.js TCP ソケット上の MQTT

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

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

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

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

IoT

IoT 向けに利用できる機能は、Thing-IF SDK と Kii Cloud SDK で異なります。

Thing-IF SDK

モバイル側、Thing 側とも、Thing-IF SDK でサポートしているすべての機能を利用できます。

  • モバイル側

    Android、iOS、JavaScript の SDK を使ってモバイル側の機能を実装できます。Thing Interaction Framework が提供しているコマンドの送信、ステートの参照、自動実行の設定などのモバイル側の機能を利用できます。

    いずれのプラットフォームでも基本的に同じ機能を利用できますが、JavaScript ではサポートしている機能が一部異なります。

    機能 Android iOS JavaScript
    Thing Interaction Framework の利用
    初期化済み ThingIFAPI インスタンスのローカル保存と復元
    オーナー以外の権限(アプリ管理者など)での操作
    ゲートウェイの操作
  • Thing 側

    Thing-IF SDK for C を使って Thing 側の機能を実装できます。Thing Interaction Framework が提供しているモバイルからのコマンドの受信、ステートの登録などの Thing 側の機能を利用できます。

Kii Cloud SDK

  • モバイル側

    IoT 向けのモバイルアプリを実装する場合、モバイル向けのすべての機能に加え、以下の機能を利用できます。

    機能 Android iOS JavaScript REST API
    Thing 管理 Thing の登録、オーナーの設定、データ管理
    PIN コード認証、オーナー確認
    Thing のアクセストークンによる利用 ◯ ※1

    ※1 モバイル側では Thing のアクセストークンは原則として使用しません。この機能は Thing 側の実装で利用します。

  • Thing 側

    Thing 側の SDK では、C 言語と JavaScript(Node.js)の環境を選択できます。REST API も使用できます。

    C 言語と使用する場合は、Thing-IF SDK の内部で使用されている Thing SDK Embedded を使って Kii Cloud の機能を利用できます。Thing SDK Embedded の API では Thing 側実装に必要なサブセットの機能を利用できます。Thing SDK Embedded が持つ REST API の呼び出し機能を使えば、Kii Cloud のすべての機能を利用できます。

    JavaScript を使用する場合は、Node.js 上で Kii Cloud SDK for JavaScript の持つすべての機能が利用できます。この際、Thing のアクセストークンを使って Kii Cloud にアクセスできます。なお、Thing-IF SDK for JavaScript は Thing 側の実装に対応しない点にご注意ください。

プッシュ通知

IoT ソリューションのモバイルアプリでプッシュ通知を使用する場合、利用できる技術はモバイル向けの場合と同じです。上記モバイル向けの プッシュ通知 を参照してください。

Thing 側では、通常 MQTT を使用します。