AppRate.preferences.openUrl не является функцией - PullRequest
0 голосов
/ 18 июня 2020

Я недавно установил плагин AppRate для Ioni c Cordova, и у меня возникла проблема, когда я нажимаю кнопку, чтобы оценить приложение, это показывает мою ошибку на консоли: AppRate.preferences.openUrl не является функцией

Я пытался найти свойство в настройках, но не нашел.

Вот код, который я использую:

appRate.preferences = {
      displayAppName: "My app name",
      promptAgainForEachNewVersion: true,
      storeAppURL: {
        ios: '*******',
        android: 'market://apps/details?id=com.****.****'
      },
      customLocale: {
        title: "Você está gostando do %@?",
        message: "Se você está gostando do %@, poderia nos ajudar avaliando-o na loja?",
        cancelButtonLabel: "Não, obrigado",
        laterButtonLabel: "Me lembre mais tarde",
        rateButtonLabel: "Avaliar",
        appRatePromptTitle: "Gostaria de avaliar o nosso aplicativo?",
        feedbackPromptTitle: "feedback prompt",
        noButtonLabel: "Não",
        yesButtonLabel: "Sim"
      },
      usesUntilPrompt: 1,
      simpleMode: true,
      inAppReview: true,
      callbacks: {
        onRateDialogShow: function (callback) {
          console.log('rate dialog shown!');
        },
        onButtonClicked: function (buttonIndex) {
          console.log('Selected index: -> ' + buttonIndex);
        }
      },
    }

    appRate.promptForRating(true);

У меня есть скрыл значения storeAppUrl по очевидным причинам.

Вот спецификации моего проекта:

Использование Ioni c 3, Angular -Ioni c, AppRate версии 4.20.0

Ответы [ 2 ]

0 голосов
/ 18 июня 2020

Узнал, как решить эту проблему, похоже, что актуальная версия плагина AppRate имеет эту ошибку (1.5.0), поэтому я переключил ее на версию 1.4.0.

Это обычная проблема для многих пользователей, как мы можем видеть в этих потоках внутри их репозитория на github: https://github.com/pushandplay/cordova-plugin-apprate/issues/263 https://github.com/pushandplay/cordova-plugin-apprate/issues/274

0 голосов
/ 18 июня 2020

Вы забыли добавить appRate в конструктор и использовать ключевое слово this:

import { AppRate } from '@ionic-native/app-rate/ngx';

constructor(private appRate: AppRate) { }

this.appRate.preferences = {
      displayAppName: "My app name",
      promptAgainForEachNewVersion: true,
      storeAppURL: {
        ios: '*******',
        android: 'market://apps/details?id=com.****.****'
      },
      customLocale: {
        title: "Você está gostando do %@?",
        message: "Se você está gostando do %@, poderia nos ajudar avaliando-o na loja?",
        cancelButtonLabel: "Não, obrigado",
        laterButtonLabel: "Me lembre mais tarde",
        rateButtonLabel: "Avaliar",
        appRatePromptTitle: "Gostaria de avaliar o nosso aplicativo?",
        feedbackPromptTitle: "feedback prompt",
        noButtonLabel: "Não",
        yesButtonLabel: "Sim"
      },
      usesUntilPrompt: 1,
      simpleMode: true,
      inAppReview: true,
      callbacks: {
        onRateDialogShow: function (callback) {
          console.log('rate dialog shown!');
        },
        onButtonClicked: function (buttonIndex) {
          console.log('Selected index: -> ' + buttonIndex);
        }
      },
    };

this.appRate.promptForRating(true);
...