从应用内打开时,阻止 Firebase 动态链接重定向到浏览器

Posted

技术标签:

【中文标题】从应用内打开时,阻止 Firebase 动态链接重定向到浏览器【英文标题】:Stop Firebase Dynamic Links from redirecting to browser when opened from within app 【发布时间】:2021-03-03 20:05:00 【问题描述】:

我们希望用户完成他们的个人资料,因此会弹出一条应用内消息,如果他们接受,它会将他们重定向到编辑个人资料页面。它正在工作,但它重定向到浏览器,返回应用程序,然后完成导航到个人资料页面。有没有办法切断浏览器重定向?

我尝试在 androidManifest.xml 中设置意图过滤器

<intent-filter>
    <data android:host="@string/firebaseDynamicLinkDomain" android:scheme="http"/>
    <data android:host="@string/firebaseDynamicLinkDomain" android:scheme="https"/>
</intent-filter>

这里是我们初始化的地方

export const initialize = async () => 
  try 
    disposeOnLink = dynamicLinks().onLink(handleLink);
   catch (e) 
    throw e;
  
;

然后处理链接

const handleLink = (link: string) => 
    if (link.url === 'https://mykomae.page.link/edit-profile') 
      navigateToEditProfile('profile');
    
;

所以它很实用,但看起来很糟糕,我希望避免这种行为。

【问题讨论】:

【参考方案1】:

自您发布以来已经有一段时间了,但我认为您可能缺少意图过滤器。只需将 example.com 替换为您的域即可。

https://firebase.google.com/docs/dynamic-links/android/receive#add-an-intent-filter-for-deep-links

<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="example.com"
    android:scheme="https"/>
</intent-filter>

【讨论】:

以上是关于从应用内打开时,阻止 Firebase 动态链接重定向到浏览器的主要内容,如果未能解决你的问题,请参考以下文章

无法从 Firebase 缩短的动态链接网址检索动态链接

Firebase Analytics 阻止正确使用动态链接

从动态链接接收 Firebase 重定向 URL

Firebase 动态链接重定向

如果应用程序未以编程方式安装 firebase 动态链接,则重定向到 iOS App Store

有没有办法在浏览器中打开动态链接?