1.0.6 • Published 8 months ago

@awesome-cordova-library/ratedialog v1.0.6

Weekly downloads
-
License
SEE LICENSE IN LI...
Repository
github
Last release
8 months ago

id: plugin-ratedialog title: Ratedialog tags:

  • cordova
  • capacitor
  • ionic
  • javascript
  • typescript
  • plugin
  • mobile
  • ratedialog

Ratedialog

A plugin to provide rate this app functionality into your cordova application.

Online documentation

Installation

Cordova

cordova plugin add cordova-plugin-dialogs
cordova plugin add cordova-plugin-device
cordova plugin add cordova-plugin-inappbrowser
npm i @awesome-cordova-library/ratedialog

Capacitor / Ionic

npm install cordova-plugin-dialogs
npm install cordova-plugin-device
npm install cordova-plugin-inappbrowser
npm install @awesome-cordova-library/ratedialog
npx cap sync

Options

OptionTypeDescription
appNameStringApp name
locale'en', 'fr'Locale have to use, if you use other language use forceText option
usesUntilPromptnumberCount of runs of application before dialog will be displayed
storeAppURL.iosnumberapplication id in AppStore (ex: 1234567)
storeAppURL.androidnumberapplication id in Google Store (ex: com.joazco.cordovaawesomelibrary)
forceText.rate_dialog_modal_titlestringoptional Title of modal
forceText.rate_dialog_contentstringoptional Content of modal
forceText.rate_dialog_modal_btn_ratenowstringoptional Text of button rate now
forceText.rate_dialog_modal_btn_nostringoptional Text of button no
forceText.rate_dialog_modal_btn_maybe_laterstringoptional Text of button maybe later

Vanilla

Declaration

class RateDialog {
  /**
   * Set preferences for use RateDialog
   * @param options {DialogRateOption}
   */
  static setPreference(options: DialogRateOption): void;
  /**
   * Show dialog rating if user open app usesUntilPrompt times. You can force open dialog with force = true. If user had select no or rate now dialog won't open again. If user selected later usesUntilPrompt is reset at 0.
   * @param force {boolean}
   */
  static promptForRating(force?: boolean): void;
  /**
   * Reset usesUntilPrompt at 0 and dialog will be open again after user open app usesUntilPrompt times
   */
  static resetUserRatedOrRefused(): void;
  /**
   * Get information if user select no or rate now
   * @returns {bool|undefined}
   */
  static getUserRatedOrRefused(): boolean | undefined;
  /**
   * Get number of times user open app since the first call promptForRating
   * @returns {number|undefined}
   */
  static getNbUseApp(): number | undefined;
  /**
   * Override langage
   * @param locale {DialogRateLanguagesAccepted}
   * @returns
   */
  static setLocale(locale: DialogRateLanguagesAccepted): void;
}

Usages

import RateDialog from '@awesome-cordova-library/ratedialog';

RateDialog.setPreference({
  appName: 'Cordova Awesome Library',
  locale: 'en',
  usesUntilPrompt: 3,
  storeAppURL: {
    ios: '1234567',
    android: 'com.joazco.cordovaawesomelibrary',
  },
});
RateDialog.promptForRating();

React

Declaration

const useRateDialog: (initOptions: DialogRateOption) => {
  setPreference: (options: DialogRateOption) => void;
  promptForRating: (force?: boolean) => void;
  resetUserRatedOrRefused: () => void;
  getUserRatedOrRefused: () => boolean | undefined;
  getNbUseApp: () => number | undefined;
  setLocale: (locale: DialogRateLanguagesAccepted) => void;
};

Usages

import { useEffect } from 'react';
import useRateDialog from '@awesome-cordova-library/ratedialog/lib/react';

function App() {
  const { promptForRating } = useRateDialog({
    appName: 'Cordova Awesome Library',
    locale: 'en',
    usesUntilPrompt: 3,
    storeAppURL: {
      ios: '1234567',
      android: 'com.joazco.cordovaawesomelibrary',
    },
  });

  useEffect(() => {
    promptForRating();
  }, [promptForRating]);

  return <div />;
}