Giter Site home page Giter Site logo

eggrating's Introduction

๐Ÿค•

This library is deprecated. Anyone who wants a tool for ratings and reviews, please use the official one from Apple instead: https://developer.apple.com/app-store/ratings-and-reviews/

EggRating

Let's increase your iOS app reviews with EggRating.

Version License Platform

EggRating is an iOS app review tool written in Swift. EggRating will prompt users to rate the app after they have used it a certain number of times or after a set time period. If the user rates more than a certain number, EggRating will take them right to the app store where they can leave their good review ๐Ÿ˜‰๐Ÿ‘

Screenshots

Requirements

  • iOS 8.0+
  • Swift 3.0+

Installation

EggRating is available through CocoaPods. To install it, simply add the following line to your Podfile:

pod 'EggRating'

Usage

1., Import EggRating in AppDelegate file and in application:didFinishLaunchingWithOptions: initialize EggRating with your itunesId and other properties you want to customize

EggRating.itunesId = "123456789"
EggRating.minRatingToAppStore = 3.5

2., Import EggRating in view controller file:

import EggRating

3., Use the following to display the EggRating automatically (with the conditions):

EggRating.promptRateUsIfNeeded(in: self)

4., To show an EggRating immediately:

EggRating.promptRateUs(in: self)

5., To access EggRating protocol, implement EggRatingDelegate:

EggRating.delegate = self
extension ViewController: EggRatingDelegate {
    
    func didRate(rating: Double) {
        print("didRate: \(rating)")
    }
    
    func didRateOnAppStore() {
        print("didRateOnAppStore")
    }
    
    func didIgnoreToRate() {
        print("didIgnoreToRate")
    }
    
    func didIgnoreToRateOnAppStore() {
        print("didIgnoreToRateOnAppStore")
    }
    
    func didDissmissThankYouDialog() {
        print("didDissmissThankYouDialog")
    }
}

Customisation

EggRating also provides a property set for a customization usage:

  • itunesId : The iTunes ID of the application (required).

  • delegate : Register in order to listen to rating actions.

  • minRatingToAppStore : Minimum score to bring user to review on the App Store, default is 4.0.

  • daysUntilPrompt : A certain number of times to display EggRating after first used date, default is 10 days.

  • remindPeriod : A certain number of times to display EggRating again, default is 10 days.

  • starFillColor : The color of selected stars, default is yellow.

  • starNormalColor : The color of normal stars, default is clear.

  • starBorderColor : The color of star border, default is yellow.

  • titleLabelText : The title of EggRating dialog.

  • descriptionLabelText : The description of EggRating dialog.

  • dismissButtonTitleText : The dismiss button title of EggRating dialog.

  • rateButtonTitleText : The rate button title of EggRating dialog.

  • thankyouTitleLabelText : The thank you title.

  • thankyouDescriptionLabelText : The thank you description.

  • thankyouDismissButtonTitleText : The thank you dismiss button.

  • appStoreTitleLabelText : The rate on app store title.

  • appStoreDescriptionLabelText : The rate on app store description.

  • appStoreDismissButtonTitleText : The rate on app store dismiss button title.

  • appStoreRateButtonTitleText : The rate on app store rate button title.

  • debugMode : The debug mode, default is false.

  • minuteUntilPrompt : A certain number of times to display EggRating after first used date in minute. This can be set only when debug mode is on.

  • minuteRemindPeriod : A certain number of times to display EggRating again in minute. This can be set only when debug mode is on.

  • appVersion : The application version. This can be set only when debug mode is on.

  • shouldShowThankYouAlertController : The condition to show thank you alert dialog after user rated poor score.

Example

To run the example project, clone the repo, and run pod install from the Example directory first.

Credits

License

EggRating is available under the MIT license. See the LICENSE file for more info.

eggrating's People

Contributors

burakgunduztr avatar naluinui avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

eggrating's Issues

Cocoapods uses tag 0.1.2 instead of master

Hi naluinui,

you commited "Some changes EggRatingViewController.swift " on your master, but in the podspecs you are telling to use tag 0.1.2. Could you maybe update the file?

Thx! :)

rejected appstore

my application has been rejected because I use "import EggRating"

I wasn't actually using it. However, I still think it is rejected automatically because of EGGRATING.
screen shot 2018-11-09 at 11 32 36

"lastRemind" default initial value undermines daysUntilPrompt

By default both daysUntilPrompt and remindPeriod are 10, but if you set a lower daysUntilPrompt it will be ignored in favor of the remindPeriod because the lastRemind variable is set to the date you first call the shouldPromptForRating method.

For example, I want to prompt the user for a rating two days after downloading the app, but then not bother them again until 10 days after they've ignored the rating prompt. Although I have daysUntilPrompt set to 2, when first calling that method it sets lastRemind's date to now, so when it gets to the portion of the prompt check method "minutesFromLastRemind < minuteRemindPeriod", it returns false because it thinks I already received a reminder just now.

I fixed this in my forked repo by defaulting the lastRemind value to a date from the far past.

Rejected by App Review team

Guideline 1.1.7 - Safety - Objectionable Content

โ€œWe noticed that your app includes content and features that can manipulate the user reviews or chart ranking on the App Store. Specifically, your app filters user reviews and only directs users who intend to rate your app 4 - 5 stars to complete a rating on the App Store.โ€

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.