测试已测试 | ✗ |
语言语言 | Obj-CObjective C |
许可证 | 自定义 |
发布最新发布 | 2017年3月 |
由Paulo Roberto Brambilla Junior维护。
SimpleGoogleAnalytics是一个HTTP网络库,用于向Google Analytics发送Objective-c消息。
以下代码应粘贴到AppDelegate.m
中。通过传递跟踪ID/网络属性ID、客户ID和击中类型来初始化SimpleGoogleAnalytics类。
#import <UIKit/UIKit.h>
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
self.sga = [SimpleGoogleAnalytics startSharedWithTid:@"tid" withCid:@"cid" andHitType:SCREEN_VIEW_HIT];
//Your code.
return YES;
}
使用Google Analytics登录。以下代码应粘贴到AppDelegate.m
中。
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
[self.sga startSession:^(NSData *data, NSURLResponse * _Nullable response, NSError * _Nullable erro) {
if (erro){
NSLog(@"Erro: %@", [erro.userInfo objectForKey:[NSNumber numberWithLong:erro.code ]]);
}
}];
}
与Google Analytics结束会话。以下代码应粘贴到AppDelegate.m
中。
- (void)applicationWillTerminate:(UIApplication *)application {
[self.sga endSession:^(NSData *data, NSURLResponse * _Nullable response, NSError * _Nullable erro) {
if (erro){
NSLog(@"Erro: %@", [erro.userInfo objectForKey:[NSNumber numberWithLong:erro.code ]]);
}
}];
}
发送简单消息。示例: v=1 &tid=UA-123456-1 &cid=5555 &t=screenview &aip=1
ItemGA *item = [[ItemGA alloc] initWithCodEnumParameterGA:ANONYMIZE_IP_GAPARAMETERS andKey: @"aip" andValue: @"1"];
NSArray<ItemGA *> *parameters = [NSArray arrayWithObject:item];
[self sendMessage:parameters withCallBack:^(NSData * _Nullable data, NSURLResponse * _Nullable response, NSError * _Nullable erro) {
//Your code.
}];
一次发送多条消息。例如: v=1& tid=UA-123456-1& cid=5555& t=screenview& aip=1 v=1& tid=UA-123456-1& cid=5555& t=screenview& ds=app
NSMutableArray<NSArray<ItemGA *> *> *parameters = [NSMutableArray new];
ItemGA *item1 = [[ItemGA alloc] initWithCodEnumParameterGA:ANONYMIZE_IP_GAPARAMETERS andKey: [self getValueEnumGAParameter: ANONYMIZE_IP_GAPARAMETERS] andValue: @"1"];
ItemGA *item2 = [[ItemGA alloc] initWithCodEnumParameterGA:DATA_SOURCE_GAPARAMETERS andKey:[self getValueEnumGAParameter: DATA_SOURCE_GAPARAMETERS] andValue:@"app"];
NSMutableArray<ItemGA *> *line = [NSMutableArray new];
[line addObject:item1];
[line addObject:item2];
[parameters addObject:line];
[self.sga sendBatchMessage:parameters withCallBack:^(NSData * _Nullable data, NSURLResponse * _Nullable response, NSError * _Nullable erro) {
//Your code.
}];
该对象表示请求中要传入的参数和值。其启动参数为 Enum code GAParameters,键(@"sc")的值,以及该键的值(@"start")。您可以使用 getValueEnumGAParameter
方法来获取键值,但对于不需要索引控制的键,程序应直接告知字符串本身。
#import "ItemGA.h"
ItemGA *item = [[ItemGA alloc] initWithCodEnumParameterGA:SESSION_CONTROL_GAPARAMETERS andKey: [self getValueEnumGAParameter:SESSION_CONTROL_GAPARAMETERS] andValue: @"start"];
枚举列出与 ItemGA
类实例化和 getValueEnumGAParameter
方法一起使用的 Google Analytics 参数。有关每个参数的详细信息,请参阅链接 协议参数参考。
typedef NS_ENUM(NSInteger, GAParametersEnum){
ANONYMIZE_IP_GAPARAMETERS,
DATA_SOURCE_GAPARAMETERS,
QUEUE_TIME_GAPARAMETERS,
CACHE_BUSTER_GAPARAMETERS,
USER_ID_GAPARAMETERS,
SESSION_CONTROL_GAPARAMETERS,
IP_OVERRIDE_GAPARAMETERS,
USER_AGENT_OVERRIDE_GAPARAMETERS,
GEOGRAPHICAL_OVERRIDE_GAPARAMETERS,
DOCUMENT_REFERRER_GAPARAMETERS,
CAMPAIGN_NAME_GAPARAMETERS,
CAMPAIGN_ORIGIN_GAPARAMETERS,
CAMPAIGN_MEDIA_GAPARAMETERS,
CAMPAIGN_KEYWORD_GAPARAMETERS,
CAMPAIGN_CONTENT_GAPARAMETERS,
CAMPAIGN_ID_GAPARAMETERS,
GOOGLE_ADWORDS_ID_GAPARAMETERS,
GOOGLE_DISPLAY_ADS_ID_GAPARAMETERS,
SCREEN_RESOLUTION_GAPARAMETERS,
VIEWPORT_SIZE_GAPARAMETERS,
DOCUMENT_ENCODING_GAPARAMETERS,
SCREEN_COLORS_GAPARAMETERS,
USER_LANGUAGE_GAPARAMETERS,
JAVA_ENABLED_GAPARAMETERS,
FLASH_VERSION_GAPARAMETERS,
NON_INTERACTION_HIT_GAPARAMETERS,
DOCUMENT_LOCATION_URL_GAPARAMETERS,
DOCUMENT_HOST_NAME_GAPARAMETERS,
DOCUMENT_PATH_GAPARAMETERS,
DOCUMENT_TITLE_GAPARAMETERS,
SCREEN_NAME_GAPARAMETERS,
CONTENT_GROUP_GAPARAMETERS,
LINK_ID_GAPARAMETERS,
APPLICATION_NAME_GAPARAMETERS,
APPLICATION_ID_GAPARAMETERS,
APPLICATION_VERSION_GAPARAMETERS,
APPLICATION_INSTALLER_ID_GAPARAMETERS,
EVENT_CATEGORY_GAPARAMETERS,
EVENT_ACTION_GAPARAMETERS,
EVENT_LABEL_GAPARAMETERS,
EVENT_VALUE_GAPARAMETERS,
TRANSACTION_ID_GAPARAMETERS,
TRANSACTION_AFFILIATION_GAPARAMETERS,
TRANSACTION_REVENUE_GAPARAMETERS,
TRANSACTION_SHIPPING_GAPARAMETERS,
TRANSACTION_TAX_GAPARAMETERS,
ITEM_NAME_GAPARAMETERS,
ITEM_PRICE_GAPARAMETERS,
ITEM_QUANTITY_GAPARAMETERS,
ITEM_CODE_GAPARAMETERS,
ITEM_CATEGORY_GAPARAMETERS,
PRODUCT_SKU_GAPARAMETERS,
PRODUCT_NAME_GAPARAMETERS,
PRODUCT_BRAND_GAPARAMETERS,
PRODUCT_CATEGORY_GAPARAMETERS,
PRODUCT_VARIANT_GAPARAMETERS,
PRODUCT_PRICE_GAPARAMETERS,
PRODUCT_QUANTITY_GAPARAMETERS,
PRODUCT_COUPON_CODE_GAPARAMETERS,
PRODUCT_POSITION_GAPARAMETERS,
PRODUCT_CUSTOM_DIMENSION_GAPARAMETERS,
PRODUCT_CUSTOM_METRIC_GAPARAMETERS,
PRODUCT_ACTION_GAPARAMETERS,
ID_TRANSACTION_GAPARAMETERS,
AFFILIATION_GAPARAMETERS,
REVENUE_GAPARAMETERS,
TAX_GAPARAMETERS,
SHIPPING_GAPARAMETERS,
COUPON_CODE_GAPARAMETERS,
PRODUCT_ACTION_LIST_GAPARAMETERS,
CHECKOUT_STAGE_GAPARAMETERS,
CHECKOUT_STAGE_OPTION_GAPARAMETERS,
PRODUCT_IMPRESSION_LIST_NAME_GAPARAMETERS,
PRODUCT_IMPRESSION_SKU_GAPARAMETERS,
PRODUCT_IMPRESSION_NAME_GAPARAMETERS,
PRODUCT_IMPRESSION_BRAND_GAPARAMETERS,
PRODUCT_IMPRESSION_CATEGORY_GAPARAMETERS,
PRODUCT_IMPRESSION_VARIANT_GAPARAMETERS,
PRODUCT_IMPRESSION_POSITION_GAPARAMETERS,
PRODUCT_IMPRESSION_PRICE_GAPARAMETERS,
PRODUCT_IMPRESSION_CUSTOM_DIMENSION_GAPARAMETERS,
PRODUCT_IMPRESSION_CUSTOM_METRIC_GAPARAMETERS,
PROMOTION_ID_GAPARAMETERS,
PROMOTION_NAME_GAPARAMETERS,
PROMOTION_CREATIVE_GAPARAMETERS,
PROMOTION_POSITION_GAPARAMETERS,
PROMOTION_ACTION_GAPARAMETERS,
CURRENCY_CODE_GAPARAMETERS,
SOCIAL_NETWORK_GAPARAMETERS,
SOCIAL_ACTION_GAPARAMETERS,
SOCIAL_ACTION_TARGET_GAPARAMETERS,
USER_TIMING_CATEGORY_GAPARAMETERS,
USER_TIMING_VARIABLE_NAME_GAPARAMETERS,
USER_TIMING_TIME_GAPARAMETERS,
USER_TIMING_LABEL_GAPARAMETERS,
PAGE_LOAD_TIME_GAPARAMETERS,
DNS_TIME_GAPARAMETERS,
PAGE_DOWNLOAD_TIME_GAPARAMETERS,
REDIRECT_RESPONSE_TIME_GAPARAMETERS,
TCP_CONNECT_TIME_GAPARAMETERS,
SERVER_RESPONSE_TIME_GAPARAMETERS,
DOM_INTERACTIVE_TIME_GAPARAMETERS,
CONTENT_LOAD_TIME_GAPARAMETERS,
EXCEPTION_DESCRIPTION_GAPARAMETERS,
IS_FATAL_EXCEPTION_GAPARAMETERS,
CUSTOM_DIMENSION_GAPARAMETERS,
CUSTOM_METRIC_GAPARAMETERS,
EXPERIMENT_ID_GAPARAMETERS,
EXPERIMENT_VARIANT_GAPARAMETERS,
ENUM_COUNT
};
交互类型。必须是以下之一:'pageview'、'screenview'、'event'、'transaction'、'item'、'social'、'exception'、'timing'。
typedef NS_ENUM(NSInteger, HitTypeEnum){
EVENT_HIT,
EXCEPTION_HIT,
ITEM_HIT,
PAGE_VIEW_HIT,
SCREEN_VIEW_HIT,
SOCIAL_HIT,
TRANSACTION_HIT,
TIMING_HIT,
HIT_TYPE_ENUM_COUNT
};
将必需参数设置为发送数据到 Google Analytics 和初始化会话的方法。
-(void) setRequiredParameters: (NSString*) tid withCid: (NSString*) cid andHitType: (NSInteger) hitTypeEnum;
使用 HitTypeEnum 设置 Hit 类型的方法。
-(void) changeHitType:(NSInteger) hitTypeEnum;
获取枚举表示的值。
return -> 参数的值。
-(NSString*) getValueEnumGAParameter: (int) codeEnum;
SimpleGoogleAnalytics 在 GNU 许可下发布。有关详细信息,请参阅 COPYING。