arashpayan / appirater

A utility that reminds your iPhone app's users to review the app.

Home Page:http://arashpayan.com/blog/2009/09/07/presenting-appirater/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Integration advice for Google Analytics

fulldecent opened this issue · comments

Question for other users: can I hook into the "willAskToLeaveReview" and "userDidLeaveReview" events so I can track them with Google Analytics as a conversion?

You can create an AppiraterDelegate (https://github.com/arashpayan/appirater/blob/master/AppiraterDelegate.h#L16) to listen for appiraterDidDisplayAlert:. There's no way to know for sure if a user left a review or not, but you can find out if the user clicked rate by listening to appiraterDidOptToRate:.

Note for others:

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
    ...
    [Appirater setDelegate:self];
    ...
}

#pragma mark - AppiraterDelegate

- (void)appiraterDidDisplayAlert:(Appirater *)appirater
{
    id<GAITracker> tracker = [[GAI sharedInstance] defaultTracker];
    [tracker send:[[GAIDictionaryBuilder createEventWithCategory:@"Appirater"
                                                          action:@"DisplayAlert"
                                                           label:@"done"
                                                           value:@1] build]];
}

- (void)appiraterDidDeclineToRate:(Appirater *)appirater
{
    id<GAITracker> tracker = [[GAI sharedInstance] defaultTracker];
    [tracker send:[[GAIDictionaryBuilder createEventWithCategory:@"Appirater"
                                                          action:@"DeclineToRate"
                                                           label:@"done"
                                                           value:@1] build]];
}

- (void)appiraterDidOptToRate:(Appirater *)appirater
{
    id<GAITracker> tracker = [[GAI sharedInstance] defaultTracker];
    [tracker send:[[GAIDictionaryBuilder createEventWithCategory:@"Appirater"
                                                          action:@"OptToRate"
                                                           label:@"done"
                                                           value:@1] build]];
}

- (void)appiraterDidOptToRemindLater:(Appirater *)appirater
{
    id<GAITracker> tracker = [[GAI sharedInstance] defaultTracker];
    [tracker send:[[GAIDictionaryBuilder createEventWithCategory:@"Appirater"
                                                          action:@"OptToRemindLater"
                                                           label:@"done"
                                                           value:@1] build]];
}

- (void)appiraterWillPresentModalView:(Appirater *)appirater animated:(BOOL)animated
{
    id<GAITracker> tracker = [[GAI sharedInstance] defaultTracker];
    [tracker send:[[GAIDictionaryBuilder createEventWithCategory:@"Appirater"
                                                          action:@"WillPresentModalView"
                                                           label:@"done"
                                                           value:@1] build]];
}

- (void)appiraterDidDismissModalView:(Appirater *)appirater animated:(BOOL)animated
{
    id<GAITracker> tracker = [[GAI sharedInstance] defaultTracker];
    [tracker send:[[GAIDictionaryBuilder createEventWithCategory:@"Appirater"
                                                          action:@"DidDismissModalView"
                                                           label:@"done"
                                                           value:@1] build]];
}