[MAPSME-6730] [ios] Added UGC statistics.

This commit is contained in:
Ilya Grechuhin 2018-02-12 13:20:14 +03:00 committed by Roman Kuznetsov
parent 6cf8024337
commit 85472a807d
2 changed files with 21 additions and 8 deletions

View file

@ -167,6 +167,7 @@ static NSString * const kStatMapDataSize = @"map_data_size";
static NSString * const kStatMapSearch = @"Map search";
static NSString * const kStatMapViewStyle = @"Map view style";
static NSString * const kStatMapViewStyleSettings = @"Map view style settings";
static NSString * const kStatMapsme = @"maps.me";
static NSString * const kStatMenu = @"Menu";
static NSString * const kStatMigrationBig2SmallMWM = @"Big mwms to small mwms migration counter";
static NSString * const kStatMiles = @"Miles";
@ -186,9 +187,9 @@ static NSString * const kStatNever = @"Never";
static NSString * const kStatNext = @"Next";
static NSString * const kStatNightMode = @"NightMode";
static NSString * const kStatNo = @"No";
static NSString * const kStatNone = @"none";
static NSString * const kStatNoConnection = @"no_connection";
static NSString * const kStatNoSpace = @"no_space";
static NSString * const kStatNone = @"none";
static NSString * const kStatOSM = @"OSM";
static NSString * const kStatOSMUserName = @"osm_username";
static NSString * const kStatObjectLat = @"object_lat";
@ -205,7 +206,6 @@ static NSString * const kStatOrientation = @"Orientation";
static NSString * const kStatOther = @"Other";
static NSString * const kStatOut = @"Out";
static NSString * const kStatPedestrian = @"Pedestrian";
static NSString * const kStatPlacement = @"placement";
static NSString * const kStatPlacePage = @"placepage";
static NSString * const kStatPlacePageBannerBlank = @"Placepage_Banner_blank";
static NSString * const kStatPlacePageBannerClick = @"Placepage_Banner_click";
@ -223,6 +223,7 @@ static NSString * const kStatPlacePagePreview = @"placepage_preview";
static NSString * const kStatPlacePageRestaurantBook = @"Placepage_Restaurant_book";
static NSString * const kStatPlacePageSponsoredActionButtonClick = @"Placepage_SponsoredActionButton_click";
static NSString * const kStatPlacePageTaxiClick = @"Placepage_Taxi_click";
static NSString * const kStatPlacement = @"placement";
static NSString * const kStatPlacepageSponsoredError = @"Placepage_SponsoredGallery_error";
static NSString * const kStatPlacepageSponsoredItemSelected = @"Placepage_SponsoredGallery_ProductItem_selected";
static NSString * const kStatPlacepageSponsoredLogoSelected = @"Placepage_SponsoredGallery_LogoItem_selected";
@ -333,6 +334,7 @@ static NSString * const kStatUGCReviewAuthDeclined = @"UGC_Auth_declined";
static NSString * const kStatUGCReviewAuthError = @"UGC_Auth_error";
static NSString * const kStatUGCReviewAuthExternalRequestSuccess =
@"UGC_Auth_external_request_success";
static NSString * const kStatUGCReviewAuthRequestSuccess = @"UGC_Auth_request_success";
static NSString * const kStatUGCReviewAuthShown = @"UGC_Auth_shown";
static NSString * const kStatUGCReviewCancel = @"UGC_Review_cancel";
static NSString * const kStatUGCReviewError = @"UGC_Review_error";

View file

@ -1,6 +1,7 @@
#import "MWMAuthorizationViewModel.h"
#import <FBSDKCoreKit/FBSDKAccessToken.h>
#import <GoogleSignIn/GoogleSignIn.h>
#import "Statistics.h"
#include "Framework.h"
@ -34,18 +35,28 @@
{
auto & user = GetFramework().GetUser();
User::SocialTokenType socialTokenType;
NSString * provider = nil;
switch (type)
{
case MWMSocialTokenTypeGoogle: socialTokenType = User::SocialTokenType::Google; break;
case MWMSocialTokenTypeFacebook: socialTokenType = User::SocialTokenType::Facebook; break;
case MWMSocialTokenTypeGoogle:
provider = kStatGoogle;
socialTokenType = User::SocialTokenType::Google;
break;
case MWMSocialTokenTypeFacebook:
provider = kStatFacebook;
socialTokenType = User::SocialTokenType::Facebook;
break;
}
auto s = std::make_unique<User::Subscriber>();
s->m_postCallAction = User::Subscriber::Action::RemoveSubscriber;
s->m_onAuthenticate = [](bool success)
{
//TODO: @igrechuhin add reaction on auth success/failure, please.
// Warning! Callback can be called on not UI Thread.
s->m_onAuthenticate = [provider](bool success) {
if (success)
[Statistics logEvent:kStatUGCReviewAuthRequestSuccess
withParameters:@{kStatProvider: provider}];
else
[Statistics logEvent:kStatUGCReviewAuthError
withParameters:@{kStatProvider: kStatMapsme, kStatError: @""}];
};
user.AddSubscriber(std::move(s));
user.Authenticate(token.UTF8String, socialTokenType);