我们在深度链接方面遇到了一些问题。我们有两个深层链接提供程序。 Firebase和分支。我们的用户在单击Firebase链接时遇到问题,可以说打开活动A,但是打开活动B(用于分支)。不幸的是,我们无法复制它,但是它发生在我们的某些用户身上。而且,当发生这种情况时,它们始终可以复制。
这是我们拥有的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 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>
答案 0 :(得分:0)
这里的分行-
我们从未遇到过这个问题。 Firebase和Branch可以很好地并行工作。如果您单击“分支链接”,它将打开相应的活动。由于这种情况并非全面发生,因此建议您重新检查配置,看看是否存在可观察到的模式,然后尝试从头开始进行复制。
答案 1 :(得分:0)
最终找到了导致此问题的原因。
我们的动态链接域为{firebase-dynamic-domain} .page.link。但是,在某些情况下,当用户重定向到应用程序时,链接显示为
https:// {your-project} .firebaseapp.com&...
代替
https:// {firebase-dynamic-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>