Pepper for Biz 3.0 連携マイアプリ開発ルール(Androidアプリ）
更新履歴
版

更新日

更新内容

1.00

2019/11/01

作成

1.01

2019/02/01「共通」の共通設定画面を呼び出すインテント名を修正

1.02

2019/02/15「お仕事内から起動するアプリ」のsetResultについて、注意事項を追加

1.03

2019/02/28「お仕事内から起動するアプリ」にonRobotFocusLost()についての内容を追加

1.04

2019/03/15「共通」にSpeechBarに関する項目を追加、全体的な文体の修正

1.05

2019/04/15「共通」にログの出力に関する項目を追加

1.06

2019/04/23「共通」にログの出力に関する項目を追加

1.07

2021/3/15

・「共通」の項番2のお仕事かんたん生成3.0の設定画面を表示したい場合のBroadcast Intentの内容を修正
・「共通」の項番3のIntent情報に先行環境のパッケージ名を追加

11. 共通
1. TabletのHWキー、Navigationバーのソフトキーによらない画面遷移、アプリ終了を実装してください。
Pepper for BizではTabletのHWキーを無効化し、Navigationバーを非表示(スワイプしても表示されない)にしておりますので、バックキーでの戻る操作やアプリ終了が出来ません。
そのため、戻る操作やアプリ終了操作は、アプリのUIでできるように実装する必要があります。
2. お仕事かんたん生成3.0の設定画面を表示したい場合は、以下のBroadcast Intentを使用してください。
アクション名: jp.softbank.rb.p4b3.p4b3settings.action.SETTING_MENU
3.お仕事かんたん生成3.0のPIN認証画面を利用したい場合は、以下のIntentを使用してください【Intent情報】
Package Name: jp.softbank.rb.p4b3.p4b3settings※先行環境の場合は下記パッケージ名をご利用ください。
jp.softbank.rb.p4b3.p4b3settings_latest
Class Name: jp.softbank.rb.p4b3.p4b3settings.ui.password.InputPasswordActivity
返却値:
認証成功: RESULT_OK(-1)
認証失敗: RESULT_CANCELED(0)※認証に成功した場合は”RESULT_OK”を、PIN No.の入力をキャンセルした場合は”
RESULT_CANCELED”を返却します。
呼び出し例:
Intent intent = new Intent();
intent.setClassName("jp.softbank.rb.p4b3.p4b3settings","jp.softbank.rb.p4b3.p4b3settings.ui.password.InputPasswordActivity");
startActivityForResult(intent, requestCode);
4. 音声の聞き取りを行うアプリでは、必ずSpeechBarを表示してください
エンドユーザーのUXを統一するために、音声の聞き取りを行う場合は必ずスピーチバーを表示してください。
SpeechBarは、RobotActivityを継承する事で表示されます。
詳細は下記をご参照ください。
https://android.aldebaran.com/sdk/doc/pepper-sdk/ch4_api/conversation/conversation_feedb
acks.html
5. 一時問い合わせ窓口での対応をスムーズに行うため、Androidの標準Logクラスを使用して、必ず以下のログを出力してください
1) アプリが正常に起動している事を確認するため、5分ごとに正常確認ログ
2) キャッチした例外とキャッチできなかった例外全てのログ
23) アプリがタイムアウトや何らかのエラーで意図的に終了する場合は、そのログ
4) エラーハンドリングによるリトライ処理を行っている場合はそのログ
5) 入力された値によって処理が変わるメソッドがある場合は、メソッドが呼び出されたときに入力された値のログ
6) タブレットのタッチで動作するアプリの場合、タッチされた際の座標、単押し、長押しなどのタッチイベントについてのログ
7) 外部機器が必要なアプリの場合、機器があるかチェックするタイミングで、その結果のログ
8) ディスプレイのページが遷移する場合、遷移のタイミングと遷移先がわかるログ
9) 何らかのデータ転送やAPI呼び出しがある場合、他のサービスと通信する際に発生した接続・データ転送・API呼び出しのログとそれらのエラーログ
10) アプリがNW通信を行う場合、リクエスト・応答結果・接続先が判断できるログ 例）リクエ
ストUrl、および応答時のHTTPコードなど
11) アプリが別アプリを呼び出す場合、その呼び出しとコールバックのログ
12) アプリ終了時に終了処理が行われたこと、およびその結果のログ
13) Pepperに物理的な動きがあるアプリで、障害物の有無によって挙動が変わる場合、障害物により動きが制御されたタイミングとその内容のログ

2. お仕事内から起動するアプリ
1. 連携アプリはstartActivityForResult()を使用して起動されますので、終了時にResult Codeとして”RESULT_OK”または”RESULT_CANCELED”をセットしてください。
【お仕事かんたん生成3.0に復帰した際の後続処理】
RESULT_OK：お仕事を継続し、後続のボックスを実行します
RESULT_CANCELED：お仕事を終了し、お仕事の先頭のボックスに戻ります
2.Result Codeをセットする際は、setResult(int resultCode, Intent data)を使用してください。
”RESULT_OK”または”RESULT_CANCELED”のみを返す場合も、setResult(int resultCode,Intent data)を使用しIntentをセットしてください。
3. 連携アプリでパラメータを受け取りたい場合はIntentのextraを使用してください。
【extra情報】
key値：launch_param3データ型: String
CMSで設定した連携パラメータを上記のextraで受け取ることができます。
複数の値を受け渡したい場合は、任意の文字を区切り文字として使用してください。
例：”AAAA|BBBB|1111”という値を受け渡し、アプリ側で”AAAA”、”BBBB”、”1111”を取り出す
4. 連携アプリ終了後のお仕事の分岐先についてもIntentのextraを使用してください。
【extra情報】
key値：route
データ型：IntCMSで設定した分岐先の戻り値を上記のextraで受け渡してください。
このとき「0」を渡すとアプリボックスの設定に関わらず、該当無しに遷移するため、0を使用する場合は注意してください
5. onRobotFocusLost() に ”RESULT_CANCELED” でアプリを終了する処理を実装してください。
RobotFocusを失った時は、アプリを終了してP4B3アプリに戻るようにしてください。その際、復帰時にお仕事の先頭から再開できるように”RESULT_CANCELED”を返却してください。

3. その他アプリとして起動するアプリ
1. P4B3用独自Category(android.intent.category.P4B3)をManifestに定義してください。
本実装を行なうことで、その他アプリの一覧(Android Chooser)に表示されます。選択されたアプリは、以降自動で起動されます。
2. アプリ名(日本語)を定義してください。
アプリ呼び出し前の画面（Start画面）で日本語のアプリ名を表示するため、定義してください。

4. P4Bアプリのメニュー(基本アプリ設定)から起動するアプリ
1. P4B3用独自Category(android.intent.category.P4Bstandard_apps.settings)をManifestに定義してください。
本実装を行なうことで、基本アプリ設定のボタン選択時に一覧（Android Chooser）に表示されるようになります。
2. アプリ名(日本語)を定義してください。
アプリ呼び出し前の画面(Start画面)にて日本語のアプリ名を表示するため、定義してください。
3. アプリを終了する機能を実装してください。
アプリ呼び出し元の画面（メニュー画面）に戻る為、画面上に終了ボタンを設けるなど、アプリを終了する為の機能を実装してください。

4