与 Firebase 和 Ionic 的通用链接

Posted

技术标签:

【中文标题】与 Firebase 和 Ionic 的通用链接【英文标题】:Universal Linking with Firebase and Ionic 【发布时间】:2017-07-08 04:06:13 【问题描述】:

其他发现(首次发布后)


我使用此站点https://limitless-sierra-4673.herokuapp.com/ 来验证链接。收到关于 application/pkcs7-mime 的错误。不知道如何使用 Firebase 动态链接进行更改


我正在尝试使用 Firebase 的动态链接设置通用链接。


1. Firebase 设置


我已经使用 Firebase 设置了该应用,并且我有链接:https://e2x6f.app.goo.gl

当我打开链接时,我收到 400 错误,但如果我转到 https://e2x6f.app.goo.gl/apple-app-site-association,我会收到以下信息:

"applinks": 
    
        "apps": [],
        "details": [
           "appID": "8CK4RLPU2T.com.turnmusicapp.15499",
           "paths": ["/*"]
        ]
    

所以我觉得还可以。我已经检查以确保所有信息都是正确的。

一个问题是,当我使用应用程序的链接检查 search validation 时,它也会返回 400 错误 - 不确定这是否正常。


2。 Xcode 设置


无论如何,我在我的应用上启用了关联域:

然后在“信息”-> 我添加的 URL 类型下:


3。离子设置


这是我的 Ionic 信息:

global packages:

@ionic/cli-utils : 1.4.0
Ionic CLI        : 3.4.0

System:

Node       : v8.1.2
OS         : macOS Sierra
Xcode      : Xcode 8.3.3 Build version 8E3004b
ios-deploy : 1.9.1
ios-sim    : not installed
npm        : 5.0.4

所以我安装了 Deeplinks 包并进行了所有设置。我知道它可以正常工作,因为我可以在 Safari 浏览器中使用像 turn://home 这样的链接,它会将我带到我的应用程序。我不确定我是否需要在这里做任何其他事情。我已将config.xml 文件中的widget 字段更新为:

<widget id="com.turnmusicapp.15499" version="0.0.1" xmlns="http://www.w3.org/ns/widgets" xmlns:cdv="http://cordova.apache.org/ns/1.0">

id 字段是否需要包含我的应用前缀?

结果


所以我使用ionic cordova run ios --livereload 运行我的应用程序,我将消息输入到 Safari 中,它会将我带到 400 错误页面。我尝试将链接作为 iMessage 发送,并且效果相同。

感谢您的帮助!

【问题讨论】:

【参考方案1】:

您有一些误解 - 让我们按顺序清除它们:

    https://limitless-sierra-4673.herokuapp.com/ 验证器已过时 - application/pkcs7-mime 多年来一直不需要。检查Apple's official docs,你会看到application/json是iOS 9以来的要求。动态链接在服务器端肯定不会有任何配置问题,所以你甚至不需要检查这部分,但更多如果您需要,可以使用更新的验证器 here(是的,https://e2x6f.app.goo.gl 完美验证)。 URL https://e2x6f.app.goo.gl 不是动态链接;它只是您的链接基域。真正的链接看起来像https://e2x6f.app.goo.gl/A97Q(短版)或https://e2x6f.app.goo.gl/?link=https://example.com/path/to/app/content&amp;ibi=com.turnmusicapp.15499&amp;ius=turnmusicapp&amp;ad=1&amp;isi=1121012049&amp;ifl=https://example.com&amp;apn=com.turnmusicapp.15499&amp;al=https://example.com&amp;at=affiliate_token&amp;ct=campaign_text(全长)。虽然基域的 400 错误是蹩脚的 UX,但这是意料之中的。你实际上需要create some links。 Apple 工具是“App Search API Validation Tool”,而不是“Universal Links Validation Tool”(Apple 不提供该工具)。该工具的结果与通用链接是否有效无关——它检查的是完全不同的东西。 Ionic 没有官方的动态链接包,Deeplinks 包也不是为了支持它而设计的。你在地图的边缘试图让这些一起工作。你可以看看this new community plugin。

或者,看看Branch.io(全面披露:我在 Branch 团队)。 plus far more 的所有动态链接我们都会做,an actively-developed Ionic module 会为您处理所有这些。

【讨论】:

哦,好的。明天去分行试试!我正在关注这个视频youtu.be/sFPo296OQqk?t=3m52s。我假设链接会起作用,因为他似乎只是使用链接本身重定向回应用程序。不过你说的很有道理。感谢您清理一切!

以上是关于与 Firebase 和 Ionic 的通用链接的主要内容,如果未能解决你的问题,请参考以下文章

Ionic + Firebase 推送通知错误找不到任何与 com.google.firebase:firebase-core:+ 匹配的版本

未创建 Firebase 动态链接 - 离子

Firebase 动态链接可以用于通用应用邀请和特定页面邀请以跟踪推荐吗?

Firebase 云消息与 Ionic 应用程序

iOS 上的 Firebase 邀请 - 如何从通用链接获得邀请?

从 firebase 创建动态卡片 Ionic v2