是否有一种方法可以集成一个世博会应用程序与火源动态链接,而不分离。
发布于 2020-08-11 08:18:29
如果需要动态创建新动态链接,则可以使用REST API进行操作。在更可能的情况下,您只需要您的应用程序来打开Firebase的动态链接,除了配置Expo来处理通用链接(即:使用http/https的deeplinks )之外,您不需要做任何其他事情。
清单如下所示:
1.配置app.json
对于Android,将intentFilters
属性添加到android
属性中:
"android": {
"intentFilters": [
{
"action": "VIEW",
"data": [
{
"scheme": "https",
"host": "<your-domain>",
"pathPrefix": "/"
},
],
"category": [
"BROWSABLE",
"DEFAULT"
],
"autoVerify": true // required to work on newer android versions
}
]
]
对于iOS,将associatedDomains
属性添加到ios
"ios": {
"associatedDomains": ["applinks:<your-domain>"]
}
2.配置您的域以允许应用程序处理来自它的链接
如果您从特定位置提供配置文件,安卓和iOS将允许您的应用程序从您的域打开链接:
安卓:https://<your-domain>/.well-known/assetlinks.json
iOS:https://<your-domain>/.well-known/apple-app-site-association
assetlinks.json
的外观如下所示:
[{
"relation": ["delegate_permission/common.handle_all_urls"],
"target": {
"namespace": "android_app",
"package_name": "<android-package-name>",
"sha256_cert_fingerprints":
["<your-sha256-certificate-fingerprints>"]
}
}]
apple-app-site-association
是这样的:
{
"applinks": {
"apps": [],
"details": [
{
"appID": "<your-team-id>.<ios-bundle-identifier>",
"paths": [ "*" ]
}
]
}
}
要获取应用程序的签名证书的SHA256指纹,可以使用keytool:
keytool -list -v -keystore <your-key-file>
输入密钥库密码后,它将打印许多密钥存储信息,包括SHA256指纹。
如果您的站点托管在Firebase上,则如果您在Firebase的项目上创建应用程序,则可以自动生成assetlinks.json
和apple-app-site-association
。否则,只需将这些文件放在域的根目录上即可。
3.创建Firebase动态链接
我认为这一步基本上是不言自明的,但只是几个注意事项:
记住,您总是应该通过单击而不是直接在浏览器上输入来测试deeplinks。您可以在WhatsApp上将链接发送给自己,或者添加一些便笺应用程序,例如.。
其他可能有帮助的资源:
发布于 2021-09-19 23:30:47
除了Pedro Andrade的指示外:
1.) Firebase需要在应用程序>项目设置下提供以下详细信息,以便动态链接工作。
play store > your app > App Integrity > SHA 256
检索developer.apple.com > Certificates, Identifiers & Profiles > your app id > App ID Prefix
令人惊讶的是,这些内容在文档中几乎没有提到,但是在搜索调试预览链接导致的错误时,会出现堆栈溢出结果和其他答案:
Android app '<bundle id>' lacks SHA256. AppLinks is not enabled for the app. Learn more.
iOS app '<bundle id>' lacks App ID Prefix. UniversalLinks is not enabled for the app. Learn more.
可以通过将?d=1
添加到动态链接来查看调试预览链接。
https://firebase.google.com/docs/dynamic-links/debug
( 2.)即使您为动态链接使用页面链接样式的域,您的app.json中的关联域/intentFilter域仍然应该是您的实际域
也就是说,如果您正在生成my-app.page.link
shortLinks,这是到my-app.com
的动态链接,则应该在app.json
中使用my-app.com
发布于 2021-11-11 05:57:45
佩德罗·安德拉德的解决方案有效!部分..。
解释:
示例:在浏览器中打开"<your-domain>.page.link/XLSj"
,浏览器将直接生成链接:"<your-domain>.com/params/54"
到配置的深层链接。
在管理工作流中,我不知道用世博来“读取”动态链接的其他方法。
https://stackoverflow.com/questions/62415111
复制相似问题