プラットフォームによる機能差異
各プラットフォームに向けて提供されている機能は基本的に同等のものですが、プラットフォームの性質に応じて、一部サポートされていない機能があります。
モバイル
現在、モバイル向けの各プラットフォームでサポートされている機能は次のとおりです。
機能 | Android | iOS | JavaScript | REST API | ||
Kii Cloud SDK | ||||||
ユーザー管理 | ユーザー登録、ログイン、削除 | ◯ | ◯ | ◯ | ◯ | |
登録時のメール/電話番号認証 | ◯ | ◯ | ◯ | ◯ | ||
ユーザー属性の保持 | ◯ | ◯ | ◯ | ◯ | ||
リフレッシュトークンの利用、自動保存された認証情報でのログイン | ◯ | ◯ | - | ◯ | ||
パスワード変更、リセット | ◯ | ◯ | ◯ | ◯ | ||
グループ管理 | グループの作成、削除、利用 | ◯ | ◯ | ◯ | ◯ | |
グループオーナーの変更 | - | - | - | ◯ | ||
グループメンバーの管理 | ◯ | ◯ | ◯ | ◯ | ||
データ管理 | Bucket の作成、削除、利用 | ◯ | ◯ | ◯ | ◯ | |
KiiObject(キーと値のペア)の利用 | ◯ | ◯ | ◯ | ◯ | ||
KiiObject への位置情報付与 | ◯ | ◯ | ◯ | ◯ | ||
Object Body(ファイル)の利用 | 詳細 | 詳細 | 詳細 | 詳細 | ||
Bucket/KiiObject に対するアクセス制御 | ◯ | ◯ | ◯ | ◯ | ||
管理者権限でのデータアクセス | - | - | ◯ | ◯ | ||
管理者機能 | 管理者権限での操作 | - | - | ◯ | ◯ | |
アプリの設定確認、パスワード強制変更、ユーザー無効化 | - | - | - | ◯ | ||
プッシュ通知 | プッシュ通知の設定と講読 | ◯ | ◯ | ◯ | ◯ | |
メッセージの送信 | ◯ | ◯ | ◯ | ◯ | メッセージの受信 ※1 | ◯ | ◯ | ◯ | - |
サーバー機能拡張 ※2 | Server Code の手動実行 | ◯ | ◯ | ◯ | ◯ | |
Server Code の実装、トリガー/スケジュールでの実行 | - | - | ◯ | - | ||
アプリ分析 | 基本分析 | ◯ | ◯ | ◯ | ◯ |
※1 受信時に利用できるプッシュ通知の技術については、下記の プッシュ通知 を参照してください。
※2 サーバー機能拡張は契約済のお客様のみ利用できます。詳細は 試用期間中におけるサーバー機能拡張の提供終了 (2021.01.19) を参照してください。
プッシュ通知
Kii Cloud では、使用するプラットフォームごとに、プッシュメッセージの受信処理で利用できる技術が異なります。利用できる技術は以下のとおりです。
プラットフォーム | プッシュ技術 | ||
---|---|---|---|
Android | FCM | ||
iOS | APNs | ||
JavaScript | Cordova | Android 向け | FCM |
iOS 向け | APNs | ||
その他 | - | ||
ブラウザー | WebSocket 上の MQTT | ||
Node.js | TCP ソケット上の MQTT |
注意点は以下のとおりです。
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 を使用します。