Giter VIP home page Giter VIP logo

stuartmorris0 / feedbackme Goto Github PK

View Code? Open in Web Editor NEW

This project forked from leonardoobaptistaa/feedbackme

0.0 2.0 0.0 343 KB

FeedbackMe is a Pod to simplify the request for feedback/reviews to your users on iOS. It is similar to the Appirater, but the main difference is that we will not ask for feedback when the user is opening your app.

License: MIT License

Objective-C 95.01% Ruby 0.81% C++ 0.07% C 2.47% Shell 1.64%

feedbackme's Introduction

FeedbackMe

[CI Status](https://travis-ci.org/Leonardo Baptista/FeedbackMe) Version License Platform

FeedbackMe is a Pod to simply the request for feedback/reviews to your users. It is similar to the Appirater, but the main difference is that we will not ask for feedback when the user is opening your app.

Screenshots

Screenshots 01 Screenshots 02 Screenshots 03 Screenshots Feedback Screen

Pre-Requisites

You can use this Pod in two ways:

Using your own view controllers to receive custom feedback.

This way you can customize what feedback do you want, and upload it to your server or do whatever you want to.

It's free too.

or

Register your app on FeedbackMe

If you choose to use FeedbackMe API, there is a view already done asking for name, email and user opinion.

Pricing

  • You can use our backend for free until you reach 50 feedbacks
  • Between 50 and 1,000 feedbacks, it cost $1 per month per app (that passes 50 feedbacks)
  • More than 1,000 feedbacks, costs $5 per month per app (that passes 1,000 feedbacks)

Installation

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

#Podfile
pod 'FeedbackMe', '~> 1.0'

Then go to your terminal and run:

pod install

Initial Setup

First you will need your Itunes ID. You can find it on Itunes link to your app. Example: https://itunes.apple.com/br/app/me-lembra-clovis/id928556821 this app id is "id928556821" (without quotes). If your app is not published yet, you can use another one to test, but as soon as you register your app on Itunes Connect, remember to change it. Apple gives your app an id upon Itunes Connect app registration.

We use this info to be able to open your Itunes page.

Then you have to decide if you will implement your own feedback api, our use ours.

Using custom code

You have to call setup on your AppDelegate.m file, inside the application didFinishLaunchingWithOptions method:

//AppDelegate.m

#import <LBFeedbackMe.h>

- (void) setupFeedbackMe {
    [LBFeedbackMe setupWithAppStoreId:@"id928556821" openFeedbackViewBlock:^{
        UIViewController *actualViewController; //Get current view controller from AppDelegate or other place
        UIViewController *feedbackViewController = [UIViewController new]; //Instantiate your custom feedback view controller
        [actualViewController presentViewController:feedbackViewController animated:true completion:nil];
    }];
}

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
    [self setupFeedbackMe];
    return YES;
}

Using with FeedbackMe api key

First of all, thank you for supporting us :)

You have to call setup on your AppDelegate.m file, inside the application didFinishLaunchingWithOptions method:

//AppDelegate.m

#import <LBFeedbackMe.h>

- (void) setupFeedbackMe {
  [LBFeedbackMe setupWithAppStoreId:@"id928556821" andApiKey:@"YOUR-API-KEY"];
}

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
    [self setupFeedbackMe];
    return YES;
}

Events

After setting up, you have to decide when your app will ask for feedback.

For example, let's say that you will ask for feedback after a user register and like three photos:

//AppDelegate.m
- (void) setupFeedbackMe {
  [LBFeedbackMe setupWithAppStoreId:@"id928556821" andApiKey:@"YOUR-API-KEY"];
  [LBFeedbackMe waitForEvent:@"REGISTER" times: @1];
  [LBFeedbackMe waitForEvent:@"LIKE_PHOTO" times: @3];
}

Ok, now your app is waiting for events to present the feedback view. You just have to tell when these events happen. For example:

//CustomRegistrationViewController.m
- (void) userRegistered
{
    //Custom code
    [LBFeedbackMe eventFired:@"REGISTER"];
}

//CustomPhotosViewController.m
- (void) likePhoto
{
    //Custom code
    [LBFeedbackMe eventFired:@"LIKE_PHOTO"];
}

After userRegistered is called once and likePhoto is called three times, a popup will be presented asking for user feedback.

Localization

You can add these string to your Localization file, and FeedbackMe will load then:

//Localizable.strings
"First Feedback Alert Title" = "Quick Feedback";
"First Feedback Alert Message" = "Are you enjoying this app?";
"First Feedback Button Yes" = "Yes, very much!";
"First Feedback Button Confused" = "I am confused";
"First Feedback Button No" = "Not actually";

"Positive Feedback Alert Title" = "That's nice. Thank you";
"Positive Feedback Alert Message" = "Since you are liking our app, can you help us by leaving a review on the AppStore?";
"Positive Feedback Button Yes" = "Sure!";
"Positive Feedback Button No" = "No";

"Negative Feedback Alert Title" = "How can we improve?";
"Negative Feedback Alert Message" = "Do you want to tell us how to improve our app and make you happy? :)";
"Negative Feedback Button Yes" = "Sure!";
"Negative Feedback Button No" = "No";

"Name" = "Name";
"E-mail" = "E-mail";
"How can we improve?" = "How can we improve?";

Contributions

If you want to add somethings, please do! And open a pull request later.

It will be nice to have a way to customize the feedback view controller layout. I will implement this on a future version.

Author

Leonardo Baptista, [email protected]

License

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

feedbackme's People

Contributors

leonardoobaptistaa avatar stuartmorris0 avatar

Watchers

James Cloos avatar  avatar

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.