私はGoogle guidelinesの後にAndroidアプリでhttpsデインターリンクを実装しました。Androidアプリhttps deeplinkとChromeブラウザ
ユーザーがChromeブラウザを開いてmycompanyに関連するものを検索してリンクをクリックすると、OSは自分のアプリケーションまたはブラウザの選択を求めるメッセージを表示します。また、誰かがメールやメッセンジャーアプリでリンクを送信した場合、ユーザーがクリックすると、OSはアプリ/ブラウザの選択も促します。ユーザーがアドレスバーにChromeと種類を開くと
:www.mycompany.com、OSはアプリ/ブラウザの間で選択するように要求しません、
はしかし、私は次のような問題を参照してくださいそれは単にブラウザで開きます。
それはアプリハンドルというリンクをクリックしたときに、ユーザがwww.mycompany.comのホームWebページをナビゲートするブラウザになったら(例えば。https://www.mycompany.com/product/1234)OS をするわけではないアプリとブラウザの間で選択するためのプロンプト。
最悪の問題は、ユーザーがアプリケーションが処理しないリンク(例:https://www.mycompany.com/not-handled-path)をクリックすると、対応するWebページが期待どおりに開きますが、ユーザーがリンクをクリックするとこのWebページが開きます(例えば、https://www.mycompany.com/product/1234)OS WILL app/browserの間で選択するように促す。
ご覧のとおり、動作が一貫していないようです。 私は、予想される動作は、常にアプリケーション/ブラウザの間で決定するか、または常にユーザーがウェブサイトをナビゲートできるようにすることであると言います。
私が何か誤解した場合は、何かアドバイスを歓迎します。
これは私の派遣活動によって処理されたインテントフィルタです:事前に
<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:scheme="https"/>
<data android:host="www.mycompany.com"/>
<data android:pathPattern="/" />
<data android:pathPattern="/product.*" />
<data android:pathPattern="/list.*" />
<data android:pathPattern="/stores.*" />
<data android:pathPattern="/brands.*" />
</intent-filter>
感謝。
EDIT:
アドレスwww.mycompany.comホームウェブページに入るの書き込み:要するに
これは矛盾です。このウェブページにはhttps://www.mycompany.com/product/123へのリンクがあります。クリックすると製品詳細のWebページに入ります(OSはアプリケーションまたはブラウザで開くように促されません)。
www.mycompany.com/not-handled-pathのアドレスをWebページに入力すると、このWebページにはhttps://www.mycompany.com/product/123へのリンクもありますが、それをクリックすると私の驚きのOSにアプリケーションやブラウザで開くように求められます。
でも、アプリケーションによって処理される同じハイパーリンクをクリックすると、OSがプロンプト(箇条書き2)と時には(箇条書き3)を表示しないのはなぜですか?これは私に矛盾しているようです。 – fernandospr
私はただ再スライスしました。 をに変更してみてください。たぶんドットが問題です。 –
ありがとうございますが動作しません。 – fernandospr