我正在构建多个离子应用程序,其他应用程序中的应用程序速率选项完美,但在一个应用程序中甚至没有显示应用程序速率提示。我的应用费率功能如下所示
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>
答案 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
相同的调用,这是没有意义的。