market.js 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  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. var os = plus.os.name;
  12. options = options||{};
  13. if('iOS' == os){
  14. if(options.ios&&''!=options.ios){
  15. //itms-apps://itunes.apple.com/app/id682211190
  16. plus.runtime.openURL('itms-apps://itunes.apple.com/app/id'+options.ios);
  17. }else{
  18. //itms-apps://itunes.apple.com/WebObjects/MZStore.woa/wa/search?q=helloh5
  19. plus.runtime.openURL('itms-apps://itunes.apple.com/WebObjects/MZStore.woa/wa/search?q='+options.key);
  20. }
  21. }else{
  22. if(options.android&&''!=options.android){
  23. //io.dcloud.helloh5
  24. var uri = plus.android.invoke('android.net.Uri', 'parse', 'market://details?id='+options.android);
  25. var Intent = plus.android.importClass('android.content.Intent');
  26. var intent = new Intent(Intent.ACTION_VIEW, uri);
  27. intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
  28. var main = plus.android.runtimeMainActivity();
  29. main.startActivity(intent);
  30. }else{
  31. //market://search?q=helloh5
  32. plus.runtime.openURL('market://search?q='+options.key);
  33. }
  34. }
  35. }catch(e){
  36. console.error('error @openMarket!!');
  37. }
  38. }
  39. module.exports = {
  40. open: openMarket
  41. }