最近業務方給咱們部門提了新的需求,但願能一站式統計APP的幾項重要數據。此次咱們嘗試使用的是個推(以前專門作消息推送的)旗下新推出的產品「個數·應用統計」,根據官方的說法,個推的數據統計產品經過專業的移動應用數據分析,能夠爲用戶的應用提供實時數據統計分析服務,包括瞭解版本質量、渠道情況、用戶畫像等。數據最後以可視化形式展示,很直觀。咱們嘗試了一段時間,發現效果仍是很不錯的,這篇文章將爲你們介紹如何從零開始快速高效地集成個數iOS SDK。html
1、登陸帳號並建立應用獲取 APP IDios
一、 訪問[個推開發者中心](https://dev.getui.com/dev/#/login),點擊當即註冊:sql
(也能夠從個推官網進入www.getui.com,點擊右上角「開發者中心」。)固然,若是你已經註冊過個推推送的帳號,直接登陸使用便可。緩存
2、根據我的狀況填寫並註冊帳號:ruby
3、返回[個推開發者中心](https://dev.getui.com/dev/#/login)使用上個步驟註冊好的帳號登陸,進入開發者平臺面板後,選擇左邊菜單欄的個數·應用統計:網絡
4、進入個數·應用統計面板後,選擇右上角的新增應用添加新的應用:session
5、填寫應用相關信息,勾選iOS,點擊提交新增應用:app
6、新增應用成功會自動返回應用列表,找到新增的應用,點擊應用配置:工具
7、在配置信息下能夠看到APP ID,將其複製保存,後續集成將會使用到APP ID:開發工具
2、配置個數SDK
個數iOS SDK提供兩種集成方式,分別是CocoaPods集成和Xcode手動集成,兩種集成方式本文都會介紹。在集成SDK時選擇其中一種便可(推薦使用CocoaPods集成)。
3、CocoaPods集成方式
1、安裝CocoaPods
安裝方式很簡單 , Mac下都自帶ruby,使用ruby的gem命令便可下載安裝:
$ sudo gem install cocoapods
$ pod setup
2、準備Podfile
使用時須要新建一個名爲Podfile的文件(若已存在該文件則不須要從新建立),以下格式,將依賴的庫名字依次列在文件中便可:
target 'YourTargetName' do
platform :ios, "8.0"
pod 'GCSDK'
end
3、完成GCSDK導入
將編輯好的Podfile文件放到你的項目根目錄中,執行以下命令便可:
$ cd "<path/to/project>"
$ pod install
4、使用CocosPods集成SDK後,須要關閉原工程,從新在項目根目錄下打開 yourProjectName.xcworkspace的文件進行後續開發:
4、Xcode 集成方式
1、個數應用統計提供了一個 SDK 開發工具包,包含了iOS SDK的所有所需資源,前往個推文檔中心下載,地址:http://docs.getui.com/download.html,選擇個數·應用統計下的iOS端下載SDK資源包 :
2、解壓資源包內容能夠看到以下文件結構:
3、資源包內容詳解
接入文檔/個數集成文檔.pdf : 個數集成文檔;
資源文件/GTCountSDK.h: 個數SDK頭文件
資源文件/libGTCountSDK.a: 個數SDK主包靜態庫
資源文件/libGTCommonSDK.a: 個數SDK工具庫
Demo工程/GTCountDemo/: 個數demo工程
4、注意:libGTCountSDK.a、libGTCommonSDK.a 使用lipo工具將
支持i386、x86_64、arm64、armv7的代碼打包到了一塊兒,因此這個庫將同時支持simulator和device,支持的iOS版本爲 7.0 及以上。
5、個數SDK靜態庫設置
右擊添加文件,導入資源文件目錄下的文件。
6、添加依賴庫(必須,以下圖)
添加系統庫支持:
* libsqlit3.tbd
* libz.tbd
* AdSupport.framework
7、設置 Other Linker Flags
找到主工程的target -> Build Setting -> Linking -> Other Linker Flags,將其設置爲-ObjC(如圖所示):
5、初始化並啓動SDK
1、初始化啓動接口的相關信息:
2、在項目工程的AppDelegate.m中添加頭文件,使用前面獲取的APP ID初始化並啓動SDK:
#import 'GTCountSDK.h'
#define kGcAppId @"xxxxxxx"
@implementation AppDelegate
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
// 啓動個數 SDK
[GTCountSDK startSDKWithAppId:kGcAppId withChannelId:@"appstore"];
// 使用 SDK 實例的 reportStrategy 屬性設置上報策略。
[[GTCountSDK sharedInstance] setReportStrategy:GESHU_STRATEGY_WIFI_ONLY]
// 使用 SDK 實例的 sessionTime 屬性獲取 sessionTime 的值。
NSLog(@"sessionTime %ld",[[GTCountSDK sharedInstance]sessionTime]);
return YES;
}
6、高級功能:自定義事件
自定義事件能夠統計某些用戶自定義埋點的發生時間以及次數,例如廣告點擊、短信數量等。一般event_id用於表示某種行爲或功能的統計(如統計「發送」按鈕被觸發多少次),而參數則用於標識統計的具體對象(如功能爲「下載」的按鈕),由event_id和properties惟一標識一個事件。
自定義事件主要分爲兩種:
(1)次數統計:統計指定行爲被觸發的次數。
(2)時長統計:統計指定行爲消耗的時間,單位爲秒。須要eventBegin和eventEnd接口成對使用纔可生效。
其中每類事件都支持使用properties參數類型。
注意:event_id須要先在個推開發者中心(https://dev.getui.com/)進行配置,才能參與正常的數據統計。event_id不能包含空格或轉義字符,以下:
1、點擊側邊菜單欄事件列表。
2、點擊新增事件按鈕。
3、根據事件類型分別輸入相應的事件ID以及事件名稱。
4、在移動端項目中添加對應事件類型和對應event_id的事件:
@implementation TrackCountEventController
- (IBAction)clickCount:(id)sender {
[GTCountSDK trackCountEvent:@"countid1" withArgs:@{@"ckey1":@"cvalue1"}];
}
-(void) viewDidAppear:(BOOL)animated {
// 爲了正確統計,要確保開始和結束接口的參數 self.eventProperty 內存地址是一致的。
self.eventProperty = @{@"key":@"value1"};
[GTCountSDK trackCustomKeyValueEventBegin:@"eid1" withArgs:self.eventProperty];
[super viewDidAppear:animated];
}
- (void)viewWillDisappear:(BOOL)animated {
[GTCountSDK trackCustomKeyValueEventEnd:@"eid1" withArgs:self.eventProperty];
[super viewWillDisappear:animated];
}
@end
7、高級功能:數據上報策略
個數應用統計可自定義數據上報策略,開發者可根據自身應用需求設置,可以有效控制用戶流量開銷。
1、SDK的數據上報策略包括如下 5 種(默認爲 GESHU_STRATEGY_PERIOD,週期爲 60 分鐘):
2、注意:數據上報策略建議在應用啓動時設置。數據上報策略使用如下接口進行設置和查看:
/**
設置上報策略
*/
@property(nonatomic,assign)GeShuStatReportStrategyType reportStrategy;
3、WIFI 環境下上報策略
考慮到 WIFI 網絡環境下上報數據的代價較小,所以默認狀況在 WIFI 環境下,使用實時上報策略。若要關閉該策略,能夠調用如下接口關閉:
/**
智能上報
開啓之後設備接入WIFI會實時上報
不然按照全局策略上報
默認打開
*/
@property (nonatomic, assign)BOOL smartReporting;
4、數據上報策略相關接口
/**
統計上報策略爲 BATCH 時,觸發上報時最小緩存消息數,默認32條
*/
@property (nonatomic, assign)NSUInteger minBatchReportNumber;
/**
上報策略爲 PERIOD 時發送間隔,單位分鐘,默認一天(60分鐘)
*/
@property (nonatomic, assign)NSUInteger periodMinutes;
8、集成 SDK 的應用提交App Store注意事項
1、爲了獲取精準的統計結果,需添加AdSupport.framework庫支持,所以在提交App Store時需作如下操做:
(1)在App內投放廣告,獲取IDFA可經過蘋果審覈。
(2)App內無廣告,但先前投放了特定廣告,可參考以下勾選,經過蘋果審覈。
勾選如圖:
以上就是我集成個推應用統計產品(個數)的全過程,但願對你有幫助!若是你們有什麼其餘問題,咱們能夠留言區交流。