我的iOS应用中有一个Google跟踪代码管理器实现,用于将事件(应用中的用户操作)发送到Google Analytics帐户。除了这些事件,我还希望发送一个自定义维度以及事件(此自定义维度的值为"在线"或"离线",具体取决于用户是否已连接到网上还是没有)。这就是我这样做的方式:
- (void)pushToGtmDataLayer:(NSDictionary*)dataDict
{
if(dataDict) {
if([[AFNetworkReachabilityManager sharedManager]networkReachabilityStatus] != AFNetworkReachabilityStatusUnknown) {
NSString *dimensionKey = [GAIFields customDimensionForIndex:6];
if(dimensionKey) {
NSMutableDictionary *tempDataDict = [NSMutableDictionary dictionaryWithDictionary:dataDict];
BOOL online = [[AFNetworkReachabilityManager sharedManager]isReachable];
NSString *dimensionVal = online ? @"Online Traffic" : @"Offline Traffic";
tempDataDict[dimensionKey] = dimensionVal;
dataDict = [NSDictionary dictionaryWithDictionary:tempDataDict];
}
}
NSLog(@"<<<PUSHING TO GTM DATA LAYER: %@", [dataDict description]);
[[[TAGManager instance] dataLayer] push:dataDict];
}
else {
NSLog(@"<<<EMPTY DICT TO PUSH TO GTM DATA LAYER");
}
}
dataDict的示例
{
"&cd6" = "Offline Traffic";
EventAction = AppOpen;
EventCategory = AppLaunch;
EventLabel = "fresh launch";
event = AppLaunch;
}
这是使用GTM发送自定义维度的正确方法吗? 另请注意,正在使用不同的Google Analytics帐户(直接不使用GTM)来报告网址加载指标(所用时间等)。当我调用NSString * dimensionKey = [GAIFields customDimensionForIndex:6]时, GAIField在这里引用哪个帐户,使用GTM报告用户操作的帐户,或者没有GTM用于网址指标的帐户?