我目前正在开发一个网站,需要添加一个链接到我的移动应用程序的按钮。我实现了一个深层链接(或通用链接)来将用户直接重定向到应用程序的仪表板。如果未安装应用程序,后备应重定向到适当的应用程序商店。
这是当前实现的代码:
window.location.href = "com.jfmech.myapp1://myapp1_main_module/dashboard".
setTimeout(function(){
window.location.href = GetStoreLinkByOS();
}, 2000);
这在 Android 上完美运行,但在 iOS 上则不然。
我读到我需要在 Info.plist 文件中注册 URL 方案或通用链接,这是我到目前为止添加的内容:
<platform name="ios">
<config-file target="*-Info.plist" parent="CFBundleURLTypes">
<array>
<dict>
<key>CFBundleURLName</key>
<string>com.jfmech.myapp1</string> <!-- Replace with your app's identifier -->
<key>CFBundleURLSchemes</key>
<array>
<string>com.jfmech.myapp1</string>
</array>
</dict>
</array>
</config-file>
</platform>
尽管如此,后备逻辑总是在 iOS 上启动,将用户重定向到商店而不是打开应用程序,即使它已经安装了。
我错过了什么?任何指导将不胜感激。
我已将 JS 代码更新为:
window.open("<myappid>://myapp1_main_module/dashboard", "_system")
这可行,但在不同设备上不一致,并且在启用弹出窗口阻止程序的浏览器中打开网页时会导致严重问题。
这可能与 plist 无关,它不能解决我的问题或回答我的问题,但我正在分享它,以防其他人认为这是一个解决方案。