[ios] Log event when offline pack is created

This commit is contained in:
Nadia Barbosa
2018-10-05 19:10:58 -04:00
committed by Nadia Barbosa
parent 28bc4b2bd8
commit 5f1d4199d9
5 changed files with 53 additions and 1 deletions

View File

@@ -14,6 +14,11 @@ NS_ASSUME_NONNULL_BEGIN
*/
- (const mbgl::OfflineRegionDefinition)offlineRegionDefinition;
/**
Attributes to be passed into the offline download start event
*/
@property (nonatomic, readonly) NSDictionary *offlineStartEventAttributes;
@end
NS_ASSUME_NONNULL_END

View File

@@ -7,11 +7,17 @@
#import "MGLOfflinePack_Private.h"
#import "MGLOfflineRegion_Private.h"
#import "MGLTilePyramidOfflineRegion.h"
#import "MGLShapeOfflineRegion.h"
#import "NSBundle+MGLAdditions.h"
#import "NSValue+MGLAdditions.h"
#import "NSDate+MGLAdditions.h"
#import "NSData+MGLAdditions.h"
#if TARGET_OS_IPHONE || TARGET_OS_SIMULATOR
#import "MMEConstants.h"
#import "MGLMapboxEvents.h"
#endif
#include <mbgl/actor/actor.hpp>
#include <mbgl/actor/scheduler.hpp>
#include <mbgl/storage/resource_transform.hpp>
@@ -361,6 +367,17 @@ const MGLExceptionName MGLUnsupportedRegionTypeException = @"MGLUnsupportedRegio
if (completion) {
completion(pack, error);
}
#if TARGET_OS_IPHONE || TARGET_OS_SIMULATOR
NSMutableDictionary *offlineDownloadStartEventAttributes = [NSMutableDictionary dictionaryWithObject:MMEventTypeOfflineDownloadStart forKey:MMEEventKeyEvent];
if ([region conformsToProtocol:@protocol(MGLOfflineRegion_Private)]) {
NSDictionary *regionAttributes = ((id<MGLOfflineRegion_Private>)region).offlineStartEventAttributes;
[offlineDownloadStartEventAttributes addEntriesFromDictionary:regionAttributes];
}
[MGLMapboxEvents pushEvent:MMEventTypeOfflineDownloadStart withAttributes:offlineDownloadStartEventAttributes];
#endif
}];
}

View File

@@ -12,6 +12,10 @@
#import "MGLShape_Private.h"
#import "MGLStyle.h"
#if TARGET_OS_IPHONE || TARGET_OS_SIMULATOR
#import "MMEConstants.h"
#endif
@interface MGLShapeOfflineRegion () <MGLOfflineRegion_Private, MGLShapeOfflineRegion_Private>
@end
@@ -22,6 +26,17 @@
@synthesize styleURL = _styleURL;
-(NSDictionary *)offlineStartEventAttributes {
return @{
#if TARGET_OS_IPHONE || TARGET_OS_SIMULATOR
MMEEventKeyShapeForOfflineRegion: @"shaperegion",
MMEEventKeyMinZoomLevel: @(self.minimumZoomLevel),
MMEEventKeyMaxZoomLevel: @(self.maximumZoomLevel),
MMEEventKeyStyleURL: self.styleURL
#endif
};
}
+ (BOOL)supportsSecureCoding {
return YES;
}

View File

@@ -9,6 +9,10 @@
#import "MGLGeometry_Private.h"
#import "MGLStyle.h"
#if TARGET_OS_IPHONE || TARGET_OS_SIMULATOR
#import "MMEConstants.h"
#endif
@interface MGLTilePyramidOfflineRegion () <MGLOfflineRegion_Private, MGLTilePyramidOfflineRegion_Private>
@end
@@ -19,6 +23,17 @@
@synthesize styleURL = _styleURL;
-(NSDictionary *)offlineStartEventAttributes {
return @{
#if TARGET_OS_IPHONE || TARGET_OS_SIMULATOR
MMEEventKeyShapeForOfflineRegion: @"tileregion",
MMEEventKeyMinZoomLevel: @(self.minimumZoomLevel),
MMEEventKeyMaxZoomLevel: @(self.maximumZoomLevel),
MMEEventKeyStyleURL: self.styleURL
#endif
};
}
+ (BOOL)supportsSecureCoding {
return YES;
}