Глубокие ссылки иногда приводят к неправильной активности - PullRequest
0 голосов
/ 08 мая 2020

Возникла проблема с глубинными ссылками. У нас есть два поставщика прямых ссылок. Firebase и Branch. У наших пользователей возникает проблема, когда они нажимают ссылку Firebase, скажем, чтобы открыть действие A, но вместо этого оно открывает действие B (которое предназначено для Branch). К сожалению, мы не можем воспроизвести это, но это случается с некоторыми из наших пользователей. И когда это происходит, он всегда воспроизводится для них.

Это настройки Firebase, которые у нас есть

<activity android:name=".activity.FirebaseActivity"
    android:screenOrientation="portrait">
    <intent-filter 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:host="firebase.page.link"
        android:scheme="https" />
    </intent-filter>
</activity>

и для Branch:

<!-- Branch URI scheme -->
            <intent-filter>
                <data
                    android:host="open"
                    android:scheme="branch" />

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

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

            <!-- Branch App Links -->
            <intent-filter 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:host="branch.app.link"
                    android:scheme="https" />
            </intent-filter>
        </activity>

Ответы [ 2 ]

0 голосов
/ 18 августа 2020

Наконец-то обнаружена проблема, которая вызывает это.

У нас есть домен ссылок Dynami c как {firebase-Dynami c -domain} .page.link. Однако в некоторых случаях, когда пользователь перенаправляется в приложение, ссылка отображается как

https: // {your-project} .firebaseapp.com & ...

вместо

https: // {firebase-Dynami c -domain} .page.link? Link = https: // {your-project} .firebaseapp.com & .. .

Чтобы исправить это, вы также можете добавить домен имени проекта для фильтра или поймать это в активности запуска

<activity android:name=".activity.FirebaseActivity"
    android:screenOrientation="portrait">
    <intent-filter 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:host="firebase.page.link"
        android:scheme="https" />
    </intent-filter>
    <intent-filter 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:host="{your-project}.firebaseapp.com"
        android:scheme="https" />
    </intent-filter>
</activity>
0 голосов
/ 11 мая 2020

Ответвитель здесь -

Мы никогда не сталкивались с этой проблемой. Firebase и Branch могут прекрасно работать друг с другом параллельно. Если вы щелкнете ссылку ветки, откроется соответствующее действие. Поскольку этого не происходит повсеместно, я предлагаю вам еще раз проверить конфигурацию и посмотреть, есть ли закономерность, в которой это наблюдается, и попробовать воспроизвести ее с вашей стороны.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...