クライアント SDK の構成
モバイルアプリで利用する場合と IoT で利用する場合で、それぞれ以下のクライアント SDK を利用できます。HTTPS クライアントから REST API を直接呼び出すことで、SDK を使わずに Kii Cloud を利用することもできます。
モバイルアプリ
スマートフォンなどのモバイル端末単体で動くアプリを構築する場合、各プラットフォームに向けて以下の機能別 SDK を利用できます。
Android | iOS | JavaScript | REST | |
---|---|---|---|---|
Kii Cloud SDK | ◯ | ◯ | ◯ | ◯ |
Kii Cloud SDK
Kii Cloud の基本機能を提供する SDK です。データの保存や取得、ユーザー管理、グループ管理、アプリケーション分析などの機能を提供します。また、プッシュ通知に必要な機能もこの SDK で提供されます。
過去に Kii Analytics SDK として提供されていた機能は、Kii Cloud SDK に統合されています。
IoT
IoT ソリューションを構築する場合、Thing をゲートウェイ経由で接続するか、スタンドアローンのデバイスとして直接接続するかによって使用できる SDK が異なります。
スタンドアローンで使用する場合
Thing から Kii Cloud/Thing Interaction Framework に直接接続する場合、モバイルアプリ側と Thing 側でそれぞれ以下の SDK を利用することができます。モバイルアプリと Thing の両方で実装を行うことで、これらを連携したサービスを実現できます。
対象 | 環境/言語 | Thing-IF | Kii Cloud | 混在 ※1 |
---|---|---|---|---|
モバイルアプリ | Android | Thing-IF SDK for Android | Kii Cloud SDK for Android ※2 | 可能 |
iOS | Thing-IF SDK for iOS | Kii Cloud SDK for iOS ※2 | 可能 | |
JavaSciprt | Thing-IF SDK for JavaScript | Kii Cloud SDK for JavaScript ※2 | 可能 | |
REST API | REST API(Thing-IF SDK) | REST API(Kii Cloud SDK) ※2 | 可能 | |
Thing | C | Thing-IF SDK for C | Thing SDK Embedded | 可能 |
JavaScript ※3 | - | Kii Cloud SDK for JavaScript ※2 | - | |
REST API | REST API(Thing-IF SDK) / MQTT 経由での API 実行 |
REST API(Kii Cloud SDK) ※2 | 可能 |
※1 Thing-IF SDK の実装手順で作られたプログラムをベースとして、Kii Cloud SDK の機能を使うことで両方の SDK の機能を混在できます。
※2 モバイルアプリ用の SDK に統合されています。リンク先は IoT 関連の機能ですが、上記の モバイル向け機能 を含むすべての機能を利用できます。
※3 Thing に Node.js をインストールし、Node.js 上で Thing 側のプログラムを動作させる想定です。
ゲートウェイ経由で使用する場合
ゲートウェイを利用する場合、Thing 側では基本的に Thing-IF の機能のみをサポートしています。モバイルアプリも Thing-IF の機能のみを利用する想定です。
モバイルアプリとコンバーターの両方を実装してからゲートウェイを設定することで、これらを連携したサービスを実現できます。
なお、Kii Cloud の機能を利用したい場合、コンバーターから Kii Cloud の REST API を直接呼び出すなどの変則的な対処が必要です。
対象 | 環境/言語 | Thing-IF |
---|---|---|
モバイルアプリ | Android | Kii Cloud SDK for Android ※1 |
iOS | Kii Cloud SDK for iOS ※1 | |
JavaSciprt | - | |
Thing (コンバーター) |
Go | リファレンス実装を参照可能 |
※1 ユーザー管理などの一部に Kii Cloud SDK を併用する必要があります。モバイル側では Kii Cloud SDK の全機能を利用することもできますが、Thing 側での直接的なサポートはありません。