forked from organicmaps/organicmaps
[iOS] Statistic for the place page state changes
This commit is contained in:
parent
41f662cfe0
commit
c6c380cfba
4 changed files with 30 additions and 6 deletions
|
@ -224,6 +224,8 @@ static NSString * const kStatKML = @"KML";
|
|||
static NSString * const kStatKilometers = @"Kilometers";
|
||||
static NSString * const kStatLandscape = @"Landscape";
|
||||
static NSString * const kStatLanguage = @"Language";
|
||||
static NSString * const kStatLat = @"lat";
|
||||
static NSString * const kStatLon = @"lon";
|
||||
static NSString * const kStatListSettings = @"list_settings";
|
||||
static NSString * const kStatLocals = @"Locals";
|
||||
static NSString * const kStatLocalsProvider = @"Locals.Maps.Me";
|
||||
|
@ -299,6 +301,7 @@ static NSString * const kStatPlacePageBannerBlank = @"Placepage_Banner_blank";
|
|||
static NSString * const kStatPlacePageBannerClick = @"Placepage_Banner_click";
|
||||
static NSString * const kStatPlacePageBannerError = @"Placepage_Banner_error";
|
||||
static NSString * const kStatPlacePageBannerShow = @"Placepage_Banner_show";
|
||||
static NSString * const kStatPlacePageChangeState = @"Placepage_change_state";
|
||||
static NSString * const kStatPlacePageDescriptionLinkClick = @"Placepage_Description_Outbound_click";
|
||||
static NSString * const kStatPlacePageDescriptionMore = @"Placepage_Description_more";
|
||||
static NSString * const kStatPlacePageDescriptionViewAll = @"Placepage_Description_View_all";
|
||||
|
@ -455,6 +458,7 @@ static NSString * const kStatToolbarMenuClick = @"Toolbar_Menu_click";
|
|||
static NSString * const kStatTracks = @"tracks";
|
||||
static NSString * const kStatTraffic = @"Traffic";
|
||||
static NSString * const kStatType = @"type";
|
||||
static NSString * const kStatTypes = @"types";
|
||||
static NSString * const kStatUGCReviewAuthDeclined = @"UGC_Auth_declined";
|
||||
static NSString * const kStatUGCReviewAuthError = @"UGC_Auth_error";
|
||||
static NSString * const kStatUGCReviewAuthExternalRequestSuccess =
|
||||
|
|
|
@ -287,6 +287,19 @@ void RegisterEventIfPossible(eye::MapObject::Event::Type const type, place_page:
|
|||
[Statistics logEvent:kStatPlacepageSponsoredOpen withParameters:parameters];
|
||||
}
|
||||
|
||||
- (void)logStateChangeEventWithValue:(NSNumber *)value {
|
||||
MWMPlacePageData * data = self.data;
|
||||
if (data == nil) return;
|
||||
|
||||
NSString *types = data.statisticsTags;
|
||||
NSNumber *lat = [NSNumber numberWithFloat:data.latLon.m_lat];
|
||||
NSNumber *lon = [NSNumber numberWithFloat:data.latLon.m_lon];
|
||||
[Statistics logEvent:kStatPlacePageChangeState withParameters:@{kStatTypes: types,
|
||||
kStatLat: lat,
|
||||
kStatLon: lon,
|
||||
kStatValue: value}];
|
||||
}
|
||||
|
||||
#pragma mark - MWMLocationObserver
|
||||
|
||||
- (void)onHeadingUpdate:(location::CompassInfo const &)info
|
||||
|
|
|
@ -13,6 +13,8 @@ enum class NodeStatus;
|
|||
|
||||
- (void)onExpanded;
|
||||
|
||||
- (void)logStateChangeEventWithValue:(NSNumber *)value;
|
||||
|
||||
@end
|
||||
|
||||
@protocol MWMPlacePageLayoutDataSource<NSObject>
|
||||
|
|
|
@ -17,7 +17,8 @@ CGFloat const kMinOffset = 1;
|
|||
typedef NS_ENUM(NSUInteger, MWMOffsetState) {
|
||||
MWMOffsetStatePreview,
|
||||
MWMOffsetStatePreviewPlus,
|
||||
MWMOffsetStateOpen
|
||||
MWMOffsetStateOpen,
|
||||
MWMOffsetStateFullScreen
|
||||
};
|
||||
|
||||
typedef NS_ENUM(NSUInteger, MWMScrollDirection) {
|
||||
|
@ -109,7 +110,7 @@ typedef NS_ENUM(NSUInteger, MWMScrollDirection) {
|
|||
if (delegate == nil) { return; }
|
||||
[delegate onPlacePageTopBoundChanged:self.scrollView.contentOffset.y];
|
||||
CGFloat previewOffset = [delegate isPreviewPlus] ? self.previewPlusContentOffset : self.previewContentOffset;
|
||||
[self setAnimatedContentOffset:self.state == MWMOffsetStateOpen ? self.topContentOffset : previewOffset];
|
||||
[self setAnimatedContentOffset:(self.state == MWMOffsetStateOpen || self.state == MWMOffsetStateFullScreen) ? self.topContentOffset : previewOffset];
|
||||
}
|
||||
|
||||
- (void)updateContentLayout {
|
||||
|
@ -236,7 +237,7 @@ typedef NS_ENUM(NSUInteger, MWMScrollDirection) {
|
|||
} else if (actualOffset < previewOffset) {
|
||||
(*targetContentOffset).y = 0;
|
||||
} else {
|
||||
self.state = MWMOffsetStateOpen;
|
||||
self.state = MWMOffsetStateFullScreen;
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -281,13 +282,17 @@ typedef NS_ENUM(NSUInteger, MWMScrollDirection) {
|
|||
});
|
||||
}
|
||||
} else {
|
||||
self.state = MWMOffsetStateOpen;
|
||||
self.state = MWMOffsetStateFullScreen;
|
||||
}
|
||||
}
|
||||
|
||||
- (void)setState:(MWMOffsetState)state {
|
||||
if (_state != state) {
|
||||
NSNumber *value = [NSNumber numberWithUnsignedInteger:state];
|
||||
[self.delegate logStateChangeEventWithValue:value];
|
||||
}
|
||||
_state = state;
|
||||
BOOL isTop = state == MWMOffsetStateOpen;
|
||||
BOOL isTop = (state == MWMOffsetStateOpen || self.state == MWMOffsetStateFullScreen);
|
||||
self.placePageView.anchorImage.transform = isTop ? CGAffineTransformMakeRotation(M_PI)
|
||||
: CGAffineTransformIdentity;
|
||||
[self.previewLayoutHelper layoutInOpenState:isTop];
|
||||
|
@ -307,7 +312,7 @@ typedef NS_ENUM(NSUInteger, MWMScrollDirection) {
|
|||
}
|
||||
|
||||
CGFloat offset = 0;
|
||||
if (self.state == MWMOffsetStateOpen) {
|
||||
if (self.state == MWMOffsetStateOpen || self.state == MWMOffsetStateFullScreen) {
|
||||
BOOL isPreviewPlus = [self.delegate isPreviewPlus];
|
||||
self.state = isPreviewPlus ? MWMOffsetStatePreviewPlus : MWMOffsetStatePreview;
|
||||
offset = isPreviewPlus ? self.previewPlusContentOffset : self.previewContentOffset;
|
||||
|
|
Loading…
Add table
Reference in a new issue