SDK での API の構成

モバイルアプリでは、ゲートウェイやエンドノードにアクセスするため、以下の 2 つの SDK を使用します。

  • Kii Cloud SDK

    ユーザーやグループなど、ゲートウェイやエンドノードのオーナーのアクセストークンを取得するために使用します。

  • Thing-IF SDK

    ゲートウェイやエンドノードの初期登録を行ったり、コマンドやステートを扱ったりするために使用します。

    この SDK では、API を以下の 2 つのクラスによって定義しています。

    • ThingIFAPI

      モバイルアプリから Thing Interaction Framework にアクセスするための API クラスです。

      この API クラスには、Thing Interaction Framework を操作するためのメソッドが用意されています。たとえば、初期登録を実行したり、機能モデル に従ってエンドノードにコマンドを送信したりする場合は、この API クラスを使用します。

    • GatewayAPI

      モバイルアプリからゲートウェイエージェントにアクセスするための API クラスです。Wi-Fi などのローカルネットワーク経由でアクセスします。

      この API クラスには、ゲートウェイを管理するためのメソッドが用意されています。たとえば、初期化待ちのエンドノードを取得したり、エンドノードの初期化完了を通知したりするものがあります。

インスタンスの管理

モバイルアプリからエンドノードを操作する場合、ThingIFAPIGatewayAPI のインスタンスが必要です。

  • ゲートウェイへのアクセス

    ゲートウェイにアクセスするため、ゲートウェイ 1 台に対して 1 個ずつ ThingIFAPIGatewayAPI のインスタンスを扱います。

  • エンドノードへのアクセス

    操作対象のエンドノードの数だけ ThingIFAPI のインスタンスを扱います。特定のエンドノードを操作するときは、そのエンドノードを初期登録した ThingIFAPI インスタンスのメソッドを呼び出します。

以下は、エンドノード 2 点を扱う場合の API クラスの例です。各エンドノードに対して 1 件の ThingIFAPI が、ゲートウェイに対して 1 件ずつの ThingIFAPIGatewayAPI が初期化されています。

たとえば、LED2 にコマンドを送りたい場合、それにつながっている上から 2 番目の ThingIFAPI インスタンスに対して、コマンド送信のメソッドを呼び出すことになります。