サンプルのビルド
ここでは、Hello Thing-IF のソースコードをダウンロードして、モバイルアプリと Thing 用のプログラムをそれぞれビルドします。
ソースコードは GitHub からダウンロードできます。
$ git clone https://github.com/KiiPlatform/Hello-Thing-IF-Sample
ダウンロード先には、以下のディレクトリが含まれています。
| ディレクトリ | 内容 |
|---|---|
| android_fcm | Android 用モバイルアプリ、FCM を利用 |
| thing | Thing 側実装 |
iOS、JavaScript 用のプロジェクトは、今後、追加予定です。
GCM は廃止されたため、新しくモバイルアプリを構築する場合は、FCM を選択してください。GCM のディレクトリは、既存のモバイルアプリのメンテナンスのために残しています。
以下の手順に従って準備します。
アプリケーションの作成
初めに、Kii Cloud 上にアプリケーションを作成します。このアプリケーションは、モバイルアプリと Thing の両方から参照します。作成したアプリケーションの上で、モバイルアプリの利用ユーザー、Thing、コマンド、ステートなどの様々な情報が管理されます。
アプリケーションの作成 を開いて手順をすべて実行し、このページに戻ってきてください。リンク先では、アプリケーションの作成時に AppID を確認する手順があります。これらの値は後で使用するため、どこかに記録しておいてください。
Android モバイルアプリのビルド
次に、Android 用のモバイルアプリをビルドします。
Android Studio での読み込み
Android Studio を起動してプロジェクトを読み込みます。Hello Thing-IF プロジェクトは Android Studio 2.1 を使って作成されています。これ以降のバージョンが必要です。
android_fcmにあるHelloThingIFディレクトリを Android Studio のプロジェクトとして開きます。AppID の埋め込み
HelloThingIF.java を開き、以下の定数を修正します。
public static final String APP_ID = "___APP_ID___"; public static final String APP_KEY = "___APP_KEY___"; public static final Kii.Site APP_SITE_CLOUD = Kii.Site.JP; public static final Site APP_SITE_THING_IF = Site.JP;APP_IDはアプリケーションを作成したときに取得した AppID を指定します。APP_KEYは任意の値を指定します。APP_SITE_CLOUDとAPP_SITE_THING_IFにはアプリケーションのサーバー設置先を指定します。2 つあるのは、Kii Cloud SDK 用と Thing-IF SDK 用でシンボルが異なるためです。プッシュ通知の導入
モバイルアプリからプッシュ通知を利用できるように設定します。
ビルド
Android Studio での設定の反映が必要な場合、"Sync Now" が表示されています。クリックしてプロジェクトの同期を行います。また、モバイルアプリをリビルドします。

エラーになる場合
Hello Thing-IF モバイルアプリは、Android Studio 2.1 によって作成し、ビルドを確認しています。
正しくビルドできない場合、ほとんどは環境の相違によるものと思われます。ビルド時に表示されたエラーメッセージを検索エンジンに入力するなどして、問題の解決方法を調査してください。特に、Android Studio はエラーが出力されている画面が分かりにくいことがあるため、各タブのエラーを見落とさないようにご注意ください。
問題が解決できない場合、Android Studio Project Site より Android Studio 2.1 をダウンロードして、ビルド環境のバージョンを同じにしてみるのも有効な方法です。
また、上記の プッシュ通知の導入 で手順が実行されているかどうかも確認してください。
- FCM/GCM の場合は JSON ファイルをダウンロードしてプロジェクトにコピーしたり、FCM/GCM のライブラリーを組み込んだりしていないとエラーになります。FCM/GCM で指定したパッケージ名と Android Studio のパッケージ名が同じであることも確認してください。
Thing サンプルのビルド
次に、Thing 側のプログラムをビルドします。
Thing-IF SDK のビルド
Thing-IF SDK を GitHub からダウンロードしてビルドします。GitHub からダウンロードする際、SDK のソースコードと Hello Thing-IF のソースコードが、以下の図のようなディレクトリ構成になるように配置すると、デフォルトの Makefile で Hello Thing-IF をビルドできます。
Thing-IF SDK の導入手順 を開いて、libkiithingifsdk.so ファイルをビルドするまでの手順を実行し、このページに戻ってきてください。サンプルプログラムのビルド以降の手順は不要です。

AppID の埋め込み
thingディレクトリの hellothingif.h をテキストエディタで開き、以下の定数を修正します。const char EX_APP_ID[] = "___APP_ID___"; const char EX_APP_KEY[] = "___APP_KEY___"; const char EX_APP_SITE[] = "___SITE___";EX_APP_IDはアプリケーションを作成したときに取得した AppID を指定します。EX_APP_KEYは任意の値を指定します。EX_APP_SITEにはJPを指定します。Hello Thing-IF のビルド
Hello Thing-IF の
thingディレクトリに切り替えて make を実行します。SDK のディレクトリを上記の図の構成にしなかった場合は、Makefile のSDK_DIRの設定を書き換えてください。$ makeビルド後、
thingディレクトリに hellothingif ファイルができていれば成功です。LD_LIBRARY_PATH の設定
必要に応じて、環境変数
LD_LIBRARY_PATHを設定します。Thing-IF SDK のビルドで生成された libkiithingifsdk.so ファイルを読み込ませるため、たとえば次のような設定を行います。$ export LD_LIBRARY_PATH=/home/yourname/thing-if-ThingSDK
次は...
ビルドしたモバイルアプリと Thing のプログラムを実行し、コマンドやステートのやりとりを行ってみます。
サンプルの実行 に移動してください。