showRateDialog static method

void showRateDialog(
  1. String iosAppID, {
  2. double minRatingToSubmit = 3,
  3. Function? onSubmit,
})

Implementation

static void showRateDialog(String iosAppID,
    {double minRatingToSubmit = 3, Function? onSubmit}) async {
  if (Pref.get("rateDialogSubmitted", false)) {
    return;
  }

  final _dialog = RatingDialog(
    initialRating: 5.0,
    // your app's name?
    title: Text(
      await Helper.getAppName(),
      textAlign: TextAlign.center,
      style: const TextStyle(
        fontSize: 25,
        fontWeight: FontWeight.bold,
      ),
    ),
    // encourage your user to leave a high rating?

    // your app's logo?
    image: Image.asset(
      "assets/appicon.png",
      width: 100,
      height: 100,
    ),

    submitButtonText: 'Submit'.tr,
    commentHint: 'rate_comment'.tr,
    onCancelled: () => print('cancelled'),
    onSubmitted: (response) {
      // TODO: add your own logic
      if (response.rating >= minRatingToSubmit) {
        Pref.set("rateDialogSubmitted", true);
        Helper.rateApp(iosAppID);
        onSubmit?.call();
      }
    },
  );

  Get.dialog(_dialog);
}