| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119 |
- //
- // GoogleAnalyst.m
- // iSales-NPD
- //
- // Created by Jack on 2017/3/28.
- // Copyright © 2017年 United Software Applications, Inc. All rights reserved.
- //
- #import "GoogleAnalyst.h"
- #import "Analytics.h"
- #import "iSalesNetwork.h"
- @implementation GoogleAnalyst
- #pragma mark - Private
- + (NSString *)currentDateString {
- NSDate *date = [NSDate date];
- NSDateFormatter *formate = [[NSDateFormatter alloc] init];
- formate.dateFormat = @"YYYY-MM-dd HH:mm:ss";
- return [formate stringFromDate:date];
- }
- #pragma mark - Public
- + (void)trackScreen:(NSString *)screenName {
-
- if (!screenName.length) {
- return;
- }
- // 屏幕追踪
- id<GAITracker> tracker = [[GAI sharedInstance] defaultTracker];
- [tracker set:kGAIScreenName value:screenName];
- [tracker send:[[GAIDictionaryBuilder createScreenView] build]];
- // [tracker set:kGAIScreenName value:nil]; // 清除值,直接在追踪器设置值将是持久值,并且会应用于多次匹配。
-
- }
- + (NSString *)currentTrackScreen {
- return [[[GAI sharedInstance] defaultTracker] get:kGAIScreenName];
- }
- + (void)trackEventCategory:(NSString *)category action:(NSString *)action label:(NSString *)label value:(NSNumber *)value {
-
- id<GAITracker> tracker = [[GAI sharedInstance] defaultTracker];
- [tracker send:[[GAIDictionaryBuilder createEventWithCategory:category action:action label:label value:value] build]];
- }
- + (void)trackTimingWithCategory:(NSString *)category interval:(NSTimeInterval)loadTime name:(NSString *)name label:(NSString *)label {
-
- id tracker = [[GAI sharedInstance] defaultTracker];
-
- // 以毫秒表示的计时值
- [tracker send:[[GAIDictionaryBuilder createTimingWithCategory:category
- interval:@((NSUInteger)(loadTime * 1000))
- name:name
- label:label] build]];
-
- }
- + (void)trackSignInUserID:(NSString *)userID {
-
-
- id<GAITracker> tracker = [[GAI sharedInstance] defaultTracker];
-
- [tracker set:kGAIUserId value:userID];
-
-
- }
- + (void)trackSignOut {
-
- id<GAITracker> tracker = [[GAI sharedInstance] defaultTracker];
- // NSString *userId = [tracker get:kGAIUserId];
-
- [tracker set:kGAIUserId value:nil];
- }
- + (void)trackProduct:(NSString *)productName action:(NSString *)action count:(NSNumber *)count{
-
- id<GAITracker> tracker = [[GAI sharedInstance] defaultTracker];
-
- GAIDictionaryBuilder *builder = [GAIDictionaryBuilder createScreenView];
-
- for (NSString *product_name in [productName componentsSeparatedByString:@","]) {
-
- GAIEcommerceProduct *product = [[GAIEcommerceProduct alloc] init];
- [product setName:product_name];
- if (count) {
- [product setQuantity:count];
- }
- [builder addProduct:product];
-
- [builder addProductImpression:product impressionList:@"Products" impressionSource:nil];
-
- }
- GAIEcommerceProductAction *paction = [[GAIEcommerceProductAction alloc] init];
- if ([action isEqualToString:@"Add To Cart"]) {
- [paction setAction:kGAIPAAdd];
- } else {
-
- [paction setAction:kGAIPADetail];
- }
- [builder setProductAction:paction];
-
-
- [tracker send:[builder build]];
-
-
- }
- @end
|