Skip to content

Commit 2f9ee18

Browse files
author
jlorich
committed
Merge pull request #76 from cloudspace/70466626_analytics_bold_scroll
70466626 analytics bold scroll
2 parents f3ad9c3 + 2bbcd0e commit 2f9ee18

149 files changed

Lines changed: 8489 additions & 23102 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

EasyReader.xcodeproj/project.pbxproj

Lines changed: 110 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -120,6 +120,10 @@
120120
9D16D35418DBA9E9001E9C38 /* SRVApplicationDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 9D16D34A18DBA9E9001E9C38 /* SRVApplicationDelegate.m */; };
121121
9D16D35518DBA9E9001E9C38 /* SRVApplicationDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 9D16D34A18DBA9E9001E9C38 /* SRVApplicationDelegate.m */; };
122122
9D16D35618DBA9E9001E9C38 /* SRVApplicationDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 9D16D34A18DBA9E9001E9C38 /* SRVApplicationDelegate.m */; };
123+
9D1A6E9A19105AB2002F7DBA /* EZRGoogleAnalyticsService.m in Sources */ = {isa = PBXBuildFile; fileRef = 9D1A6E9919105AB2002F7DBA /* EZRGoogleAnalyticsService.m */; };
124+
9D1A6E9B19105AB2002F7DBA /* EZRGoogleAnalyticsService.m in Sources */ = {isa = PBXBuildFile; fileRef = 9D1A6E9919105AB2002F7DBA /* EZRGoogleAnalyticsService.m */; };
125+
9D1A6E9C19105AB2002F7DBA /* EZRGoogleAnalyticsService.m in Sources */ = {isa = PBXBuildFile; fileRef = 9D1A6E9919105AB2002F7DBA /* EZRGoogleAnalyticsService.m */; };
126+
9D1A6E9D19105AB2002F7DBA /* EZRGoogleAnalyticsService.m in Sources */ = {isa = PBXBuildFile; fileRef = 9D1A6E9919105AB2002F7DBA /* EZRGoogleAnalyticsService.m */; };
123127
9D38DDD518EB08D600C67022 /* EZRHomeCollectionViewDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 9D38DDD418EB08D600C67022 /* EZRHomeCollectionViewDelegate.m */; };
124128
9D38DDD618EB08D600C67022 /* EZRHomeCollectionViewDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 9D38DDD418EB08D600C67022 /* EZRHomeCollectionViewDelegate.m */; };
125129
9D38DDD718EB08D600C67022 /* EZRHomeCollectionViewDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 9D38DDD418EB08D600C67022 /* EZRHomeCollectionViewDelegate.m */; };
@@ -399,6 +403,8 @@
399403
9D16D34818DBA9E9001E9C38 /* SRVApplicationDelegateService.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SRVApplicationDelegateService.m; sourceTree = "<group>"; };
400404
9D16D34918DBA9E9001E9C38 /* SRVApplicationDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SRVApplicationDelegate.h; sourceTree = "<group>"; };
401405
9D16D34A18DBA9E9001E9C38 /* SRVApplicationDelegate.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SRVApplicationDelegate.m; sourceTree = "<group>"; };
406+
9D1A6E9819105AB2002F7DBA /* EZRGoogleAnalyticsService.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = EZRGoogleAnalyticsService.h; sourceTree = "<group>"; };
407+
9D1A6E9919105AB2002F7DBA /* EZRGoogleAnalyticsService.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = EZRGoogleAnalyticsService.m; sourceTree = "<group>"; };
402408
9D38DDD318EB08D600C67022 /* EZRHomeCollectionViewDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = EZRHomeCollectionViewDelegate.h; path = Home/EZRHomeCollectionViewDelegate.h; sourceTree = "<group>"; };
403409
9D38DDD418EB08D600C67022 /* EZRHomeCollectionViewDelegate.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = EZRHomeCollectionViewDelegate.m; path = Home/EZRHomeCollectionViewDelegate.m; sourceTree = "<group>"; };
404410
9D38DDDF18EB090500C67022 /* EZRHomePageControlDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = EZRHomePageControlDelegate.h; path = Home/EZRHomePageControlDelegate.h; sourceTree = "<group>"; };
@@ -698,6 +704,8 @@
698704
9D16D33518DB75BF001E9C38 /* Services */ = {
699705
isa = PBXGroup;
700706
children = (
707+
9D1A6E9819105AB2002F7DBA /* EZRGoogleAnalyticsService.h */,
708+
9D1A6E9919105AB2002F7DBA /* EZRGoogleAnalyticsService.m */,
701709
9D9CBABD18DC826700532F8C /* EZRApplicationStyleService.h */,
702710
9D9CBABE18DC826700532F8C /* EZRApplicationStyleService.m */,
703711
9D010F0E18F832C5001999EE /* EZRTestFlightService.h */,
@@ -1371,6 +1379,7 @@
13711379
buildActionMask = 2147483647;
13721380
files = (
13731381
9D6B8A8B18E4D2050085C1EE /* EZRFeedImageService.m in Sources */,
1382+
9D1A6E9C19105AB2002F7DBA /* EZRGoogleAnalyticsService.m in Sources */,
13741383
9D010F1218F832C5001999EE /* EZRTestFlightService.m in Sources */,
13751384
9D00DE86190816FF00A0C65F /* CLDSocialShareToolbar.m in Sources */,
13761385
9DFD89F818FC7D9300630CBF /* CSArrayTableViewDataSource.m in Sources */,
@@ -1432,6 +1441,7 @@
14321441
buildActionMask = 2147483647;
14331442
files = (
14341443
9D6B8A8C18E4D2050085C1EE /* EZRFeedImageService.m in Sources */,
1444+
9D1A6E9D19105AB2002F7DBA /* EZRGoogleAnalyticsService.m in Sources */,
14351445
9D010F1318F832C5001999EE /* EZRTestFlightService.m in Sources */,
14361446
9D00DE87190816FF00A0C65F /* CLDSocialShareToolbar.m in Sources */,
14371447
9DFD89F918FC7D9300630CBF /* CSArrayTableViewDataSource.m in Sources */,
@@ -1519,6 +1529,7 @@
15191529
buildActionMask = 2147483647;
15201530
files = (
15211531
9D6B8A8A18E4D2050085C1EE /* EZRFeedImageService.m in Sources */,
1532+
9D1A6E9B19105AB2002F7DBA /* EZRGoogleAnalyticsService.m in Sources */,
15221533
9D010F1118F832C5001999EE /* EZRTestFlightService.m in Sources */,
15231534
9D00DE85190816FF00A0C65F /* CLDSocialShareToolbar.m in Sources */,
15241535
9DFD89F718FC7D9300630CBF /* CSArrayTableViewDataSource.m in Sources */,
@@ -1580,6 +1591,7 @@
15801591
buildActionMask = 2147483647;
15811592
files = (
15821593
9D6B8A8918E4D2050085C1EE /* EZRFeedImageService.m in Sources */,
1594+
9D1A6E9A19105AB2002F7DBA /* EZRGoogleAnalyticsService.m in Sources */,
15831595
9D010F1018F832C5001999EE /* EZRTestFlightService.m in Sources */,
15841596
9D00DE84190816F900A0C65F /* CLDSocialShareToolbar.m in Sources */,
15851597
9DFD89F618FC7D9300630CBF /* CSArrayTableViewDataSource.m in Sources */,
@@ -1689,7 +1701,36 @@
16891701
);
16901702
INFOPLIST_FILE = "EasyReader/Supporting Files/Staging-Info.plist";
16911703
IPHONEOS_DEPLOYMENT_TARGET = 7.0;
1692-
LIBRARY_SEARCH_PATHS = "\"$(PODS_ROOT)/TestFlightSDK\"";
1704+
LIBRARY_SEARCH_PATHS = (
1705+
"\"$(PODS_ROOT)/TestFlightSDK\"",
1706+
"$(PROJECT_DIR)/Pods/GoogleAnalytics-iOS-SDK",
1707+
);
1708+
OTHER_LDFLAGS = (
1709+
"-ObjC",
1710+
"-lGoogleAnalyticsServices",
1711+
"-lTestFlight",
1712+
"-licucore",
1713+
"-lsqlite3",
1714+
"-lz",
1715+
"-framework",
1716+
CFNetwork,
1717+
"-framework",
1718+
CoreData,
1719+
"-framework",
1720+
CoreGraphics,
1721+
"-framework",
1722+
ImageIO,
1723+
"-framework",
1724+
MobileCoreServices,
1725+
"-framework",
1726+
QuartzCore,
1727+
"-framework",
1728+
Security,
1729+
"-framework",
1730+
SystemConfiguration,
1731+
"-framework",
1732+
UIKit,
1733+
);
16931734
PRODUCT_NAME = Staging;
16941735
PROVISIONING_PROFILE = "FBE43E56-523F-4B31-9050-95F2750E83C8";
16951736
TARGETED_DEVICE_FAMILY = 1;
@@ -1708,9 +1749,43 @@
17081749
FRAMEWORK_SEARCH_PATHS = "$(inherited)";
17091750
GCC_PRECOMPILE_PREFIX_HEADER = YES;
17101751
GCC_PREFIX_HEADER = "EasyReader/Other Sources/EasyReader-Prefix.pch";
1752+
GCC_PREPROCESSOR_DEFINITIONS = (
1753+
"$(inherited)",
1754+
"COCOAPODS=1",
1755+
"STAGING=1",
1756+
);
17111757
INFOPLIST_FILE = "EasyReader/Supporting Files/Staging-Info.plist";
17121758
IPHONEOS_DEPLOYMENT_TARGET = 7.0;
1713-
LIBRARY_SEARCH_PATHS = "\"$(PODS_ROOT)/TestFlightSDK\"";
1759+
LIBRARY_SEARCH_PATHS = (
1760+
"\"$(PODS_ROOT)/TestFlightSDK\"",
1761+
"$(PROJECT_DIR)/Pods/GoogleAnalytics-iOS-SDK",
1762+
);
1763+
OTHER_LDFLAGS = (
1764+
"-ObjC",
1765+
"-lGoogleAnalyticsServices",
1766+
"-lTestFlight",
1767+
"-licucore",
1768+
"-lsqlite3",
1769+
"-lz",
1770+
"-framework",
1771+
CFNetwork,
1772+
"-framework",
1773+
CoreData,
1774+
"-framework",
1775+
CoreGraphics,
1776+
"-framework",
1777+
ImageIO,
1778+
"-framework",
1779+
MobileCoreServices,
1780+
"-framework",
1781+
QuartzCore,
1782+
"-framework",
1783+
Security,
1784+
"-framework",
1785+
SystemConfiguration,
1786+
"-framework",
1787+
UIKit,
1788+
);
17141789
PRODUCT_NAME = Staging;
17151790
PROVISIONING_PROFILE = "AE75F2A8-B0F9-486D-8DE0-CFEA22EC508C";
17161791
TARGETED_DEVICE_FAMILY = 1;
@@ -1739,6 +1814,7 @@
17391814
LIBRARY_SEARCH_PATHS = (
17401815
"\"$(PODS_ROOT)/TestFlightSDK\"",
17411816
"$(SYMROOT)/Release$(EFFECTIVE_PLATFORM_NAME)",
1817+
"$(PROJECT_DIR)/Pods/GoogleAnalytics-iOS-SDK",
17421818
);
17431819
PRODUCT_NAME = "Easy Reader";
17441820
PROVISIONING_PROFILE = "69FD30FF-426E-4BD8-8941-A0A741F92746";
@@ -1758,11 +1834,17 @@
17581834
FRAMEWORK_SEARCH_PATHS = "$(inherited)";
17591835
GCC_PRECOMPILE_PREFIX_HEADER = YES;
17601836
GCC_PREFIX_HEADER = "EasyReader/Other Sources/EasyReader-Prefix.pch";
1837+
GCC_PREPROCESSOR_DEFINITIONS = (
1838+
"$(inherited)",
1839+
"COCOAPODS=1",
1840+
"PRODUCTION=1",
1841+
);
17611842
INFOPLIST_FILE = "EasyReader/Supporting Files/Production-Info.plist";
17621843
IPHONEOS_DEPLOYMENT_TARGET = 7.0;
17631844
LIBRARY_SEARCH_PATHS = (
17641845
"\"$(PODS_ROOT)/TestFlightSDK\"",
17651846
"$(SYMROOT)/Release$(EFFECTIVE_PLATFORM_NAME)",
1847+
"$(PROJECT_DIR)/Pods/GoogleAnalytics-iOS-SDK",
17661848
);
17671849
PRODUCT_NAME = "Easy Reader";
17681850
PROVISIONING_PROFILE = "E41143CF-D6B6-4CE1-8493-853B58EB0910";
@@ -1851,12 +1933,14 @@
18511933
"$(inherited)",
18521934
"COCOAPODS=1",
18531935
"MOCKED=1",
1936+
"DEVELOPMENT=1",
18541937
);
18551938
INFOPLIST_FILE = "EasyReader/Supporting Files/Development-Info.plist";
18561939
IPHONEOS_DEPLOYMENT_TARGET = 7.0;
18571940
LIBRARY_SEARCH_PATHS = (
18581941
"$(inherited)",
18591942
"$(PROJECT_DIR)/Pods/build/Debug-iphoneos",
1943+
"$(PROJECT_DIR)/Pods/GoogleAnalytics-iOS-SDK",
18601944
);
18611945
PRODUCT_NAME = Mocked;
18621946
PROVISIONING_PROFILE = "0B1685CC-627C-4832-97D4-79736E8FE8EE";
@@ -1877,12 +1961,18 @@
18771961
FRAMEWORK_SEARCH_PATHS = "$(inherited)";
18781962
GCC_PRECOMPILE_PREFIX_HEADER = YES;
18791963
GCC_PREFIX_HEADER = "EasyReader/Other Sources/EasyReader-Prefix.pch";
1964+
GCC_PREPROCESSOR_DEFINITIONS = (
1965+
"$(inherited)",
1966+
"COCOAPODS=1",
1967+
"DEVELOPMENT=1",
1968+
);
18801969
INFOPLIST_FILE = "EasyReader/Supporting Files/Development-Info.plist";
18811970
IPHONEOS_DEPLOYMENT_TARGET = 7.0;
18821971
LIBRARY_SEARCH_PATHS = (
18831972
"$(inherited)",
18841973
"$(PROJECT_DIR)/Pods/build/Debug-iphoneos",
18851974
"$(SYMROOT)/Release$(EFFECTIVE_PLATFORM_NAME)",
1975+
"$(PROJECT_DIR)/Pods/GoogleAnalytics-iOS-SDK",
18861976
);
18871977
PRODUCT_NAME = Mocked;
18881978
PROVISIONING_PROFILE = "";
@@ -1963,9 +2053,17 @@
19632053
FRAMEWORK_SEARCH_PATHS = "$(inherited)";
19642054
GCC_PRECOMPILE_PREFIX_HEADER = YES;
19652055
GCC_PREFIX_HEADER = "EasyReader/Other Sources/EasyReader-Prefix.pch";
2056+
GCC_PREPROCESSOR_DEFINITIONS = (
2057+
"$(inherited)",
2058+
"COCOAPODS=1",
2059+
"DEVELOPMENT=1",
2060+
);
19662061
INFOPLIST_FILE = "EasyReader/Supporting Files/Development-Info.plist";
19672062
IPHONEOS_DEPLOYMENT_TARGET = 7.0;
1968-
LIBRARY_SEARCH_PATHS = "\"$(PODS_ROOT)/TestFlightSDK\"";
2063+
LIBRARY_SEARCH_PATHS = (
2064+
"\"$(PODS_ROOT)/TestFlightSDK\"",
2065+
"$(PROJECT_DIR)/Pods/GoogleAnalytics-iOS-SDK",
2066+
);
19692067
PRODUCT_NAME = Development;
19702068
PROVISIONING_PROFILE = "";
19712069
TARGETED_DEVICE_FAMILY = 1;
@@ -1985,9 +2083,17 @@
19852083
FRAMEWORK_SEARCH_PATHS = "$(inherited)";
19862084
GCC_PRECOMPILE_PREFIX_HEADER = YES;
19872085
GCC_PREFIX_HEADER = "EasyReader/Other Sources/EasyReader-Prefix.pch";
2086+
GCC_PREPROCESSOR_DEFINITIONS = (
2087+
"$(inherited)",
2088+
"COCOAPODS=1",
2089+
"DEVELOPMENT=1",
2090+
);
19882091
INFOPLIST_FILE = "EasyReader/Supporting Files/Development-Info.plist";
19892092
IPHONEOS_DEPLOYMENT_TARGET = 7.0;
1990-
LIBRARY_SEARCH_PATHS = "\"$(PODS_ROOT)/TestFlightSDK\"";
2093+
LIBRARY_SEARCH_PATHS = (
2094+
"\"$(PODS_ROOT)/TestFlightSDK\"",
2095+
"$(PROJECT_DIR)/Pods/GoogleAnalytics-iOS-SDK",
2096+
);
19912097
PRODUCT_NAME = Development;
19922098
PROVISIONING_PROFILE = "";
19932099
TARGETED_DEVICE_FAMILY = 1;

EasyReader/Application/AppDelegates/EZRAppDelegate.m

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@
1515
#import "EZRFeedUpdateService.h"
1616
#import "EZRApplicationStyleService.h"
1717
#import "EZRTestFlightService.h"
18+
#import "EZRGoogleAnalyticsService.h"
1819

1920
#import "User.h"
2021

@@ -53,6 +54,7 @@ - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(
5354
[self registerService:[EZRRegisterRoutesService shared]];
5455
[self registerService:[EZRApplicationStyleService shared]];
5556
[self registerService:[EZRFeedUpdateService shared]];
57+
[self registerService:[EZRGoogleAnalyticsService shared]];
5658

5759
[self invokeServiceMethodWithSelector:@selector(application:didFinishLaunchingWithOptions:) withArgument:&launchOptions];
5860

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
//
2+
// EZRGoogleAnalyticsService.h
3+
// EasyReader
4+
//
5+
// Created by Joseph Lorich on 4/29/14.
6+
// Copyright (c) 2014 Cloudspace. All rights reserved.
7+
//
8+
9+
#import "SRVApplicationDelegateService.h"
10+
11+
@interface EZRGoogleAnalyticsService : SRVApplicationDelegateService
12+
13+
/**
14+
* Sends a screen view to Google Analytics
15+
*
16+
* @param viewName The view name to send to google analytics
17+
*/
18+
- (void)sendView:(NSString *)viewName;
19+
20+
@end
Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
//
2+
// EZRGoogleAnalyticsService.m
3+
// EasyReader
4+
//
5+
// Created by Joseph Lorich on 4/29/14.
6+
// Copyright (c) 2014 Cloudspace. All rights reserved.
7+
//
8+
9+
#import "EZRGoogleAnalyticsService.h"
10+
11+
#import "GAI.h"
12+
#import <GoogleAnalytics-iOS-SDK/GAIDictionaryBuilder.h>
13+
#import <GoogleAnalytics-iOS-SDK/GAIFields.h>
14+
15+
@implementation EZRGoogleAnalyticsService
16+
17+
18+
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
19+
{
20+
#ifndef DEVELOPMENT
21+
// Optional: automatically send uncaught exceptions to Google Analytics.
22+
[GAI sharedInstance].trackUncaughtExceptions = YES;
23+
24+
// Optional: set Google Analytics dispatch interval to e.g. 20 seconds.
25+
[GAI sharedInstance].dispatchInterval = 20;
26+
27+
// Optional: set Logger to VERBOSE for debug information.
28+
[[[GAI sharedInstance] logger] setLogLevel:kGAILogLevelVerbose];
29+
30+
// Initialize tracker. Replace with your tracking ID.
31+
[[GAI sharedInstance] trackerWithTrackingId:@"UA-5089710-8"];
32+
33+
#endif
34+
35+
return YES;
36+
}
37+
38+
- (void)sendView:(NSString *)viewName {
39+
id<GAITracker> tracker = [[GAI sharedInstance] defaultTracker];
40+
[tracker set:kGAIScreenName value:viewName];
41+
[tracker send:[[GAIDictionaryBuilder createAppView] build]];
42+
}
43+
44+
45+
@end

EasyReader/Application/Controllers/EZRRootViewController.m

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,8 @@
1111
#import "EZRMenuViewController.h"
1212
#import "EZRHomeViewController.h"
1313

14+
15+
1416
//#import "UIViewController+NibLoader.h"
1517

1618
@interface EZRRootViewController ()
@@ -23,7 +25,7 @@ @implementation EZRRootViewController
2325
* Creates the menu contorllers and side menu
2426
*/
2527
- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil
26-
{
28+
{
2729
self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
2830

2931
if (self) {

EasyReader/Application/Controllers/Home/EZRHomeCollectionViewDelegate.m

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,8 @@
1212
#import "EZRFeedItemCollectionView.h"
1313
#import "CSCollectionPageControl.h"
1414

15+
#import "EZRGoogleAnalyticsService.h"
16+
1517
@interface EZRHomeViewController (Additions)
1618

1719
- (void)prefetchImagesNearIndex:(NSInteger)currentPageIndex count:(NSInteger)count;

EasyReader/Application/Controllers/Home/EZRHomeSocialToolbarDataSource.m

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,8 @@
99
#import "EZRHomeSocialToolbarDataSource.h"
1010
#import "EZRHomeViewController.h"
1111
#import "FeedItem.h"
12+
#import "EZRGoogleAnalyticsService.h"
13+
#import "CLDSocialShareToolbar.h"
1214

1315
@interface EZRHomeSocialToolbarDataSource ()
1416

EasyReader/Application/Controllers/Home/EZRHomeViewController.h

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -54,11 +54,6 @@
5454

5555
# pragma mark - Methods
5656

57-
/**
58-
* Scrolls through collection view to display whatever item is set to currentItem
59-
*/
60-
- (void)scrollToCurrentFeedItem;
61-
6257
/**
6358
* Loads the url for the new feed item in the web view
6459
*

0 commit comments

Comments
 (0)