iOS 輕鬆使用 App 數據統計

来源:http://www.cnblogs.com/jpush88/archive/2017/03/24/6612156.html
-Advertisement-
Play Games

想獲取用戶各項行為數據嗎? 想輕鬆查看用戶行為圖表嗎? 想高效進行 App 運營管理嗎? 想,來我帶你玩轉 App 數據統計。這裡我使用專業、輕便的 "JAnalytics" 。 本文內容分為兩部分:代碼示例&使用技巧部分、控制台圖表查看部分。 代碼示例&使用技巧 集成 1. 下載 "JAnalyt ...


  • 想獲取用戶各項行為數據嗎?
  • 想輕鬆查看用戶行為圖表嗎?
  • 想高效進行 App 運營管理嗎?

想,來我帶你玩轉 App 數據統計。這裡我使用專業、輕便的 JAnalytics
本文內容分為兩部分:代碼示例&使用技巧部分、控制台圖表查看部分。

代碼示例&使用技巧

集成

  1. 下載 JAnalytics SDK
  2. 添加 Lib 文件夾下的全部文件至 Xcode Project
  3. 增加相關的 framework 依賴:
    UIKit.framework
    SystemConfiguration.framework
    CoreTelephony.framework
    CoreGraphics.framework
    Security.framework
    Foundation.framework
    CoreLocation.framework
    CoreFoundation.framework
    CFNetwork.framework
    libz.tbd
    libresolv.tbd

初始化 SDK

#import "JANALYTICSService.h"

application:didFinishLaunchingWithOptions 中添加以下代碼:

代碼示例
JANALYTICSLaunchConfig * config = [[JANALYTICSLaunchConfig alloc] init];
config.appKey = @"your appkey";
config.channel = @"channel";     
[JANALYTICSService setupWithConfig:config];

其中的 appKey 參數,需要你在極光控制台註冊個帳號,並創建一個 App 項目來獲取。

頁面流統計

  • +startLogPageView:開始統計某頁面,可以寫在 ViewControler 的 viewDidAppear:
  • +stopLogPageView:結束統計某頁面,可以寫在 ViewControler 的 viewDidDisappear:
代碼示例
- (void)viewDidAppear:(BOOL)animated {
  [JANALYTICSService startLogPageView:@"頁面名稱"];
}
- (void)viewDidDisappear:(BOOL)animated {
  [JANALYTICSService stopLogPageView:@"頁面名稱"];
}
使用技巧

以上方法需要在所有 Controller 中全部寫一遍,建議在自己的 UIViewController 基類 BaseViewController 或者為 UIViewController 添加 Category,添加以下代碼。只要寫一遍即可統計所有現有或者新增的頁面,既減少了代碼量,也不用擔心有遺漏的頁面:

- (void)viewDidAppear:(BOOL)animated {
  [JANALYTICSService startLogPageView:NSStringFromClass([self class])];
}
- (void)viewDidDisappear:(BOOL)animated {
  [JANALYTICSService stopLogPageView:NSStringFromClass([self class])];
}

在以上代碼的基礎上還可單獨定義一個類似 PageNameFromClass 的方法,通過獲取 class 轉為具體的頁面名稱

地理位置統計

+setLatitude:longitude::上報地理位置信息

代碼示例
[JANALYTICSService setLatitude:116.46 longitude:39.92];

崩潰日誌統計

+crashLogON:開啟對 crash日誌的收集
建議在 application:didFinishLaunchingWithOptions 調用該方法。

代碼示例
[JANALYTICSService setLatitude:116.46 longitude:39.92];

事件統計

+eventRecord通過傳入不同的事件模型來進行各種事件的統計,現支持的事件有:註冊、登錄、購買、瀏覽、計數、計算。

代碼示例
[JANALYTICSService eventRecord:event];

其中的 event 需要根據事件的不同進行創建。
例如註冊事件:

JANALYTICSRegisterEvent * event = [[JANALYTICSRegisterEvent alloc] init];
event.success = YES;//是否註冊成功
event.method = @"註冊方法"; 
event.extra = @{@"自定義 key1":@"自定義 value1"};
[JANALYTICSService eventRecord:event];

各種不同事件的創建方法參照此處

# 控制台圖表查看

控制台統計頁面可以查看到 App 中各項數據的統計圖表。

  • 免費功能:包括推送統計、用戶統計、參與留存、錯誤分析、事件統計、頁面統計等,也足以滿足各項統計需求了。
  • VIP 功能:包括 終端統計、排行統計、用戶畫像等高級功能。

其中的各項數據一般會在 App 調用相應介面之後每隔 1 小時進行刷新。
另外每項統計下麵又包含多種不同功能,大家可以依次嘗試一下。
-------------------

作者:pikacode - 極光
原文:iOS 輕鬆使用 App 數據統計
知乎專欄:極光日報


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 前言 因為 "實戰項目系列" 涉及到數據持久化,這邊就來補充一下。 如本文有錯或理解偏差歡迎聯繫我,會儘快改正更新! 如有什麼問題,也可直接通過郵箱 [email protected] 聯繫我。 demo鏈接: https://pan.baidu.com/s/1hsspiio 密碼: dk3h 數據持 ...
  • UICollectionView 適配 iPhone 7 Plus 需求:在屏幕上水平放置 5 張正方形圖片,每張圖片的寬度相等,無縫隙排列鋪滿一個屏幕寬度。 看似很簡單的需求。用 UICollectionView 實現的話,把 UICollectionView 的寬度設置為屏幕寬度;屏幕寬度除以 ...
  • 譯者註:由於本人水平有限,譯文中難免會出現概念模糊、晦澀難懂,如果實在沒心思看下去,請發揮你的學習能動性,到原文中自行翻譯,感謝!!!點 "這裡" ,直達英文各種長句的世界。 好了,既然你選擇繼續往下看,那就一起來學習吧!!! 譯者:Noddy 地址: "直流電路理論" 如果你喜歡本譯文,請到項目上 ...
  • 1.應用程式 Android會同一系列核心應用程式包一起發佈,該應用程式包包括email客戶端,SMS短消息程式,日曆,地圖,瀏覽器,聯繫人管理程式等。所有的應用程式都是使用JAVA語言編寫的。 2.應用程式框架 開發人員也可以完全訪問核心應用程式所使用的API框架。該應用程式的架構設計簡化了組件的 ...
  • 有這樣一個ListView,要求在屏幕底部有一個篩選排序的浮動框: 1、手指下拉隱藏,上滑顯示 ; 2、如果沒做任何操作,2S之後,要自動顯示; 3、滑動到最底部,始終顯示。 首先看其效果圖: 實現上述效果,其實現原理如下: 1、在屏幕頂部固定一個BottomView,XML佈局最好使用Relati ...
  • 有一個Button 按鈕,要想為該按鈕設置onClick事件和OnTouch事件 此時,我們現在分析一下,是onTouch先執行,還是onClick執行,接下來我從FrameWork 源碼去探尋一下整個事件的執行流程和原理: 我們知道 Button ,TextView 等基礎控制項的基類都是View, ...
  • 主要原理:是在主界面有兩個空間,一個是EditText,一個是ListView,ListView是放在EditText下麵的,然後自定義建立一個adapter適配器, 這個適配器要繼承Filterable這個介面,並實現這個介面的兩個方法,一個是過濾方法,一個是過濾後的方法,一般我們是在過濾方法裡面 ...
  • Android原生的CalendarView根本無法滿足我們日常開發的需要,在開發吾記APP的過程中,我覺得需要來一款高性能且美觀簡潔的日曆控制項,覺得魅族的日曆風格十分適合,於是打算擼一款。 github地址:https://github.com/huanghaibin-dev/CalendarVi ...
一周排行
    -Advertisement-
    Play Games
  • 示例項目結構 在 Visual Studio 中創建一個 WinForms 應用程式後,項目結構如下所示: MyWinFormsApp/ │ ├───Properties/ │ └───Settings.settings │ ├───bin/ │ ├───Debug/ │ └───Release/ ...
  • [STAThread] 特性用於需要與 COM 組件交互的應用程式,尤其是依賴單線程模型(如 Windows Forms 應用程式)的組件。在 STA 模式下,線程擁有自己的消息迴圈,這對於處理用戶界面和某些 COM 組件是必要的。 [STAThread] static void Main(stri ...
  • 在WinForm中使用全局異常捕獲處理 在WinForm應用程式中,全局異常捕獲是確保程式穩定性的關鍵。通過在Program類的Main方法中設置全局異常處理,可以有效地捕獲並處理未預見的異常,從而避免程式崩潰。 註冊全局異常事件 [STAThread] static void Main() { / ...
  • 前言 給大家推薦一款開源的 Winform 控制項庫,可以幫助我們開發更加美觀、漂亮的 WinForm 界面。 項目介紹 SunnyUI.NET 是一個基於 .NET Framework 4.0+、.NET 6、.NET 7 和 .NET 8 的 WinForm 開源控制項庫,同時也提供了工具類庫、擴展 ...
  • 說明 該文章是屬於OverallAuth2.0系列文章,每周更新一篇該系列文章(從0到1完成系統開發)。 該系統文章,我會儘量說的非常詳細,做到不管新手、老手都能看懂。 說明:OverallAuth2.0 是一個簡單、易懂、功能強大的許可權+可視化流程管理系統。 有興趣的朋友,請關註我吧(*^▽^*) ...
  • 一、下載安裝 1.下載git 必須先下載並安裝git,再TortoiseGit下載安裝 git安裝參考教程:https://blog.csdn.net/mukes/article/details/115693833 2.TortoiseGit下載與安裝 TortoiseGit,Git客戶端,32/6 ...
  • 前言 在項目開發過程中,理解數據結構和演算法如同掌握蓋房子的秘訣。演算法不僅能幫助我們編寫高效、優質的代碼,還能解決項目中遇到的各種難題。 給大家推薦一個支持C#的開源免費、新手友好的數據結構與演算法入門教程:Hello演算法。 項目介紹 《Hello Algo》是一本開源免費、新手友好的數據結構與演算法入門 ...
  • 1.生成單個Proto.bat內容 @rem Copyright 2016, Google Inc. @rem All rights reserved. @rem @rem Redistribution and use in source and binary forms, with or with ...
  • 一:背景 1. 講故事 前段時間有位朋友找到我,說他的窗體程式在客戶這邊出現了卡死,讓我幫忙看下怎麼回事?dump也生成了,既然有dump了那就上 windbg 分析吧。 二:WinDbg 分析 1. 為什麼會卡死 窗體程式的卡死,入口門檻很低,後續往下分析就不一定了,不管怎麼說先用 !clrsta ...
  • 前言 人工智慧時代,人臉識別技術已成為安全驗證、身份識別和用戶交互的關鍵工具。 給大家推薦一款.NET 開源提供了強大的人臉識別 API,工具不僅易於集成,還具備高效處理能力。 本文將介紹一款如何利用這些API,為我們的項目添加智能識別的亮點。 項目介紹 GitHub 上擁有 1.2k 星標的 C# ...