Firebase 创建动态链接在本机 iOS 中不起作用。但是它似乎在android中工作正常

Posted

技术标签:

【中文标题】Firebase 创建动态链接在本机 iOS 中不起作用。但是它似乎在android中工作正常【英文标题】:Firebase create Dynamic Link not working in react native iOS. However it seems to work fine in android 【发布时间】:2020-02-19 06:22:28 【问题描述】:

我创建了一个动态链接,使用:

var link = new firebase.links.DynamicLink(
      "https://freshc.in",
      "frendy.page.link",
    ).android
      .setPackageName("in.frendy.app")
      .ios.setBundleId("in.freshchat.app");
    console.log('link', link); //This is giving the console in both android and ios

    firebase
      .links()
      .createDynamicLink(link)
      .then(url => 
        console.log('Dynamic Link', url); //This is not working in iOS.
        link = "http://" + decodeURIComponent(url);
      );

上面的代码在 android 中运行良好,但是当我们转到 iOS 时,它会抛出一个错误:

可能的未处理承诺拒绝(id:0): 错误:创建动态链接失败 错误:创建动态链接失败 在 createErrorFromErrorData (blob:http://localhost:8081/e76b670d-7fe9-40cb-b837-aa0d40d85769:2122:17) 在 blob:http://localhost:8081/e76b670d-7fe9-40cb-b837-aa0d40d85769:2074:27 在 MessageQueue.__invokeCallback (blob:http://localhost:8081/e76b670d-7fe9-40cb-b837-aa0d40d85769:2645:18) 在blob:http://localhost:8081/e76b670d-7fe9-40cb-b837-aa0d40d85769:2376:18 在 MessageQueue.__guard (blob:http://localhost:8081/e76b670d-7fe9-40cb-b837-aa0d40d85769:2549:13) 在 MessageQueue.invokeCallbackAndReturnFlushedQueue (blob:http://localhost:8081/e76b670d-7fe9-40cb-b837-aa0d40d85769:2375:14) 在http://localhost:8081/debugger-ui/debuggerWorker.js:80:58

另请注意,当我使用应用程序前缀名称(如in.freshachat.app://)从谷歌搜索时,我可以打开应用程序 但我没有得到链接

什么可能导致这个问题?

【问题讨论】:

【参考方案1】:

好吧好吧好吧, 如果有人遇到此问题,请记住在域名中添加“HTTPS”:

var link = new firebase.links.DynamicLink( "https://freshc.in", "https://frendy.page.link", )

【讨论】:

以上是关于Firebase 创建动态链接在本机 iOS 中不起作用。但是它似乎在android中工作正常的主要内容,如果未能解决你的问题,请参考以下文章

如何以编程方式(iOS)创建 Firebase 动态链接?

当动态链接具有自定义子域时,Firebase 动态链接在 iOS 上不起作用

Firebase 动态链接在 iOS 14 上的 Safari 中留下空白页面

数据库在本机 Firebase 中不起作用

如何从 Admin SDK 创建 Firebase 动态链接

Firebase 动态链接始终为空