サンプルのビルド
ここでは、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 のプログラムを実行し、コマンドやステートのやりとりを行ってみます。
サンプルの実行 に移動してください。