Android ディープリンクが一部のデバイスでアプリではなく PlayStore に移動する 質問する

Android ディープリンクが一部のデバイスでアプリではなく PlayStore に移動する 質問する

アプリのマニフェストに次のインテント フィルターを登録しました。

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

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

        <data
            android:host="m.mycompany.de"
            android:pathPattern="/app/list"
            android:scheme="http" />
    </intent-filter>

そして、アプリが正しく開くかどうかをテストするための簡単な HTML ページを作成しました。

<!DOCTYPE html PUBLIC "-//IETF//DTD HTML 2.0//EN">
<HTML>
   <HEAD>
      <TITLE>
         A Small Hello 
      </TITLE>
   </HEAD>
<BODY>
   <a href = "http://m.mycompany.de/app/list?param1=178&param2=87294">Click</a>

</BODY>
</HTML>

一部のデバイス (Android 5.1 を実行している Nexus 5 など) では、リンクをクリックすると期待どおりにアプリが開きますが、他のデバイス (同じく 5.1 を実行している Nexus 6 など) では、アプリではなく PlayStore (アプリのページ) が開きます。

何が問題なのか、何か考えはありますか?

編集:不思議なことに、この「バグ」は URL を次のように簡略化すると消えます。

http://m.mycompany.de/list?param1=178&param2=87294

そして私の意図フィルターは

   <data
        android:host="m.mycompany.de"
        android:pathPattern="/app"
        android:scheme="http" />

ただし、ライブ アプリの URL を制御できないため、これはオプションではありません。

ベストアンサー1

使用できますパスプレフィックスの代わりにandroid:パスパターン

<data 
      android:host="m.mycompany.de"
      android:pathPrefix="/app/list"
      android:scheme="http" />

2番目のケースでは、以下のURLを使用すると、

http://m.mycompany.de/list?param1=178¶m2=87294

データタグは

<data 
      android:host="m.mycompany.de"
      android:pathPrefix="/list"
      android:scheme="http" />

おすすめ記事