Android 入门

重要

Visual Studio App Center 于 2025 年 3 月 31 日停用,但分析和诊断功能除外,这些功能将继续受支持,直到 2026 年 6 月 30 日。 了解详细信息

App Center SDK 使用模块化体系结构,因此你可以使用任何或所有服务。

可以在 App Center SDK 收集的数据常规数据保护条例常见问题解答 页中找到有关 App Center 收集的数据的信息。

开始在您的应用中设置 App Center Android 软件开发工具包,以利用 App Center Analytics 和 App Center 崩溃服务。 若要将 App Center Distribute 添加到应用,请查看 App Center Distribute 的文档

1.先决条件

在开始之前,请确保满足以下先决条件:

  • 项目已在 Android Studio 中设置完毕。
  • 你的目标是运行 Android 版本 5.0(API 级别 21)或更高版本的设备。

2.在 App Center 门户中创建应用以获取应用机密

如果已在 App Center 门户中创建了应用,则可以跳过此步骤。

  1. 前往 appcenter.ms
  2. 注册或登录并单击页面右上角的“ 添加新 ”按钮,然后从下拉菜单中选择“ 添加新应用 ”。
  3. 输入应用的名称和可选说明。
  4. 选择 Android 作为 OS,将 Java 选为平台。
  5. 单击“ 添加新应用 ”按钮。

创建应用后,可以在 2 下的 “入门 ”页面上获取其应用机密 。启动 SDK。 或者,可以单击 “设置”,然后在右上角单击 三个垂直点 ,然后选择“ 复制应用机密”以获取应用机密

3.添加 App Center SDK 模块

  1. 打开项目的应用级别 build.gradle 文件 (app/build.gradle),并在之后 apply plugin添加以下行。 在项目中包括所需的依赖项。 本部分需要将每个 SDK 模块添加为单独的依赖项。 如果要使用 App Center Analytics 和崩溃监测,请添加以下行:
dependencies {
    def appCenterSdkVersion = '5.0.6'
    implementation "com.microsoft.appcenter:appcenter-analytics:${appCenterSdkVersion}"
    implementation "com.microsoft.appcenter:appcenter-crashes:${appCenterSdkVersion}"
}

注释

如果 Android Gradle 插件的版本低于 3.0.0,则需要将单词implementation替换为compile

注释

由于 jCenter 支持终止 ,所有程序集都已移动到 Maven Central 存储库。 请按照 本指南 作,了解如何从 jCenter 迁移到 Maven Central。 请注意,Maven Central 不包含已弃用的模块。 确保项目没有弃用的 App Center SDK 模块的依赖项。

  1. 请确保在 Android Studio 中触发 Gradle 同步。

在应用程序中集成 SDK 后,可以启动 SDK 并使用 App Center。

4.启动 SDK

4.1 添加 start() 方法

若要使用 App Center,必须选择加入要使用的模块。 默认情况下,不会启动任何模块,并且必须在启动 SDK 时显式调用每个模块。
在应用的主活动类中插入以下行“ onCreate-callback 以使用 App Center AnalyticsApp Center 崩溃

AppCenter.start(getApplication(), "{Your App Secret}", Analytics.class, Crashes.class);
AppCenter.start(application, "{Your App Secret}", Analytics::class.java, Crashes::class.java)

警告

不建议在源代码中嵌入应用机密。

如果需要单独启动 App Center 服务,应:

  1. 配置或启动应用密钥。
  2. 如果可以多次调用代码,请检查是否已配置 App Center。
  3. 在不使用应用机密的情况下启动所需的服务。
AppCenter.configure(application, "{Your App Secret}");
if (AppCenter.isConfigured()) {
    AppCenter.start(Analytics.class);
    AppCenter.start(Crashes.class);
}
AppCenter.configure(application, "{Your App Secret}");
if (AppCenter.isConfigured()) {
    AppCenter.start(Analytics::class.java);
    AppCenter.start(Crashes::class.java);
}

如果应用程序有多个入口点(例如深层链接活动、服务或广播接收器),请在应用程序自定义类或每个入口点中调用 start 。 在后一种情况下,请检查在 start 调用之前,App Center 是否已配置。

if (!AppCenter.isConfigured())) {
  AppCenter.start(getApplication(), "{Your App Secret}", Analytics.class, Crashes.class);
}
if (!AppCenter.isConfigured()) {
  AppCenter.start(application, "{Your App Secret}", Analytics::class.java, Crashes::class.java)
}

4.2 将占位符替换为应用机密

请确保将 {Your App Secret} 文本替换为您应用程序中的实际值。 可以在 App Center 门户的 “入门 ”页面或 “设置” 页上找到应用机密。

“入门”页包含上述代码示例,其中包含应用机密,只需复制粘贴整个示例即可。

上面的示例演示如何使用 start() 方法,并包含 App Center Analytics 和 App Center Crashes。

如果不想使用这两个服务之一,请从上述方法调用中删除相应的参数。

除非在 start 方法中显式指定每个模块作为参数,否则不能使用该 App Center 服务。 此外, start() API 只能在应用的生命周期中使用一次 – 所有其他调用都会将警告记录到控制台,并且只有第一次调用中包含的模块可用。

例如 - 如果只想加入 App Center Analytics,则应按如下所示修改 start() API 调用:

AppCenter.start(getApplication(), "{Your App Secret}", Analytics.class);
AppCenter.start(application, "{Your App Secret}", Analytics::class.java)

插入 start() 方法后,Android Studio 会自动建议所需的导入语句,但如果您看到无法识别的类名错误,请将下面的几行添加到您活动类中的 import 语句中:

import com.microsoft.appcenter.AppCenter;
import com.microsoft.appcenter.analytics.Analytics;
import com.microsoft.appcenter.crashes.Crashes;
import com.microsoft.appcenter.AppCenter
import com.microsoft.appcenter.analytics.Analytics
import com.microsoft.appcenter.crashes.Crashes

你已经准备好在 SDK 自动收集的门户上可视化分析和崩溃数据。

查看 App Center AnalyticsApp Center 崩溃 的文档,了解如何自定义和使用这两个服务的更高级功能。

若要了解如何开始使用应用内更新,请阅读 App Center Distribute 的文档。

5. 备份规则 (仅限 Android)

注释

面向 Android 6.0(API 级别 23)或更高版本的应用会自动启用自动备份。 

注释

如果已有具有备份规则的自定义文件,请切换到第三步。

如果使用自动备份来避免获取有关设备的错误信息,请执行以下步骤:

5.1. 对于 Android 11(API 级别 30)或更低版本。

  1. res/xml 文件夹中创建 appcenter_backup_rule.xml 文件。
  1. 打开项目的 AndroidManifest.xml 文件。 将 android:fullBackupContent 属性添加到 <application> 元素。 它应指向 appcenter_backup_rule.xml 资源文件。
android:fullBackupContent="@xml/appcenter_backup_rule"
  1. 将以下备份规则添加到 appcenter_backup_rule.xml 文件:
<full-backup-content xmlns:tools="http://schemas.android.com/tools">
      <exclude domain="sharedpref" path="AppCenter.xml"/>
      <exclude domain="database" path="com.microsoft.appcenter.persistence"/>
      <exclude domain="database" path="com.microsoft.appcenter.persistence-journal"/>
      <exclude domain="file" path="error" tools:ignore="FullBackupContent"/>
      <exclude domain="file" path="appcenter" tools:ignore="FullBackupContent"/>
  </full-backup-content>

5.2. 对于 Android 12(API 级别 31)或更高版本。

  1. res/xml 文件夹中创建 appcenter_backup_rule.xml 文件。
  1. 打开项目的 AndroidManifest.xml 文件。 将 android:dataExtractionRules 属性添加到 <application> 元素。 它应指向 appcenter_backup_rule.xml 资源文件。
android:dataExtractionRules="@xml/appcenter_backup_rule"
  1. 将以下备份规则添加到 appcenter_backup_rule.xml 文件:
<data-extraction-rules xmlns:tools="http://schemas.android.com/tools">
    <cloud-backup>
        <exclude domain="sharedpref" path="AppCenter.xml"/>
        <exclude domain="database" path="com.microsoft.appcenter.persistence"/>
        <exclude domain="database" path="com.microsoft.appcenter.persistence-journal"/>
        <exclude domain="file" path="error" tools:ignore="FullBackupContent"/>
        <exclude domain="file" path="appcenter" tools:ignore="FullBackupContent"/>
    </cloud-backup>
    <device-transfer>
        <exclude domain="sharedpref" path="AppCenter.xml"/>
        <exclude domain="database" path="com.microsoft.appcenter.persistence"/>
        <exclude domain="database" path="com.microsoft.appcenter.persistence-journal"/>
        <exclude domain="file" path="error" tools:ignore="FullBackupContent"/>
        <exclude domain="file" path="appcenter" tools:ignore="FullBackupContent"/>
    </device-transfer>
</data-extraction-rules>