アプリケーション開発

Android SDK編

SDK 概要

Android SDK は、IoTアクセス制御エンジンの Web API v2 を簡単に扱えるようにする Android ライブラリです。Android SDK を使うことで、IoTアクセス制御エンジンの Web API v2 の仕組みや認証シーケンスなどを意識することなく、簡単な Java コードでIoTアクセス制御エンジンへのアクセスを可能とし、アプリケーション開発を手助けします。

※現在は、一時的にSDKの配布を中断しております。

対象 OS バージョン

本 SDK がサポートする OS バージョンは Android 7.0 (API レベル 24) 以上です。

インストール

Android Studio で Android のプロジェクトを作成したプロジェクトの libs に Symphony SDK の symphony-sdk-{version}.aar を格納します。

/YourAppProject
  ┣━ /app
  ┃    ┣━ /libs
  ┃    ┃   ┗━ symphony-sdk-{version}.aar
  ┃    ┣━ /src
  ┃    ┗━ build.gradle
  ┗━ build.gradle

app/build.gradle を以下のように修正して、aar ファイルを読み込むようにします。

dependencies {
    implementation fileTree(dir: 'libs', include: ['*.jar'])
         ↓
    implementation fileTree(dir: 'libs', include: ['*.jar', '*.aar'])

本 SDK で使用するライブラリ com.android.support:customtabs:27.1.1 と org.java-websocket:Java-WebSocket:1.3.9 を追加します。

dependencies {
              :
    implementation 'com.android.support:customtabs:27.1.1'
    implementation 'org.java-websocket:Java-WebSocket:1.3.9'

また、本 SDK は、Java 8 の機能を使用しますので、minSdkVersion は 24 以上、コンパイルオプションに JavaVersion.VERSION_1_8 を設定する必要があります。

android {
          :
    defaultConfig {
        minSdkVersion 24
          :
    }
          :
    compileOptions {
        sourceCompatibility JavaVersion.VERSION_1_8
        targetCompatibility JavaVersion.VERSION_1_8
    }

上記の設定が完了できたら、「Sync Project with gradle」 を行い、モジュールを読み込みます。

aar ファイルの読み込みの確認には、以下のサンプルがビルドできるかで確認することができます。

DSymphony dSymphony = new DSymphony(context);

DSymphony のインスタンスが生成できれば Symphony SDK の設定に成功しています。

アクセス許可申請

アプリケーション開発申請ページに従い、クライアント名やリダイレクト URI などを設定し、申請を行ってください。
申請が受理されるとクライアントIDが払い出されます。

Android で使用する際には、リダイレクト URI にカスタム URL スキームを設定してください。

表記について

便宜上、本 ドキュメント では SymphonyObject を例示する場合に、 JSON で表現するものとします。

例えば、以下のような値をもつ SymphonyObject を例示する場合、その下の JSON で表現します。

SymphonyObject obj = new SymphonyObject.Builder()
    .put("strParam", "example")
    .put("intParam", 1)
    .put("doubleParam", 0.5)
    .put("boolParam", true)
    .put("objParam", new SymphonyObject.Builder().build())
    .put("arrayParam", new SymphonyArray.Builder().build())
    .build()
{
  "strParam": "example",
  "intParam": 1,
  "doubleParam": 0.5,
  "boolParam": true,
  "objParam": {},
  "arrayParam": []
}