App Actions の開発中に、セットアップまたは App Actions テストツールに関する問題が発生することがあります。このページでは、よくある問題とその解決方法について説明します。
一般的な問題
エラー「URL を開くアプリが見つかりません」がトースト通知に表示される
actions.xml
内のフルフィルメント urlTemplate
が正しく構成されているかどうかを確認します。アプリリンク URL を使用している場合は、ACTION_VIEW
と URL を使用して手動で URL をトリガーできるかどうかを確認します。インテント ベースの URL を使用している場合は、指定されたパラメータで起動するようにアクティビティが正しく構成されているかどうかを確認します。
エラー「このアプリはインストールされていません」
このエラーが表示される場合は、AndroidManifest.xml
ファイル内の <intent-filter>
が、actions.xml
で指定したディープリンクをフィルタしていないことが考えられます。バグを報告する前に、この点を確認してください。
エラー「エンティティ セット ID と URL フィルタのどちらも含まれていないエンティティ セット参照が検出されました。」が Android Studio に表示される
この状態は、<entity-set-reference>
タグに関する既知のリンターの問題が原因で発生します。このメッセージは無視してかまいません。この問題を回避するには、このタグに tools:ignore="ValidActionsXml"
属性を追加して、このタグの lint チェックを無効にします。
lint チェックを無効にしたエンティティ セット参照の例を次に示します。
<entity-set-reference entitySetId="example" tools:ignore="ValidActionsXml" />
エラー「無効な場所」が APK のアップロード時にアクション スキーマ ドキュメントに対して表示される
リリース APK のリソースに影響を及ぼす難読化ツールまたは最適化ツールを使用すると、APK のアップロードが失敗することがあります。リソース ファイルを回避する ProGuard などのツールでは、この問題は発生しません。
この問題を解決するには、アプリの actions.xml
ファイル用のツールを無効にしてみてください(許可リストを使用するなど)。
エラー「有効な APK または Android App Bundle に actions.xml ファイルが含まれています。続行するには、Actions on Google 利用規約に同意してください。」が Google Play Console に表示される
このエラーは、Google Play Console でアプリリリースを作成する際に表示されることがあります。Actions on Google 利用規約に同意する手順は次のとおりです。
- Google Play Console でアプリを選択します。
- [設定] > [詳細設定] に移動します。
- [Actions on Google] タブをクリックします。
- [Actions on Google を使用してサービスを App Actions と統合する] チェックボックスをオンにし、指示に沿って操作します。
Google Play 利用規約フォームの「同意する」ボタンが無効になっている
この利用規約に同意するために必要なアクセスレベルをログイン ユーザーが持っていないことが考えられます。最初の送信は、Google Play Console プロファイルの管理者が行ってください。
App Actions テストツール
次に示す修正を試す前に、App Actions テストツールのインストールを最新バージョンに更新してください。
App Actions テストツール プラグインが actions.xml
ファイルを見つけられない
AndroidManifest.xml
ファイルに正しい <meta-data>
タグを追加しているかどうかを確認します。
App Action のプレビューが現在の actions.xml
ファイルと一致しない
プレビューは、actions.xml
ファイルの内容に応じて動的には更新されません。actions.xml
ファイルを手動で変更するか、Android Studio でビルド バリアントを切り替えた後、actions.xml
ファイルを保存し、テストツールで [Update Preview] をクリックします。
App Actions テストツール プラグインが動作しなくなるか、エラーを生成する
まず、Android Studio が最新バージョンにアップデートされていることを確認します。403 エラーが発生する場合は、実行権限がないパッケージでプラグインを実行している可能性もあります。
それでもエラーが解決しない場合は、バグを登録して、次の詳細情報を Google に送信してください。
- エラー ダイアログの詳細
- Android Studio のログ。[Help] > [Show Log in Finder] にアクセスします。すると、ファインダーに
idea.log
の場所が表示されます。ログファイル内で「Submit Actions Request Body:」を探し、サーバーのレスポンスを貼り付けます(アクションには結果が 2 つあります)。
App Actions テストツールが UnknownHostException
またはその他のネットワーク エラーを生成する
App Actions テストツールは App Actions のプレビューを作成します。これにより、単一の Google アカウントで Google アシスタント統合をテストできます。テストツールがプレビューを作成するには、アクティブなインターネット接続と、Google ドメインへのプロキシ アクセス(該当する場合)が必要です。
テストツールを実行する際のネットワーク問題を解決するには、次の一般的な問題を確認してください。
- プレビューを生成する前に、アクティブなインターネット接続があることを確認します。
インターネット接続がアクティブで、ローカル ネットワークでプロキシ サーバーを使用している場合は、次の点を確認します。
- IDE プロキシ構成を確認します。詳しくは、Android Studio または IntelliJ のプロキシ構成手順をご覧ください。
- プロキシにアクセス制御リスト(ACL)が必要な場合は、ACL を更新して URL パターン
https://actions.googleapis.com/**
を許可します。
テスト プラグインで App Action を呼び出すと、アシスタントが「申し訳ございませんが、見つかりませんでした」と応答する
この応答が表示される原因は、セットアップに応じてさまざまです。次の手順をお試しください。
- Android Studio、Google Play Console、テストデバイスに同じ Google アカウントでログインする。
- デバイスデータの同期を有効にする。
- デバイスと Google アシスタントの言語を
en-US
に設定する。 - Google Play Console のアプリのパッケージ名がテストアプリのパッケージ名と一致していることを確認する。
actions.xml
ファイルのフルフィルメントurlTemplate
の定義で、android:host
とandroid:scheme
の値がAndroidManifest
ファイルで宣言されている値と一致していることを確認する。- テストデバイスからアプリの以前のインストールをすべて削除し、新しいビルドをインストールする。
- App Actions テストツールからプレビューを削除し、新しいプレビューを作成する。
- Logcat ツールで Google アシスタントのフルフィルメントに関連するエラーを確認する。アプリで起動されたインテントが見つかるはずです。
- アカウントでデバイスのアプリ情報の設定を有効にする。
- Google アシスタントを開き、セットアップが完了していることを確認する(通常、セットアップの進行状況バーは画面下部に青いバーとして表示されますが、場合によっては表示が異なります)。
- Google アシスタントを使用して App Action をトリガーしている場合は、呼び出し名が App Actions テストツールによって作成されたプレビューと一致していることを確認する。
- 音声文字変換のエラーを回避するため、音声入力の代わりにテキスト入力を試してみる。
- テストビルドを設定して、
applicationId
が Google Play Console にアップロードされた APK または AAB。なお、オプションのapplicationIdSuffix
プロパティを使用すると、特定のプロダクト フレーバーとビルド バリアントでビルドの最終的なapplicationId
を変更できます。こちらの例では、モック プロダクト フレーバーのapplicationId
はcom.example.android.architecture.blueprints
ではなく、com.example.android.architecture.blueprints.master.mock
です。 - 一意の呼び出し名を使用するようにプレビューを構成する。他のアプリと競合する可能性を減らすため、一意の単語を使用してください。
- 共有可能なコードベースのトラブルシューティングで問題を特定する場合は、App Actions フィットネス アプリのサンプルを実行してみる。フィットネス アプリがエンドツーエンドで機能することを確認してください。次に、このアプリに段階的に機能を追加して、問題を再現できるかどうかを調べます。
- G Suite アカウントを使用している場合は、Google アシスタントを管理者がオンにしているかどうかを確認する。この問題の回避策としては、G Suite 以外のテスト アカウントを作成し、そのアカウントを Play ストアでライセンス テスターとして設定することをおすすめします。そのアカウントを使用すれば、テスターはアプリのプレビューを作成して、デバイスで正常にテストを実施できるはずです。
- Google アシスタントを別個のアプリとしてダウンロードした場合は、デバイスで強制終了する。通常は、スマートフォンの設定アプリからアプリを強制終了できます。
- 上記の手順をすべて試しても問題が解決しない場合は、App Action の Issue Tracker で問題を報告する。