Language

Android の使い方を始める

重要

Visual Studio App Center は、2026 年 6 月 30 日まで引き続きサポートされる分析機能と診断機能を除き、2025 年 3 月 31 日に廃止されました。 詳細を参照してください。

App Center SDK ではモジュールアーキテクチャが使用されるため、サービスの一部またはすべてを使用できます。

App Center SDK によって収集されたデータ、一般的なデータ保護規則、FAQ ページで、App Center によって収集されたデータに関する情報を確認できます。

さあ、アプリに App Center Analytics と App Center Crashes を使用するために、App Center Android SDK の設定を始めましょう。 App Center Distribute をアプリに追加するには、 App Center Distribute のドキュメントを参照してください。

1.前提条件

開始する前に、次の前提条件が満たされていることを確認します。

  • Android プロジェクトは Android Studio で設定されています。
  • Android バージョン 5.0 (API レベル 21) 以降を実行しているデバイスを対象としています。

2. App Center ポータルでアプリを作成してアプリ シークレットを取得する

App Center ポータルでアプリを既に作成している場合は、この手順をスキップできます。

  1. appcenter.ms に向かいます。
  2. サインアップまたはログインし、ページの右上隅にある [ 新しい追加 ] ボタンをクリックし、ドロップダウン メニューから [ 新しいアプリの追加 ] を選択します。
  3. アプリの名前と説明 (省略可能) を入力します。
  4. OS として Android を選択し、プラットフォームとして Java を選択します。
  5. [ 新しいアプリの追加] ボタンをクリックします。

アプリを作成したら、2 の [はじめに] ページでそのアプリ シークレット を 取得できます 。SDK を起動します。 または、[ 設定] をクリックし、右上隅にある 3 つの垂直ドット をクリックし、[ アプリ シークレットのコピー ] を選択してアプリ シークレットを取得します。

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 より低い場合は、コンパイルで単語の実装を置き換える必要があります。

注

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 と App 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 のクラッシュの両方を含める方法を示しています。

2 つのサービスのいずれかを使用しない場合は、上記のメソッド呼び出しから対応するパラメーターを削除します。

start メソッドで各モジュールをパラメーターとして明示的に指定しない限り、その App Center サービスを使用することはできません。 さらに、 start() API は、アプリのライフサイクルで 1 回だけ使用できます。他のすべての呼び出しでは、コンソールに警告が記録され、最初の呼び出しに含まれるモジュールのみが使用できるようになります。

たとえば、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 ステートメントに次の行を追加します。

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 Analytics と App Center のクラッシュ に関するドキュメントを参照してください。

アプリ内更新プログラムの使用を開始する方法については、 App Center Distribute のドキュメントを参照してください。

5. バックアップ ルール (Android のみ)

注

Android 6.0 (API レベル 23) 以降を対象とするアプリでは、自動バックアップが自動的に有効になります。 

注

バックアップ規則を含むカスタム ファイルが既にある場合は、3 番目の手順に切り替えます。

自動バックアップを使用してデバイスに関する正しくない情報を取得しないようにする場合は、次の手順に従います。

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>