Swift使用友盟實現應用的統計分析教程

來源:互聯網
上載者:User

1,什麼是友盟(umeng.com) 

(1)友盟致力於為移動開發人員提供專業的資料統計分析、開發和運營組件及推廣服務。服務包含行動裝置 App統計分析以及細分行業的移動遊戲統計分析、社會化分享組件、訊息推送、自動更新、使用者反饋、錯誤分析等產品。
(2)友盟提供iOS、Android和Windows Phone等多平台服務。
 
2,友盟的應用統計分析

友盟統計分析平台是國內最大的行動裝置 App統計分析平台。用於協助行動裝置 App開發商統計和分析流量來源、內容使用、使用者屬性和行為資料,以便開發商利用資料進行產品、運營、推廣策略的決策。 

3,使用範例
由於官網提供的代碼範例是Objective-C的,下面我將示範如何使用Swift來調用友盟的SDK。
 
(1)獲得Appkey

在整合友盟SDK之前,首先需要到 友盟官網 註冊並且添加新應用,獲得Appkey

 
(2)下載統計sdk

下載統計sdk Analytics-iOS-SDK.zip並解壓縮

 
(3)把sdk添加到項目中去

將sdk中的 libMobClickLibrary.a 和 MobClick.h 這兩個檔案拖入XCode工程目錄結構中。


同時還要記得添加橋接檔案,在其中增加對友盟分析的引用。


#import "MobClick.h"

(4)在 AppDelegate.swift 中增加配置,代碼如下:

配置主要包括填寫Appkey,設定發送策略和填寫渠道id三部分

1,iOS平台資料發送策略包括BATCH(啟動時發送)和SEND_INTERVAL(按間隔發送)兩種,友盟預設使用啟動時發送(更省流量),可以在代碼reportPolicy:BATCH中更改發送策略。

2,渠道可以自由定義。在查看資料時,渠道會作為一個資料細分的維度。channelId為nil或""時,預設會被當作"App Store"渠道。

3,由於iOS9引入了App Transport Security (ATS)特性,要求App訪問的網路使用HTTPS協議,所以需要開發人員在工程中增加設定以便可以發送http請求。具體可參見我的另一篇文章:Swift - 網路請求報App Transport Security has blocked a cleartext錯

import UIKit
 
@UIApplicationMain
class AppDelegate: UIResponder, UIApplicationDelegate {
 
    var window: UIWindow?
 
    func application(application: UIApplication,
        didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {
         
        MobClick.startWithAppkey("564d3bf567e58e8179000811", reportPolicy: BATCH,
            channelId: "hangge.com")
         
        return true
    }
 
    func applicationWillResignActive(application: UIApplication) {
    }
 
    func applicationDidEnterBackground(application: UIApplication) {
    }
 
    func applicationWillEnterForeground(application: UIApplication) {
    }
 
    func applicationDidBecomeActive(application: UIApplication) {
    }
 
    func applicationWillTerminate(application: UIApplication) {
    }
}

(5)測試效果
上面配置完以後直接啟動測試下(真機模擬器均可),進入友盟後台,可以看到新增使用者資訊了。


 
4,添加具體頁面的統計 
只有頁面統計整合正確,才能夠擷取正確的頁面訪問路徑、訪問深度(PV)的資料。要實現頁面的統計需要在每個View中配對調用相關的頁面統計方法。
比如,我們要統計“關於”頁面,那麼在“關於”頁面(AboutMeViewController.swift)添加如下方法

 

import UIKit
 
class AboutMeViewController: UIViewController {
 
    override func viewDidLoad() {
        super.viewDidLoad()
    }
     
    override func viewWillAppear(animated: Bool) {
        super.viewWillAppear(animated)
        MobClick.beginLogPageView("HomePage")
    }
     
    override func viewWillDisappear(animated: Bool) {
        super.viewWillDisappear(animated)
        MobClick.endLogPageView("HomePage")
    }
 
    override func didReceiveMemoryWarning() {
        super.didReceiveMemoryWarning()
    }
}

 

5,使用、統計自訂事件
自訂事件分為計數事件和計算事件。下面以計數事件為例,比如我們頁面上有一個“購買”按鈕,我想讓使用者點一次按鈕就記錄一下。
(1)首先在友盟後台添加添加事件時選擇“計數事件”。

(2)程式碼如下:

 

@IBAction func purchaseClick(sender: AnyObject) {
    //記錄“購買”按鈕點擊次數,同時假設購買了4本書
    let dict = ["type" : "book", "quantity" : "4"]
    MobClick.event("purchase", attributes: dict)
}

(3)友盟後台可以看到如下的統計資料:

相關文章

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.