サンプルのビルド

ここでは、Hello Thing-IF のソースコードをダウンロードして、モバイルアプリと Thing 用のプログラムをそれぞれビルドします。

ソースコードは GitHub からダウンロードできます。

$ git clone https://github.com/KiiPlatform/Hello-Thing-IF-Sample

ダウンロード先には、以下のディレクトリが含まれています。

ディレクトリ 内容
android_fcm Android 用モバイルアプリ、FCM を利用
android_gcm Android 用モバイルアプリ、GCM を利用
android_jpush Android 用モバイルアプリ、JPush を利用
thing Thing 側実装

iOS、JavaScript 用のプロジェクトは、今後、追加予定です。

GCM は FCM への移行が求められています。新しくモバイルアプリを構築する場合は、FCM を選択してください。GCM のディレクトリは、既存のモバイルアプリのメンテナンスのために残しています。

以下の手順に従って準備します。

アプリケーションの作成

初めに、Kii Cloud 上にアプリケーションを作成します。このアプリケーションは、モバイルアプリと Thing の両方から参照します。作成したアプリケーションの上で、モバイルアプリの利用ユーザー、Thing、コマンド、ステートなどの様々な情報が管理されます。

アプリケーションの作成 を開いて手順をすべて実行し、このページに戻ってきてください。リンク先では、アプリケーションの作成時に AppID を確認する手順があります。これらの値は後で使用するため、どこかに記録しておいてください。

Android モバイルアプリのビルド

次に、Android 用のモバイルアプリをビルドします。

  1. Android Studio での読み込み

    Android Studio を起動してプロジェクトを読み込みます。Hello Thing-IF プロジェクトは Android Studio 2.1 を使って作成されています。これ以降のバージョンが必要です。

    プッシュ通知のサービスに応じて、以下のディレクトリを Android Studio のプロジェクトとして開きます。

    • FCM:android_fcm にある HelloThingIF ディレクトリ
    • GCM:android_gcm にある HelloThingIF ディレクトリ
    • JPush:android_jpush にある HelloThingIF ディレクトリ
  2. 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_CLOUDAPP_SITE_THING_IF にはアプリケーションのサーバー設置先を指定します。2 つあるのは、Kii Cloud SDK 用と Thing-IF SDK 用でシンボルが異なるためです。どちらにも、同じサーバーを示す定数(USJPCN3 など)を指定します。

  3. プッシュ通知の導入

    モバイルアプリからプッシュ通知を利用できるように設定します。

    FCM/GCM/JPush で手順が異なります。いずれか 1 つの手順をすべて実行して、このページに戻ってきてください。

  4. ビルド

    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 のパッケージ名が同じであることも確認してください。

  • JPush の場合は、JPush の SDK を組み込んでいないとエラーになります。

Thing サンプルのビルド

次に、Thing 側のプログラムをビルドします。

  1. Thing-IF SDK のビルド

    Thing-IF SDK を GitHub からダウンロードしてビルドします。GitHub からダウンロードする際、SDK のソースコードと Hello Thing-IF のソースコードが、以下の図のようなディレクトリ構成になるように配置すると、デフォルトの Makefile で Hello Thing-IF をビルドできます。

    Thing-IF SDK の導入手順 を開いて、libkiithingifsdk.so ファイルをビルドするまでの手順を実行し、このページに戻ってきてください。サンプルプログラムのビルド以降の手順は不要です。

  2. 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 にはアプリケーションのサーバー設置先(USJPCN3 など)を指定します。

  3. Hello Thing-IF のビルド

    Hello Thing-IF の thing ディレクトリに切り替えて make を実行します。SDK のディレクトリを上記の図の構成にしなかった場合は、Makefile の SDK_DIR の設定を書き換えてください。

    $ make
    

    ビルド後、thing ディレクトリに hellothingif ファイルができていれば成功です。

  4. LD_LIBRARY_PATH の設定

    必要に応じて、環境変数 LD_LIBRARY_PATH を設定します。Thing-IF SDK のビルドで生成された libkiithingifsdk.so ファイルを読み込ませるため、たとえば次のような設定を行います。

    $ export LD_LIBRARY_PATH=/home/yourname/thing-if-ThingSDK
    

次は...

ビルドしたモバイルアプリと Thing のプログラムを実行し、コマンドやステートのやりとりを行ってみます。

サンプルの実行 に移動してください。

より詳しく学びたい方へ

  • 新規にモバイルアプリを構築する場合、アプリ開発の準備(AndroidiOS)の手順をご覧ください。Hello Thing-IF では、プロジェクトの構成ファイル内にすでに組み込まれています。

  • 新規に Thing を構築する場合、開発の準備 の手順をご覧ください。Thing 側は OS 依存の処理などの作り込みが必要なため、サンプルプログラムをリファレンス実装として参考にしながら、目的の環境に移植します。