標籤:空格 菜單 tar ruby libz sdi 即時 緩衝 reporting
最近業務方給我們部門提了新的需求,希望能一站式統計APP的幾項重要資料。這次我們嘗試使用的是個推(之前專門做訊息推送的)旗下新推出的產品“個數·應用統計”,根據官方的說法,個推的資料統計產品通過專業的行動裝置 App資料分析,可以為使用者的應用提供即時資料統計分析服務,包括瞭解版本品質、渠道狀況、使用者畫像等。資料最後以可視化形式展現,很直觀。我們嘗試了一段時間,發現效果還是很不錯的,這篇文章將為大家介紹如何從零開始快速高效地整合個數iOS SDK。
一、登入帳號並建立應用擷取 APP ID
1、 訪問[個推開發人員中心](https://dev.getui.com/dev/#/login),點擊立即註冊:
(也可以從個推官網進入www.getui.com,點擊右上方“開發人員中心”。)當然,如果你已經註冊過個推推送的帳號,直接登入使用即可。
2、根據個人情況填寫並註冊帳號:
3、返回[個推開發人員中心](https://dev.getui.com/dev/#/login)使用上個步驟註冊好的帳號登入,進入開發人員平檯面板後,選擇左邊功能表列的個數·應用統計:
4、進入個數·應用統計面板後,選擇右上方的新增應用添加新的應用:
5、填寫應用相關資訊,勾選iOS,點擊提交新增應用:
6、新增應用成功會自動返回應用列表,找到新增的應用,點擊應用配置:
7、在配置資訊下可以看到APP ID,將其複製儲存,後續整合將會使用到APP ID:
二、配置個數SDK
個數iOS SDK提供兩種整合方式,分別是CocoaPods整合和Xcode手動整合,兩種整合方式本文都會介紹。在整合SDK時選擇其中一種即可(推薦使用CocoaPods整合)。
三、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的檔案進行後續開發:
四、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():
五、初始化並啟動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;
}
六、進階功能:自訂事件
自訂事件可以統計某些使用者自訂埋點的發生時間以及次數,例如廣告點選、簡訊數量等。通常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
七、進階功能:資料上報策略
個數應用統計可自訂資料上報策略,開發人員可根據自身應用需求設定,能夠有效控制使用者流量開銷。
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;
八、整合 SDK 的應用提交App Store注意事項
1、為了擷取精準的統計結果,需添加AdSupport.framework庫支援,因此在提交App Store時需做以下操作:
(1)在App內投放廣告,擷取IDFA可通過蘋果審核。
(2)App內無廣告,但先前投放了特定廣告,可參考如下勾選,通過蘋果審核。
勾選
以上就是我整合個推應用統計產品(個數)的全過程,希望對你有協助!如果大家有什麼其他問題,我們可以留言區交流。
個推資料統計產品(個數)iOS整合實踐