Sah*_*agi 4 firebase react-native firebase-dynamic-links expo
有没有办法在不分离的情况下将 Expo 应用程序与 firebase 动态链接集成。
如果您需要动态创建新的动态链接,您可以使用REST API来完成。在更可能的情况下,您只需要您的应用程序打开Firebase 的动态链接,除了配置您的 Expo 应用程序以处理通用链接(即:使用 http/https 的深层链接)之外,您不需要做任何事情。
清单是这样的:
对于 Android,将intentFilters属性添加到您的android属性中:
"android": {
"intentFilters": [
{
"action": "VIEW",
"data": [
{
"scheme": "https",
"host": "<your-domain>",
"pathPrefix": "/"
},
],
"category": [
"BROWSABLE",
"DEFAULT"
]
}
}
]
Run Code Online (Sandbox Code Playgroud)
对于 iOS,将associatedDomains属性添加到ios:
"ios": {
"associatedDomains": ["applinks:<your-domain>"]
}
Run Code Online (Sandbox Code Playgroud)
如果您从特定位置提供配置文件,Android 和 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>"]
}
}]
Run Code Online (Sandbox Code Playgroud)
而apple-app-site-association像这样:
{
"applinks": {
"apps": [],
"details": [
{
"appID": "<your-team-id>.<ios-bundle-identifier>",
"paths": [ "*" ]
}
]
}
}
Run Code Online (Sandbox Code Playgroud)
要获取应用签名证书的 SHA256 指纹,您可以使用 keytool:
keytool -list -v -keystore <your-key-file>
Run Code Online (Sandbox Code Playgroud)
输入密钥库密码后,它会打印许多密钥库信息,包括 SHA256 指纹。
如果您的网站同时托管在 Firebase 上,assetlinks.json并且apple-app-site-association可以在您在 Firebase 的项目上创建应用程序时自动生成。否则,只需将这些文件放在域的根目录中即可。
我认为这一步主要是不言自明的,但只是一些注意事项:
请记住,您应该始终通过单击而不是直接在浏览器上输入来测试您的深层链接。例如,您可以在 WhatsApp 上将链接发送给自己或放置一些笔记应用程序。
其他可能有用的资源:
| 归档时间: |
|
| 查看次数: |
2690 次 |
| 最近记录: |