离子本机应用程序速率不适用于Android

时间:2018-09-03 10:59:31

标签: android ionic-framework hybrid-mobile-app mobile-application

我正在构建多个离子应用程序,其他应用程序中的应用程序速率选项完美,但在一个应用程序中甚至没有显示应用程序速率提示。我的应用费率功能如下所示

    rate(){
    this.appRate.preferences.storeAppURL = {
      // ios: '',
      android: 'market://details?id=app_id',
      // windows: 'ms-windows-store://review/?ProductId=<store_id>'
    };

    this.appRate.promptForRating(true);

    // or, override the whole preferences object
    this.appRate.preferences = {
      usesUntilPrompt: 3,
      storeAppURL: {
        // ios: '<app_id>',
        android: 'market://details?id=app_id',
        // windows: 'ms-windows-store://review/?ProductId=<store_id>'
      }
    };
    this.appRate.promptForRating(false);
  }

并且html代码是

<button ion-button color="vibrant" (click)="rate()"><span style="color:#e2c767">Rate App Now</span></button>

2 个答案:

答案 0 :(得分:1)

您需要添加其他配置设置。我犯了您无意中犯的同样错误。在构造函数中包含以下代码,

appRate.preferences = {
    storeAppURL: {
      ios: '<app_id>',
      android: 'market://details?id=<package_name>',
      windows: 'ms-windows-store://review/?ProductId=<store_id>'
    },
    customLocale: {
      title: 'Do You Enjoy?',
      message: 'Please Rate Us',
      cancelButtonLabel: 'No Thanks',
      laterButtonLabel: 'Remind me later',
      rateButtonLabel: 'Rate It Now',

    },
    callbacks: {
      onRateDialogShow: function (callback) {
        console.log('dfcsd');
      },
      onButtonClicked:function(buttonIndex){
        console.log('Selected Index is '+buttonIndex);
      }
    },
    simpleMode:true
  }

添加完整的配置设置,包括回调和customLocale,如上面的代码所示。最后,在rate()函数中,

 this.appRate.promptForRating(true);

答案 1 :(得分:0)

您的设备设置为哪种语言?

如果您的设备设置为英语或葡萄牙语以外的任何其他语言,则插件中当前存在错误。我在这里打开了一个问题,并添加了可能的解决方案:https://github.com/pushandplay/cordova-plugin-apprate/issues/218

PS:我假设测试时// or, override the whole preferences object之后的代码已被注释掉。因为否则,您将有2个promptForRating相同的调用,这是没有意义的。