1,什麼是友盟(umeng.com)
(1)友盟致力於為移動開發者提供專業的數據統計分析、開發和運營組件及推廣服務。服務包含移動應用統計分析以及細分行業的移動游戲統計分析、社會化分享組件、消息推送、自動更新、用戶反饋、錯誤分析等產品。 (2)友盟提供iOS、Android和Windows Phone等多平台服務。 2,友盟的應用統計分析友盟統計分析平台是國內最大的移動應用統計分析平台。用於幫助移動應用開發商統計和分析流量來源、內容使用、用戶屬性和行為數據,以便開發商利用數據進行產品、運營、推廣策略的決策。
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)測試效果
上面配置完以後直接啟動測試下(真機模擬器均可),進入友盟後台,可以看到新增用戶信息了。
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,使用、統計自定義事件
@IBAction func purchaseClick(sender: AnyObject) {
//記錄“購買”按鈕點擊次數,同時假設購買了4本書
let dict = ["type" : "book", "quantity" : "4"]
MobClick.event("purchase", attributes: dict)
}
(3)友盟後台可以看到如下的統計數據: