几天来,我一直在尝试建立打开 Expo 开发应用程序的深层链接。我尝试了所有我能想到的组合。
在 Firebase 中,我添加了我的自定义域并正确地将自定义前缀设置为
/app
我创建了一个指向 https://somedomain.com/app/go
的“动态链接”,并指示它在安装时在 Android 应用程序中打开,如果没有安装则打开 Play 商店。
接下来,我认为在Android上设置并使用模拟器进行测试会更容易。 我关注了 Expo 的文档,并将其添加到我的
app.json
。该应用程序正在 expo 客户端应用程序上运行.
"intentFilters": [
{
"action": "VIEW",
"data": [
{
"scheme": "https",
"host": "*.somedomain.com",
"pathPrefix": "/app"
}
],
"category": ["BROWSABLE", "DEFAULT"]
}
]
我将
https://somedomain.com/app/go
粘贴到Android AVD模拟器上的短信中。
现在...根据世博会文档:
您只需将 intentFilters 添加到您的 Android 部分 应用程序.json。以下基本配置将使您的应用程序成为 在标准 Android 对话框中作为处理任何选项的选项显示 记录指向 myapp.io 的链接
当我点击消息中的链接时,我只看到在 Chrome 中打开、复制和共享的选项。
当我点击链接时,它:
我做错了什么?
接下来,我希望我可以用ios测试它。 ios Universal links 上的Expo docs 更加令人困惑。他们指的是已发布的应用程序吗?这会使用 expo 客户端进行开发吗?什么是苹果应用 ID?这是否意味着我首先需要在 App Store 上安装该应用程序才能测试与 Expo 和 ios 的深度链接?
这似乎是一个非常小众的主题,因为实际上没有关于 Expo 和深度链接的教程(书面或视频)......这是任何应用程序的基本需求。不是吗?
对于您的 ios 问题,这篇文章详细介绍了帮助我让它在 ios 上工作的所有内容:https://stackoverflow.com/a/71543147/13543938