market.js 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. /**
  2. * 打开应用市场
  3. * @param {Object} options 应用市场参数
  4. * ios: appstore中应用的id标识,应用的页面地址(如https://apps.apple.com/cn/app/id682211190)的id后面的数字
  5. * android: 应用的包名,apk文件中AndroidManifest.xml中的package字段值
  6. * key: 为设置id标识或包名时,打开搜索页面使用的关键词
  7. * 如果未设置参数,则打开应用市场的搜索页面
  8. */
  9. function openMarket(options){
  10. try{
  11. //#ifdef APP-PLUS
  12. var os = plus.os.name;
  13. options = options||{};
  14. if('iOS' == os){
  15. if(options.ios&&''!=options.ios){
  16. //itms-apps://itunes.apple.com/app/id682211190
  17. plus.runtime.openURL('itms-apps://itunes.apple.com/app/id'+options.ios);
  18. }else{
  19. //itms-apps://itunes.apple.com/WebObjects/MZStore.woa/wa/search?q=helloh5
  20. plus.runtime.openURL('itms-apps://itunes.apple.com/WebObjects/MZStore.woa/wa/search?q='+options.key);
  21. }
  22. }else{
  23. if(options.android&&''!=options.android){
  24. //io.dcloud.helloh5
  25. var uri = plus.android.invoke('android.net.Uri', 'parse', 'market://details?id='+options.android);
  26. var Intent = plus.android.importClass('android.content.Intent');
  27. var intent = new Intent(Intent.ACTION_VIEW, uri);
  28. intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
  29. var main = plus.android.runtimeMainActivity();
  30. main.startActivity(intent);
  31. }else{
  32. //market://search?q=helloh5
  33. plus.runtime.openURL('market://search?q='+options.key);
  34. }
  35. }
  36. //#endif
  37. }catch(e){
  38. console.error('error @openMarket!!');
  39. }
  40. }
  41. export default {
  42. open: openMarket
  43. }