3

プレイストアがインスタントアプリの構築を受け入れない理由を突き止めようとしています。インスタントアプリをリリースする前提条件であるため、テスターに​​アルファの定期アプリリリースを正常に導入しました。私は開発インスタントアプリを展開しようとしています。私は間違って何をしていますか?私は可能な限り詳細を追加しようとしました。詳細が必要な場合はお知らせください。Androidインスタントアプリ - Play Consoleのリリース/デプロイエラーとDAL(デジタル資産リンク)がリンクされていません

プロダクションインスタントアプリケーションの場合は、次のリンクのDigital Asset Link APIサービスを使用する必要がありますか? https://console.developers.google.com/apis/api/digitalassetlinks.googleapis.com/overview

プレイコンソールに構築インスタントアプリをアップロードするとき、私は次のエラーを取得する:

あなたのサイト「example.com」は、あなたのアプリケーションにデジタル 資産リンクプロトコルを介してリンクされていません。アプリに デジタルアセットリンクプロトコルを使用してサイトをリンクしてください。私はについて少し混乱してい

ことの一つは、私がリンクをクリックすると、エラーメッセージを取得することをを検証する理由ときで、次の写真のように「資産文を追加が失敗した。」: Adding asset statements failed 私はマニフェストに次き<string name="asset_statements" translatable="false">[{\n \"relation\": [\"delegate_permission/common.handle_all_urls\"],\n \"target\": {\n \"namespace\": \"web\",\n \"site\": \"https://example.com\",\n }\n}]</string>

:私はリンクをクリックしてボタンを検証するとき、それはベース中のstrings.xmlファイルを変更し、次の文字列を追加することに注意してください<meta-data android:name="asset_statements" android:resource="@string/asset_statements"/>

プロジェクトの説明と構造:

アプリの説明:これは概念アプリの証明であるアプリケーションタグの下ベースチェックリスト顧問の。インストール可能なアプリケーションは、クリックするとチェックリストまたはアドバイザーのいずれかのアクティビティを表示する2つのボタンでmainfeatureアクティビティを開きます。 2つのインスタントアプリがあり、instantapp-checklistがチェックリストアクティビティに、instantapp(アドバイザー)がアドバイザーアクティビティに移動します。

  • 3つの機能モジュールがあります。mainfeature、チェックリスト、顧問
  • 2つのインスタントのアプリがあります。instantapp-チェックリスト、instantapp(顧問)

Project structure

  • が私のインストールアプリのは、バンドルは:blah.blah1.blah2.myappname
  • 私のチェックリストインスタントアプリのバンドルIDは:blah.blah1.blah2.myaです。 ppname.checklist
  • 私の顧問インスタントアプリのバンドルIDは次のとおりです。blah.blah1.blah2.myappname.advisor

マイassetlinks。JSONは次のとおりです。

[{ 
    "relation": ["delegate_permission/common.handle_all_urls"], 
    "target": { 
    "namespace": "android_app", 
    "package_name": "blah.blah1.blah2.myappname.checklist", 
    "sha256_cert_fingerprints": 
    ["AA:...:53"] 
    } 
}, 
{ 
    "relation": ["delegate_permission/common.handle_all_urls"], 
    "target": { 
    "namespace": "android_app", 
    "package_name": "blah.blah1.blah2.myappname.advisor", 
    "sha256_cert_fingerprints": 
    ["AA:...:53"] 
    } 
}] 

私のチェックリストでは、アクティビティタグ内にマニフェスト以下の通りです:私がやった

 <meta-data 
      android:name="default-url" 
      android:value="https://example.com/checklist.html"/> 

     <intent-filter> 
      <action android:name="android.intent.action.MAIN"/> 

      <category android:name="android.intent.category.LAUNCHER"/> 
     </intent-filter> 
     <intent-filter android:order="1" 
         android:autoVerify="true"> 
      <action android:name="android.intent.action.VIEW"/> 

      <category android:name="android.intent.category.DEFAULT"/> 
      <category android:name="android.intent.category.BROWSABLE"/> 

      <data 
       android:scheme="http" 
       android:host="example.com" 
       android:pathPattern="/checklist.html"/> 
      <data android:scheme="https"/> 
     </intent-filter> 

セルフチェック:

  • インスタントアプリが署名調印されました私のキーストアで、デバッグキーではありません。インスタントアプリとassetlinks.jsonが同じsha256指紋を表示していることを確認しました。
  • のrobots.txtはassetlinks.jsonが
  • assetlinks.jsonが有効な証明書を持っているすべてのロボットによって検索することを可能とできHTTPS
  • assetlinks.jsonヘッダのコンテンツタイプがアプリケーションである/ JSON
  • 私は、私は私の文をテストするために、次のサイトを使用し、それが成功する
  • 「Googleはアプリの署名を再生する」ためでopt'dいない午前:https://developers.google.com/digital-asset-links/tools/generator

ものは高度にありがとう、助け!!! assetlinks.jsonファイルで

+1

[アプリ]> [リリース管理>アプリ署名]の下で[Google Playアプリ署名]をオプトインする可能性がありますか? (いいえ、Digital Asset Link APIは必要ありません) – TWL

+0

それ以外の場合は、バグを報告してからここにリンクしてください。それはすべてのために役立つだろう、ありがとう! https://issuetracker.google.com/issues/new?component=316045&template=1018787 – TWL

+0

@TWL Google Play App Signingのオプトインは受け付けていません – olearyj234

答えて

1

、フィールドパッケージ名blah.blah1.blah2.myappname.checklistに設定されています。

しかしながら、上記インストール可能アプリのIDは、blah.blah1.blah2.myappnameであることです。すなわち、AndroidManifest.xmlblah.blah1.blah2.myappnameに設定されています。

これらは一致する必要があります。 blah.blah1.blah2.myappnameをサーバーのassetlinks.jsonに追加する必要があります。 のstrings.xml

、asset_statementsを変更:

  • 私はかどうかをテストするには、次のコマンドラインを使用:ここで

    <string name="asset_statements" translatable="false">[{\n \"relation\": [\"delegate_permission/common.handle_all_urls\"],\n \"target\": {\n \"namespace\": \"web\",\n \"site\": \"https://qaapps.cio.ny.gov/apps/sandbox/james/hesc/checklist.html\",\n }\n},{\n \"relation\": [\"delegate_permission/common.handle_all_urls\"],\n \"target\": {\n \"namespace\": \"web\",\n \"site\": \"https://qaapps.cio.ny.gov/apps/sandbox/james/hesc/advisor.html\",\n }\n}]</string> 
    

    は私が解決策を見つける助けた他のいくつかの注意事項です。インスタントアプリの動作:adb shell am start -a android.intent.action.VIEW -d "https://example.com/checklist/"

  • 端末では、に行きました。設定> Google>インスタントアプリとclicke dインスタントアプリをアンインストール/オフにするためのスイッチをもう一度クリックすると、再びオンになります。また、クロール設定(設定>プライバシー>参照データの消去)に移動して、時間範囲のすべてのデータをすべて消去しました。
  • ChromeのインスタントアプリにURLを入力すると、インスタントアプリだけでなくウェブサイトが開きます。ウェブサイトでインスタントアプリへのリンクをクリックすると、ウェブサイトではなくインスタントアプリが開きます。
関連する問題