与 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&ibi=com.turnmusicapp.15499&ius=turnmusicapp&ad=1&isi=1121012049&ifl=https://example.com&apn=com.turnmusicapp.15499&al=https://example.com&at=affiliate_token&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 动态链接可以用于通用应用邀请和特定页面邀请以跟踪推荐吗?