個推資料統計產品(個數)iOS整合實踐

來源:互聯網
上載者:User

標籤:空格   菜單   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_idproperties唯一標識一個事件。

 

自訂事件主要分為兩種:

 

(1)次數統計:統計指定行為被觸發的次數。

 

(2)時間長度統計:統計指定行為消耗的時間,單位為秒。需要eventBegineventEnd介面成對使用才可生效。

 

其中每類事件都支援使用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整合實踐

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.