SDK でできること
SDK は、temi の OS が管理する機能を、アプリから呼び出すためのものです。モーターやセンサーを直接制御するものではありません。安全や安定に関わる制御は temi の OS が行います。
| 分野 | できること | SDK の範囲外 |
|---|---|---|
| 移動 | 登録地点への移動、移動の開始・完了・中断・エラーの取得、複数地点の順番の移動(アプリ側で制御)、追従モードの開始・停止、その場で向きだけ人を追う動きの開始・停止、マップ名と現在位置の取得 | マップの作成・編集、段差の乗り越え、屋外の走行、エレベーターの操作(外部との連携が必要) |
| 画面 | 通常の Android アプリと同じ画面表示(ボタン、画像、動画、WebView など)、タッチ操作の取得、全画面表示、ステータスバー・ナビゲーションバーの表示制御、キオスクモード(ホームへの戻りや他アプリの起動、設定画面へのアクセスを制限) | — |
| 音声 | 文字列の読み上げ(言語の指定、開始・終了の制御)、「ヘイ、temi」の検知と音声入力の開始・終了のイベント取得 | 自然言語の理解(高度な対話には外部サービスとの連携が必要) |
| 状態・センサー | バッテリー残量、充電状態、現在位置、動作状態、人の検知、カメラ映像(Android の Camera API)、マイク入力(Android の標準 API) | LiDAR や深度センサーの生データの取得、センサーの精度の制御 |
| イベント | 移動の開始・完了・失敗、人の検知・見失い、タッチ、バッテリー残量の変化、充電の開始・終了、音声入力の開始・終了、遠隔通話の開始・終了 | — |
| 通話 | 通話の開始・終了、通話状態の取得、通話の開始・終了のイベント取得 | 遠隔操作の画面や通信処理そのものの実装(temi 標準の機能を使います) |
開発に必要なもの
- 開発環境
- Android Studio、Java または Kotlin
- SDK
- 公式 GitHub から取得する AAR 形式のライブラリ
- temi の実機
- エミュレーターは提供されていないため、動作確認には実機が必要です。
- 契約
- SDK の機能を使える契約が必要です。ご契約の内容は、ご購入の販売店にご確認ください。
- 開発者登録
- temi Store でアプリを公開する場合に必要です。費用はかからず、どなたでも登録でき、法人登録も不要です。登録前に開発者プログラム規約を確認してください。
開発の手順
Android アプリの開発経験がある方向けの流れです。
プロジェクトを用意する
Android Studio で、通常の Android アプリのプロジェクトを用意します。新規でも既存のプロジェクトでも構いません。
SDK を追加する
Gradle に temi SDK の依存関係を記述して Sync し、ビルドが通ることを確認します。
AndroidManifest を設定する
アプリの用途に合わせて、必要な権限(INTERNET、RECORD_AUDIO、CAMERA など)を最小限だけ宣言します。
Robot を初期化する
起動する Activity(または Application)で temi の Robot インスタンスを取得します。
イベントのリスナーを登録する
移動状態、人の検知、充電状態、通話状態など、必要なイベントのリスナーを、Activity のライフサイクルに合わせて登録します。
temi の機能を呼び出す
SDK の API で、移動、読み上げなど必要な操作を実装します。
キオスクモードを設定する(必要な場合)
専用端末として運用する場合は、ホームへの戻りの制限、全画面表示などを設定し、常に前面で動く状態にします。
APK をビルドする
通常の Android アプリと同じく、Debug または Release の APK を作ります。
実機にインストールする
temi の実機にインストールし、画面の表示、権限の許可、SDK の呼び出しが動くことを確認します(実機へのインストール)。
実機でデバッグする
Logcat などでログを確認し、イベントの受信、API の呼び出し、例外を確認しながら修正します。必要に応じて Release ビルドでも確認します。
実機へのインストール
開発中のアプリは、ADB または USB メモリで temi に直接インストールします。
- ADB
- temi の「設定」>「temi 開発者ツール」で ADB ポートを開き、temi と同じネットワークにあるパソコンから接続します。temi の IP アドレスは、同じ画面の右上に表示されます。
- USB メモリ
- APK を入れた USB メモリを temi の USB ポートに差してインストールします。
temi Store での配布
完成したアプリは、temi Store に提出して配布できます。
提出の要件
- 署名
- release 署名(会社の署名鍵)での提出は必須ではありません。
- バージョンコード・パッケージ名
- 制限はありません。
審査
提出したアプリは、temi 社のチームが実際に動かして、不適切なコンテンツ、バグ、異常な動作がないかを確認します。問題がなければ、通常は稼働日で1週間以内に承認されます。
配布先を限定する
アプリを非公開に設定すると、特定のリンクからだけアクセスできるようにできます。一般には公開せず、関係者の temi だけに配布したい場合に使います。
temi のシリアル番号を指定して配布する機能や、temi センターからアプリを配布する機能はありません。
temi に入れたアプリの確認と、アプリへの権限の付与は、本体の使い方 ガイド9を参照してください。
アプリの更新
- 配布の仕組み
- 更新したアプリを temi Store に公開すると、電源が入っていてネットワークにつながっている temi で、0:00 に自動で更新されます。
- 元に戻す
- 以前のバージョンに戻す(ロールバックする)方法はありません。
更新は夜間に自動で配られ、元に戻せません。問題が見つかった場合は、修正したバージョンを公開し直す必要があります。公開する前に、ADB でインストールした検証用の temi で十分に確認してください。