简介

您将建立什么

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

您将会学到什么

硬件要求

软件要求

必备知识

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

  1. 登陆AppGallery Connect网站,单击"我的项目"图标。
  2. 选择需要集成分析服务SDK的应用。
  3. 单击"华为分析"下的任意菜单可开通分析服务。(注:需拥有产品管理权限才可开通服务)
  4. 进入"项目接入设置"页面,设置数据处理位置、选择是否开启"产品改进"功能、完善更多设置的信息。点击"完成",即完成Analytics Kit服务开通。
  5. 下载配置文件。
  6. 配置文件导入,在Android Studio中,切换至Project视图,将"agconnect-services.json"文件移至Android应用模块app的根目录下。

添加SDK依赖

  1. 在主工程gradle中添加Maven仓地址和agconnect服务依赖。
    a) 打开主工程目录下的build.gradle文件。

  2. b) 配置HMS Core SDK的Maven仓地址。
    配置方法请参见配置HMS Core SDK的Maven仓地址
    c) 将agconnect服务依赖添加到"dependencies"中。
    dependencies { classpath 'com.huawei.agconnect:agcp:1.6.0.300' }
  3. 在app模块的gradle中添加HUAWEI Analytics Kit依赖。
    a) 打开app目录下的build.gradle文件。

    b) 将编译依赖项添加到"dependencies"中。
  4. dependencies { implementation 'com.huawei.hms:hianalytics:6.7.0.300' }

    c)添加agconnect插件配置。
    方法一:在文件头apply plugin: 'com.android.application'下一行添加如下配置。

    apply plugin: 'com.huawei.agconnect '

    方法二:在"plugins"中添加如下配置。

    plugins { id 'com.android.application' //添加如下配置 id 'com.huawei.agconnect' }
  5. 点击Sync Now或Sync Project with Gradle Files,开始构建工程。

配置混淆脚本

1. 在应用级根目录下打开混淆配置文件“proguard-rules.pro”,加入排除HMS Core SDK的混淆配置脚本。

-ignorewarnings -keepattributes *Annotation* -keepattributes Exceptions -keepattributes InnerClasses -keepattributes Signature -keepattributes SourceFile,LineNumberTable -keep class com.huawei.hianalytics.**{*;} -keep class com.huawei.updatesdk.**{*;} -keep class com.huawei.hms.**{*;}

2. 如果开发者使用了"AndResGuard",需要在混淆配置文件中加入"AndResGuard"允许清单。

"R.string.hms*", "R.string.connect_server_fail_prompt_toast", "R.string.getting_message_fail_prompt_toast", "R.string.no_available_network_prompt_toast", "R.string.third_app_*", "R.string.upsdk_*", "R.layout.hms*", "R.layout.upsdk_*", "R.drawable.upsdk*", "R.color.upsdk*", "R.dimen.upsdk*", "R.style.upsdk*", "R.string.agc*"

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

源码下载

将示例代码提取到src目录

复制代码文件

将所有Java文件从代码目录复制到您的项目中。

复制资源文件

将所有资源文件从res目录复制到您的项目中。

修改AndroidManifest.xml

  1. 在"application"模块中设置meta-data参数,配置应用安装来源。例如:安装来源为应用市场。
  2. <application ...... <meta-data> android:name="install_channel" android:value="AppGallery"> </meta-data> ...... </application>
  3. 在"application"模块中声明SettingActivity。
  4. <application <activity android:name=".SettingActivity"> </activity> </application>

    截止目前,您的应用软件已经具备了所需的业务功能,接下来将使用HUAWEI Analytics Kit上报您所关心的事件

修改MainActivity类

  1. 从Analytics Kit中导入以下类。
  2. // TODO: Import classes from Analytics Kit. import com.huawei.hms.analytics.HiAnalytics; import com.huawei.hms.analytics.HiAnalyticsInstance; import com.huawei.hms.analytics.HiAnalyticsTools; import static com.huawei.hms.analytics.type.HAEventType.*; import static com.huawei.hms.analytics.type.HAParamType.*;
  3. 添加以下代码为AnalyticsInstance定义变量。
  4. private int score = 0; // TODO: Define a variable for the Analytics Kit instance. HiAnalyticsInstance instance;
  5. 在onCreate方法中添加以下代码以初始化Analytics Kit。
  6. @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); // TODO: Initialize Analytics Kit. // Enable Analytics Kit logging. HiAnalyticsTools.enableLog(); // Generate an Analytics Kit instance. instance = HiAnalytics.getInstance(this); txtQuestion = (TextView)findViewById(R.id.question_text_view); txtQuestion.setText(questions[curQuestionIdx]); }
  7. 添加以下代码以完成reportAnswerEvt方法。
  8. private void reportAnswerEvt(String answer) { // TODO: Report a custom event. // Event name: Answer // Event parameters: // -- question: String // -- answer: String // -- answerTime: String // Initialize parameters. Bundle bundle = new Bundle(); bundle.putString("question", txtQuestion.getText().toString().trim()); bundle.putString("answer",answer); SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss", Locale.ENGLISH); bundle.putString("answerTime",sdf.format(new Date())); // Report a custom event. instance.onEvent("Answer", bundle); }
  9. 添加以下代码以完成postScore方法。
  10. private void postScore() { // TODO: Report a score through the SUBMITSCORE event. // Initialize parameters. Bundle bundle = new Bundle(); bundle.putLong(SCORE, score); // Report a predefined event. instance.onEvent(SUBMITSCORE, bundle); }

修改SettingActivity类

  1. 从HUAWEI Analytics Kit中导入以下类。
  2. // TODO: Import classes from Analytics Kit. import com.huawei.hms.analytics.HiAnalytics; import com.huawei.hms.analytics.HiAnalyticsInstance;
  3. 添加以下代码为AnalyticsInstance定义变量。
  4. // TODO: Define a variable for the Analytics Kit instance. HiAnalyticsInstance instance;
  5. 添加以下代码以初始化Analytics Kit。
  6. // TODO: Generate an Analytics Kit instance. instance = HiAnalytics.getInstance(this);
  7. 添加以下代码以保存用户属性。
  8. btnSave.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { editFavorSport = (EditText)findViewById(R.id.edit_favorite_sport); // TODO: Set users' favorite sport using the setUserProfile API. instance.setUserProfile("favor_sport",strFavorSport); } });

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

在模拟器中启动应用,根据界面引导操作报告事件。

  1. 登录AppGallery Connect网站,点击"我的项目"图标。
  2. 选择需要查看分析数据的应用。
  3. 点击"华为分析 > 概览 > 实时概览"页签。
  4. 检查数据, 有关详细信息,请参见《HUAWEI Analytics操作指南》
  1. 在Android设备上执行如下命令行开启调试模式。
  2. adb shell setprop debug.huawei.hms.analytics.app <package_name>

    打开后会保持启用状态,所有事件将在"华为分析"页签的"应用调试"实时上报。

  3. 查看上报的调试数据。
  4. 您可以执行如下命令行停用调试模式。

    adb shell setprop debug.huawei.hms.analytics.app .none.

常见FAQs

应该在什么位置初始化?

HUAWEI Analytics Kit如何识别用户?

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

HUAWEI Analytics Kit需要哪些权限?

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

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

gradle-wrapper.properties文件报错如何处理?

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

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

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

源码下载

Code copied