其他发现(初始发布后)
我使用此站点 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 设置
无论如何,我在我的应用程序上启用了关联域:
<强>3。 ionic 设置
这是我的 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 发送,效果相同。
感谢您的帮助!
最佳答案
您有一些误解 - 让我们按顺序清除它们:
- 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 错误是糟糕的用户体验,但这是意料之中的。你实际上需要 create some links . - Apple 工具是“App Search API 验证工具”,而不是“通用链接验证工具”(Apple 不提供)。该工具的结果与通用链接是否有效无关——它检查的是完全不同的东西。
- Ionic 没有官方动态链接包,深度链接包也不支持它。试图让这些一起工作时,您已经脱离了 map 的边缘。你可能会看看 this new community plugin .
或者,看看 Branch.io (完全披露:我在 Branch 团队)。我们会做 Dynamic Links 所做的一切 plus far more , 还有 an actively-developed Ionic module它将为您处理所有这些。
关于ios - 与 Firebase 和 Ionic 的通用链接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44982381/