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
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...