简介

华为分析服务预置大量分析模型,可帮助您清晰地了解用户的行为方式。从而实现用户、产品、内容的深度洞察,让您实现基于数据驱动的运营,可以就应用营销和产品优化制定明智的决策。
HUAWEI Analytics Kit采集端侧数据,用于支持Analytics功能:

您将建立什么

在这个codelab中,您将基于我们提供的Demo project,创建一个Demo App。通过Demo App您可以体验到:

您将会学到什么

硬件要求

软件要求

集成HUAWEI HMS Core能力,需要完成以下准备工作:

具体操作,请按照《开发准备》中详细说明来完成。
  1. AppGallery Connect网站,单击"我的项目"图标。
  2. 选择需要集成分析服务SDK的应用。
  3. 单击"华为分析"下的任意菜单可开通分析服务。(注:需拥有产品管理权限才可开通服务)
  4. 进入"项目接入设置"页面,设置数据处理位置、选择是否开启"产品改进"功能、完善更多设置的信息。点击"完成",即完成Analytics Kit服务开通。
  5. 下载配置文件。

在Xcode项目中集成SDK(Cocoapods方式集成)

  1. 在Xcode项目中添加当前应用的AppGallery Connect配置文件。
    • 登录AppGallery Connect 网站 ,选择"我的项目"
    • 在项目列表中找到您的项目,在项目列表中点击需要集成SDK的应用。
    • 在"项目设置"页面中,点击"应用"栏下的"agconnect-services.plist"下载配置文件。
    • 将"agconnect-services.plist"文件拷贝到项目根目录下。
    • 将"agconnect-services.plist"文件中client下的package_name字段的值配置到Demo的Bundle Identifier中。
    • 如果您在"项目设置"页面进行过任何修改动作,包括但不限于:设置数据处理位置、开启或管理某些API等。您需要下载最新的"agconnect-services.plist"文件,并替换Xcode项目根目录下已有的文件。

  2. Cocoapods方式集成SDK。
    1. 创建Podfile文件。
      打开命令终端,执行cd命令到Xcode项目根目录下,执行vim Podfile命令创建Podfile文件。
    2. 编辑Podfile文件,增加pod依赖'HiAnalytics'。
      Podfile示例:
      target 'hmsAnalyticsKitDemo' do # Pods for hmsAnalyticsKitDemo pod 'HiAnalytics' end end
    3. 执行pod install。
    4. $ pod install

在上一小节中,您已成功集成了HUAWEI Analytics Kit,本小节您将尝试编写一个Demo,学会如何使用 HUAWEI Analytics Kit的主要接口。这是一个具有答题功能的Demo,您可以不用关心业务逻辑,我们为您准备了现成的代码,您只需要按照下文每一步的提示,学会如何利用HUAWEI Analytics Kit将您所关心的事件,如"回答问题"、"计算分数"、"设置用户属性"等,上报即可。

源码下载

修改PrefixHeader.pch类

将HiAnalytics类导入PrefixHeader.pch类中。

#ifndef PrefixHeader_pch #define PrefixHeader_pch // Include any system framework and library headers here that should be included in all compilation units. // You will also need to set the Prefix Header build setting of one or more of your targets to reference this file. #import <HiAnalytics/HiAnalytics.h> #import "HToast.h" #endif /* PrefixHeader_pch */

修改AppDelegate类

添加以下代码以初始化Analytics Kit。

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { // TODO: Initialize the configuration. [HiAnalytics config]; // TODO: Enable event collection. [HiAnalytics setAnalyticsEnabled:YES]; // TODO: Configure reporting policies. [HiAnalytics setReportPolicies:@[[HAReportPolicy onMoveBackgroundPolicy],[HAReportPolicy onCacheThresholdPolicy:200]]]; return YES; }

修改MainViewController类

  1. 添加以下代码以完成reportAnswerEvt方法。
  2. - (void)reportAnswerEvt:(NSString *)answer { // TODO: Report a custom event. // Event name: Answer // Event parameters: // -- question: String // -- answer: String // -- answerTime: String NSDateFormatter *dateFormat=[[NSDateFormatter alloc]init]; [dateFormat setDateFormat:@"yyyy-MM-dd HH:mm:ss"]; NSString *answerTime=[dateFormat stringFromDate:[NSDate date]]; NSDictionary *parms = @{@"question":self.questionsArray[self.curQuqestionIndex], @"answer":answer, @"answerTime":answerTime}; // Report a custom event. [HiAnalytics onEvent:@"Answer" setParams:parms]; }
  3. 添加以下代码以完成postScore方法。
  4. - (IBAction)postScoreBtnClick:(UIButton *)sender { // TODO: Report a score through the kHAEventSubmitScore event. NSDictionary *parms = @{kHAParamScore:[NSNumber numberWithInteger:self.score]}; // Report a predefined event. [HiAnalytics onEvent:kHAEventSubmitScore setParams:parms]; [HToast showMessage:@"Post score success."]; }

修改SettingViewController类

  1. 添加以下代码以保存用户属性。
  2. - (IBAction)saveBtnClick:(UIButton *)sender { [self.textField resignFirstResponder]; if (self.textField.text.length<=0) { [HToast showMessage:@"Please enter your favorite sport."]; return; } // TODO: Set users' favorite sport using the setUserProfile API. [HiAnalytics setUserProfile:@"favor_sport" setValue:self.textField.text]; [HToast showMessage:@"Set user profile success."]; }
  3. 添加以下代码以清除缓存。
  4. - (IBAction)clearCacheBtnClick:(UIButton *)sender { // TODO: Clear cached data. [HiAnalytics clearCachedData]; [HToast showMessage:@"Clear cache success."]; }

    关于API简介,请参见《HUAWEI Analytics API参考》

Demo提供了一个将华为分析工具包与应用程序集成的示例。它提供了两个页面(即答题页面和用户属性设置页面),用于演示收集预定义事件和自定义事件。

  1. 在模拟器中启动应用。
    在应用初始页面"Main"页上点击"TRUE"或"FALSE"来回答页面上的问题,则会触发上报自定义的"Answer"事件;点击"POST SCORE"则会触发上报预置的"$SubmitScore"事件;点击"NEXT"进入下一题;点击"SETTINGS"则会跳转到用户属性设置页面,跳转时将自动收集页面退出和页面进入等事件。
  2. 在 "Settings"页上输入您喜欢的运动,点击"SAVE"保存用户属性;点击"CLEAR CACHE"清除缓存数据。设置完成后点击左上角"Main"返回到初始页面。
  1. 登录AppGallery Connect网站,点击"我的项目"图标。
  2. 选择需要查看分析数据的应用。
  3. 点击"华为分析 > 概览 > 实时概览"页签。
  4. 检查数据, 有关详细信息,请参见《HUAWEI Analytics操作指南》

应用调试

在开发过程中可以启用调试模式,借助DebugView实时查看事件的记录情况,观察具体结果并根据需要进行调整。

常见FAQ

应该在什么位置初始化?

请在AppDelegate类的.m文件中的application:didFinishLaunchingWithOptions方法中进行初始化,否则可能影响自动采集的生命周期事件的处理,HUAWEI Analytics Kit必须在主线程中初始化。

HUAWEI Analytics Kit如何识别用户?

HUAWEI Analytics Kit使用AAID(匿名应用程序标识符)来识别用户。

什么时候会重置AAID?重置后,HUAWEI Analytics Kit如何收集用户的统计信息?

在以下情况下,将重置AAID:

重置AAID后,该用户将被计为新用户。

Analytics Kit需要哪些权限?

Analytics Kit需要网络权限,通过网络将数据上报给AGC服务,但是权限在应用层面设置,无需为Analytics Kit单独设置网络权限。

测试中无法查看到当前上报数据的分析结果?

  1. 当应用调试关闭时,在"实时概览"中可查看部分分析结果,其它分析功能如"事件分析"、"启动分析"等需要第二天凌晨加工处理完成后才能看到数据分析结果。
  2. 当应用调试开启时,上报的测试数据不会被处理分析,只会在"应用调试"中查看到。

干得好,您已经成功完成了HUAWEI Analytics Kit的使用,并学到了:

您可以阅读下面链接,了解更多相关的信息。

相关文档
您可以点击下方按钮下载源码。

源码下载

Code copied