如何将Cordova应用链接到App Store?

6
如何在我的cordova应用中创建一个链接按钮,该按钮根据设备将重定向到iOS/Android/Amazon App Store中的我的应用程序?
我尝试了以下代码,它进入了iOS if语句,但没有重定向我,也没有报错:
if(window.cordova && window.device) {
    if (device.platform.toUpperCase() === 'IOS') {
        window.open("https://itunes.apple.com/gb/[OBFUSCATED]");
    } else if (device.platform.toUpperCase() === 'ANDROID') {
        window.open("https://play.google.com/store/apps/details?id=[OBFUSCATED]");
    } else {
        window.open("https://www.amazon.co.uk/[OBFUSCATED]");
    }
}

2020年对我有帮助的仅有以下这个:https://dev59.com/ZKTia4cB1Zd3GeqP9i_u#63905554 - Vladimir Tolstikov
2个回答

17

我想通了:

IOS: itms-apps://itunes.apple.com/app/[appId]
Android: market://details?id=[appPackageId]
Amazon: amzn://apps/android?p=[appPackageId]

安卓链接对我有效。但是对于iOS,我采用了以下链接方法:https://dev59.com/iHRC5IYBdhLWcg3wCMc6#2337601/ - Jeremy Wong
1
注意,这些在模拟器上不起作用,但在设备上可以正常运行。 - inorganik

5

您可以使用Inappbrowser插件

使用以下命令安装inappbrowser插件:

cordova plugin add cordova-plugin-inappbrowser

在您的代码中使用以下内容:

  var isAndroid = navigator.userAgent.match(/android/i) ? true : false;
    var isIOS = navigator.userAgent.match(/(ipod|ipad|iphone)/i) ? true : false;

if(isIOS){
        window.open("https://itunes.apple.com/gb/app/[OBFUSCATED]","_system");
    } else if (isAndroid) {
        window.open("https://play.google.com/store/apps/details?id=[OBFUSCATED]", "_system");
    } else {
        window.open("https://www.amazon.co.uk/[OBFUSCATED]", "_system");
    }

希望这能对您有所帮助。

如果您在任何地方遇到问题,请留下评论。


嗨Naitlik,我的代码可以正确检测设备类型,但是window.open不起作用,因为我没有被重定向到任何地方。我也尝试了"_system"。 - user358448
在将“https”替换为“itms-apps”后,它适用于IOS。有没有想法如何/是否需要更改Android / Amazon商店的设置? - user358448
1
"_system" 可用于 Android 和 IOS。感谢 @Naitik。 - Syed Arshad
1
很高兴能帮到你,@Arshad。 - Naitik

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接