目录

使用工具快速集成Push Kit

HMS Toolkit是一个IDE工具插件,提供一套含应用创建、编码和转换、调测、测试和发布的开发工具。可以帮助您以更低的开发成本和更高的开发效率集成HMS Core服务。

HMS Toolkit的“Configuration Wizard”为您提供配置向导,借助该工具可将“开发准备”中多个模块的手动操作自动化完成。

Configuration Wizard操作

安装工具

Windows平台:打开Android Studio,选择“File > Settings > Plugins > Marketplace”,在搜索框中输入“HMS Toolkit”,然后点击“Install”进行安装。安装完成后,请重启Android Studio。

MacOS平台:打开Android Studio,选择“Preferences > Plugins > Marketplace”,在搜索框中输入“HMS Toolkit”,然后点击“Install”进行安装。安装完成后,请重启Android Studio。

配置开发环境

[h2]配置AppGallery Connect

在开发应用前,您需要在AppGallery Connect中创建应用,并设置应用的相关信息。

  1. 使用华为帐号登录AppGallery Connect。如未注册,可参见帐号注册认证进行注册。
  2. 参见创建项目和创建应用完成应用的创建。特殊配置:软件包类型选择“APK(Android应用)”。

    配置完成后,无需根据界面向导进行下一步操作,按照配置HMS Toolkit环境进行操作,工具会自动进行设置。

[h2]配置HMS Toolkit环境

在调用Push Kit能力前,您还需要进行环境配置。

  1. 在Android Studio中,选择菜单栏中的“HMS > Configuration Wizard”。

    如果您还未登录AppGallery Connect,工具会自动打开浏览器提示您进行登录和授权。

  2. 登录授权后,选择团队名称、对应的工程模块、Integrated Kits(选择Push Kit)和证书类型,点击“Generate”生成SHA256证书指纹,然后点击“Next”。

    您在选择团队名称和对应的工程模块之后,HMS Toolkit会自动检测AppGallery Connect上是否有对应的应用。若有以下报错,请根据界面提示点击“Link”到AppGallery Connect上检查是否已创建应用。

    • 如果没有,请创建新的应用,然后点击“Retry”重试。
    • 如果已有应用,请根据界面提示检查团队名称和工程模块是否选择正确,然后点击“Retry”重试。

    关于证书类型:

    • Use your certificate:使用您创建的证书生成SHA256证书指纹,这种方式可用于应用发布场景。
    • Use Android debug certificate:选择Android自带的调试证书生成SHA256证书指纹,这种方式仅用于应用调试场景。选择该方式后,您可以选择已有的证书文件,也可以选择创建一个新的证书。关于证书的指导可参见Android证书签名。

    点击“Generate”可自动生成证书指纹,如果生成失败,请检查证书信息是否正确,确保证书信息和指纹相匹配,或者根据生成证书指纹指导手工生成指纹,然后填写到指纹信息框内。

    HMS Toolkit会自动对Push Kit的使用环境进行环境配置检查,包括通用环境配置检查和Kit专用环境配置检查。

    HMS Toolkit会自动处理检查项,并逐项检查是否配置正确。
    • 如果出现环境配置检查失败项,如上图所示,请根据界面提示点击“Link”进行手动设置,也可以点击或参见如下表格查看具体处理方法。设置完成后,点击“Retry”重新进行环境配置检查。

      序号

      环境配置检查项

      失败时处理建议

      1

      Obtain the package name of your application

      需要提前在AppGallery Connect中创建一个应用,并且对应的包名需要与当前模块的包名保持一致。

      说明:

      HMS Toolkit只会根据当前应用的包名,去AppGallery Connect中查询对应的应用,不会主动创建应用。包名对应的是模块下的build.gradle中android.defaultConfig.applicationId。

      2

      Check whether there is any app corresponding to your application's package name in AppGallery Connect

      3

      Verify the package name

      该配置项是校验包名是否以“.huawei”或“.HUAWEI”结尾,只有联运游戏的应用才需要此限制。

      4

      Generate a signing certificate

      如果选择您生成的证书文件,请检查证书文件是否创建成功,keyPassword和storePassword是否输入正确。

      5

      Configure signing certificate information

      6

      Generate a certificate fingerprint

      7

      Configure the certificate fingerprint in AppGallery Connect

      请手工拷贝SHA256证书指纹,填写到“Generate a certificate fingerprint”检查项下面的输入框内,或点击插件界面提示的链接,将SHA256证书指纹填写到应用中。

      8

      Check whether the data storage location was set

      点击插件界面提示的链接,手动设置数据存储区域。

      9

      Check whether the required xxx Kit service was enabled

      开通对应的Kit服务,单击插件界面提示的链接,然后手动开通服务。

      服务开通后,还需要在AppGallery Connect界面点击左侧的“项目设置 > API管理”,打开对应的Kit API。

      10

      Check whether the required xxx Kit API was enabled

      11

      Download the agconnect-services.json file

      确保AppGallery Connect中创建应用的包名与选择的工程模块的包名完全一致。

      12

      Copy the agconnect-services.json file to the module directory

      13

      Add the HMS Maven repository address to the build.gradle file in the project directory for xxx Kit

      无需手动处理。

      14

      Add dependencies from AppGallery Connect to the build.gradle file in the project directory for xxx Kit

      15

      Add dependencies from AppGallery Connect to the build.gradle file in the module directory for xxx Kit

      16

      Add dependencies from the xxx Kit SDK to the build.gradle file in the module directory

      17

      Configure obfuscation scripts of xxx Kit

    • 如果全部检查项均通过,则可以点击“Go to coding assistant”调用对应的接口,详细操作请参见Kit集成向导。

通过Coding Assistant集成

选择“HMS > Coding Assistant”,然后在Kit列表中点击“Push Kit”,整个Push Kit的场景如下图:

[h2]拖拽场景卡片补齐业务代码

选择要进行开发的场景卡片,以“Send notification message-Open home pages of corresponding apps”为例,拖拽整个卡片到代码区域生成获取token的代码。

当您直接拖动场景卡片时,工具会自动生成对应的Activity文件和XML布局文件,并在AndroidManifest.xml、项目级的build.gradle和应用级的build.gradle文件中写入配置信息和工程运行所需要的依赖。如果需要打开该Activity,需要您在代码中主动调用该Activity,完成后,您可以直接在设备中运行应用。

[h2]其他功能

主题订阅等其他功能业务介绍、代码调用示例等请参见其他的卡片通过拖拽或者拷贝的方式来进行开发,同时也可以参见推送服务开发指南中的内容进行手动开发。

编译、加载、调试

完成上述代码后,可以使用HMS Toolkit中的Cloud Debugging来进行真机调试,具体可以参见Cloud Debugging。

[h2]使用远程真机运行

  1. 在菜单栏中选择“HMS > Cloud Debugging”或者在工具栏点击如下图标。

  2. 在远程真机界面,您可以根据手机的分辨率、Android版本、EMUI版本及华为手机系列等条件,筛选出需要远程调试的真机,也可以根据真机的状态“Available Devices”进行筛选。

  3. 在菜单栏中点击(Run按钮)或(Debug按钮),在远程真机中运行或调试App。您也可以使用ADB相关命令进行操作,详情请参见ADB命令。

[h2]使用本地真机运行

  1. 在菜单栏中点击(Run按钮)或(Debug按钮),在本地真机中运行或调试App。

  2. 运行Demo后,保证手机联网,即可自动获取token,日志里会打印token,过滤代码中的TAG字符串可以看到Demo的Push相关的日志。

使用工具发送Push消息

  1. 在Push Kit卡片的工具栏中,点击“Message Test”(Push Kit消息推送测试工具),用于测试服务器向手机推送消息。

  2. 点击“Get APP ID and APP SECRET”,工具会自动从AppGallery Connect中读取APP ID和APP SECRET。然后点击“Next”。

  3. 进入Message Test参数填写页面。

    各参数的填写要求请参见界面提示或以下表格,全部填写完成点击“Send”。

    参数名称

    参数说明

    设置原则

    APP ID

    在AppGallery Connect中创建的应用对应的ID和密钥。

    工具自动从AppGallery Connect中读取。

    APP SECRET

    Please Input your token

    应用对应的token信息。

    在设备上运行应用时会自动填充。

    说明:

    自动填充token,需要手动打开日志分析功能,然后重新运行应用即可。如果日志分析功能未打开,可根据如下两种方法进行操作:

    • 在您运行应用时,Event Log窗口会提示您是否打开,点击“Turn On”即可。
    • 点击工具中的“Error Codes”,在右上角打开“Auto Analysis”开关。

    Message Type

    Notification Message:通知栏消息,按照规定的格式发送消息,不需要应用处理,直接在手机的通知栏显示。

    设置为Notification Message时,设置如下信息。

    • Message Title:消息标题,最多不超过40个字符。
    • Message Content:消息内容,最多不超过1024个字符。
    • Click Notification Action:设置点击通知消息的动作,包括Open App和Open Web两种方式。
      • 选择Open App时,需要设置App Page。

        App Page包括:Open Home Page、Open Custom Action Page(请根据界面提示选择定义Action)和Open Custom IntentUri page(请设置“host”、“path”、“scheme”、“parameter”,然后会自动生成“Intent”)。

      • 选择Open Web时,需要设置Website Link对应的URL,URL使用的协议必须是HTTPS协议。
    • BadgeNotification:Android通知消息角标控制,具体字段请参见BadgeNotification结构体的定义。
    • Foreground_show:应用在前台时通知栏消息是否前台展示开关,具体使用请参见基于前台应用的通知展示。
    • Icon:自定义通知栏左侧小图标,此处设置的图标文件必须存放在应用的/res/raw路径下,例如“/raw/ic_launcher”,对应应用本地的“/res/raw/ic_launcher.xxx”文件,支持的文件格式目前包括PNG、JPG。
    • Sound:自定义消息通知铃声,在新创建渠道时有效,此处设置的铃声文件必须存放在应用的/res/raw路径下,例如设置为“/raw/shake”,对应应用本地的“/res/raw/shake.xxx”文件,支持的文件格式包括mp3、wav、mpeg等,如果不设置使用默认系统铃声。
    • Channel_id:自Android O版本后可以支持通知栏自定义渠道,指定消息要展示在哪个通知渠道上。
    • Importance:安卓通知栏消息优先级,决定用户设备消息通知行为。NORMAL表示重要消息,LOW表示一般(静默)消息。
    • Other Parameters:Key_Value Pair(s),键值对,传递key-value形式的数据,由您自行定义。

    Data Message:透传消息,自定义通知格式,消息内容会传递给应用,由应用处理通知消息。

    设置为Data Message时,设置如下信息。

    Custom Parameter Type:自定义参数类型,有如下两种。

    • Key-Value:Key_Value Pair(s),键值对,传递key-value形式的数据,由您自行定义。
    • Custom Parameters:自定义参数,可以是普通的字符串也可以是JSON对象形式的字符串,最大长度1024。
  4. 消息发送成功后,手机上会接收到通知栏消息。

使用云测工具测试APK

  1. 在菜单栏中选择“HMS > Cloud Testing”或者在工具栏点击如下图标。

  2. 在“Cloud Testing”中,点击“New Task”。

  3. 配置各项任务参数,点击“Confirm”,启动测试任务。
    • Select Category:选择测试类别。测试类别包括“Compatibility Test”(兼容性测试)、“Stability Test”(稳定性测试)、“Performance Test”(性能测试)和“Consumption Test”(功耗测试)。
    • Please Select Apk File:选择需要测试的APK文件。
    • Test Devices:选择用于测试应用的远程真机。测试稳定性(“Stability Test”)时,只能选择一个设备进行测试,其他测试项可以同时选择多个设备。
    • Test Duration:(可选)仅测试类别选择“Stability Test”生效,设置测试周期,范围为10~60分钟。

    • Application Classification:(可选)仅测试类别选择“Performance Test”和“Consumption Test”生效,设置应用分类信息。

  4. 等待测试任务完成后,点击查看测试报告。

    点击“Download report”,可以将测试报告下载到本地,点击,可以查看测试详情。各测试项的报告说明请参见云测试指南。

Publish to AppGallery Connect

您的应用程序开发、调试完成后,可以直接通过HMS Core提供的Publish to AppGallery Connect功能,将您的应用程序APK文件发布到华为应用市场。

  1. 在HMS菜单中,点击“Publish to AppGallery Connect”。
  2. 选择团队名称和要发布的APK文件(最大不超过1GB),点击“Upload”完成上传。

    上传APK文件会有如下两个检验,如有报错,请修改后重新上传。

    • APK文件的格式必须是release。生成方法请参见如何在项目工程中生成release.apk文件。
    • 获取SHA256证书指纹且已经配置到AGC的应用中。操作步骤:在cmd中输入以下命令来读取APK文件的信息值,然后从信息值里获取SHA256证书指纹,再将SHA256证书指纹填写到对应的应用中。
      >keytool -printcert -jarfile 工程目录下的app-release.apk路径

      “工程目录下的app-release.apk路径”请根据实际路径进行替换。

  3. 上传完成后,点击“RELEASE”,进入“应用上架 > 准备提交”页面。

  4. 填写应用上架的相关信息并提交审核。