测试已测试 | ✗ |
语言语言 | Obj-CObjective C |
许可证 | 自定义 |
发布最后发布 | 2017年4月 |
由 Paulo Roberto Brambilla Junior 维护。
SimpleGoogleAnalytics 是一个 HTTP 网络库,用于通过 Objective-c 向 Google Analytics 发送消息。
以下代码应粘贴到 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代码GAParameters,键(@"sc")的值和该键的值(@"start")。你可以使用getValueEnumGAParameter
方法来获取键值,但对于不需要索引控制的键,编程员应直接传递String。
#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的init会话的方法。
-(void) setRequiredParameters: (NSString*) tid withCid: (NSString*) cid andHitType: (NSInteger) hitTypeEnum;
使用HitTypeEnum设置点击类型的方法。
-(void) changeHitType:(NSInteger) hitTypeEnum;
获取枚举器所表示的值。
return -> 参数值。
-(NSString*) getValueEnumGAParameter: (int) codeEnum;
SimpleGoogleAnalytics根据GNU协议发布。有关详细信息,请参阅COPYING。