Udostępnij za pośrednictwem


Wprowadzenie do systemu Android

Ważne

Program Visual Studio App Center ma zostać wycofany 31 marca 2025 r. Mimo że możesz nadal używać programu Visual Studio App Center do momentu jej pełnego wycofania, istnieje kilka zalecanych alternatyw, do których można rozważyć migrację.

Dowiedz się więcej o osiach czasu pomocy technicznej i alternatywach.

Zestaw SDK centrum aplikacji korzysta z architektury modułowej, aby można było używać dowolnych lub wszystkich usług.

Informacje o danych zebranych przez centrum aplikacji w danych zebranych przez zestawy SDK centrum aplikacji, ogólne rozporządzenie o ochronie danych i strony często zadawanych pytań można znaleźć.

Zacznijmy od konfigurowania zestawu SDK systemu Android w usłudze App Center w aplikacji w celu korzystania z usług App Center Analytics i App Center Crash. Aby dodać usługę App Center Distribute do aplikacji, zapoznaj się z dokumentacją dotyczącą dystrybucji centrum aplikacji.

1. Wymagania wstępne

Przed rozpoczęciem upewnij się, że zostały spełnione następujące wymagania wstępne:

  • Projekt systemu Android został skonfigurowany w programie Android Studio.
  • Dotyczysz urządzeń z systemem Android w wersji 5.0 (poziom 21 interfejsu API) lub nowszym.

2. Utwórz aplikację w portalu Centrum aplikacji, aby uzyskać wpis tajny aplikacji

Jeśli aplikacja została już utworzona w portalu Centrum aplikacji, możesz pominąć ten krok.

  1. Przejdź do appcenter.ms.
  2. Zarejestruj się lub zaloguj się i kliknij przycisk Dodaj nowy w prawym górnym rogu strony, a następnie wybierz pozycję Dodaj nową aplikację z menu rozwijanego.
  3. Wprowadź nazwę i opcjonalny opis aplikacji.
  4. Wybierz pozycję Android jako system operacyjny i java jako platformę.
  5. Kliknij przycisk Dodaj nową aplikację .

Po utworzeniu aplikacji możesz uzyskać jej wpis tajny aplikacji na stronie Wprowadzenie poniżej 2. Uruchom zestaw SDK. Możesz też kliknąć pozycję Ustawienia, a w prawym górnym rogu kliknąć potrójne pionowe kropki i wybrać pozycję Kopiuj wpis tajny aplikacji , aby uzyskać wpis tajny aplikacji.

3. Dodawanie modułów zestawu SDK centrum aplikacji

  1. Otwórz plik build.gradle na poziomie aplikacji projektu (app/build.gradle) i dodaj następujące wiersze po apply plugin. Uwzględnij zależności, które chcesz umieścić w projekcie. Każdy moduł SDK musi zostać dodany jako osobna zależność w tej sekcji. Jeśli chcesz użyć usługi App Center Analytics and Crash, dodaj następujące wiersze:
dependencies {
    def appCenterSdkVersion = '5.0.4'
    implementation "com.microsoft.appcenter:appcenter-analytics:${appCenterSdkVersion}"
    implementation "com.microsoft.appcenter:appcenter-crashes:${appCenterSdkVersion}"
}

Uwaga

Jeśli wersja wtyczki Android Gradle jest niższa niż 3.0.0, należy zastąpić implementację wyrazów przez kompilację.

Uwaga

Z powodu zakończenia obsługi programu jCenter wszystkie nasze zestawy zostały przeniesione do repozytorium Maven Central. Postępuj zgodnie z tym przewodnikiem dotyczącym migracji z programu jCenter do usługi Maven Central. Pamiętaj, że program Maven Central nie zawiera przestarzałych modułów. Upewnij się, że projekt nie ma zależności przestarzałych modułów zestawu SDK centrum aplikacji.

  1. Pamiętaj, aby wyzwolić synchronizację narzędzia Gradle w programie Android Studio.

Teraz, po zintegrowaniu zestawu SDK w aplikacji, nadszedł czas, aby uruchomić zestaw SDK i korzystać z centrum aplikacji.

4. Uruchamianie zestawu SDK

4.1 Dodawanie metody start()

Aby korzystać z usługi App Center, musisz wyrazić zgodę na moduły, których chcesz użyć. Domyślnie żadne moduły nie są uruchamiane i podczas uruchamiania zestawu SDK należy jawnie wywołać każde z nich.
Wstaw następujący wiersz wewnątrz głównej klasy działań aplikacji — onCreatewywołanie zwrotne, aby używać usługi App Center Analytics i App Center Crash:

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

Ostrzeżenie

Nie zaleca się osadzania wpisu tajnego aplikacji w kodzie źródłowym.

Jeśli musisz uruchomić usługi App Center oddzielnie, należy wykonać następujące kroki:

  1. Skonfiguruj lub uruchom go za pomocą wpisu tajnego aplikacji.
  2. Jeśli kod można wywołać wiele razy, sprawdź, czy centrum aplikacji jest już skonfigurowane.
  3. Uruchom wymagane usługi bez wpisu tajnego aplikacji.
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);
}

Jeśli masz więcej niż jeden punkt wejścia do aplikacji (na przykład działanie linku głębokiego, usługi lub odbiornika emisji), wywołaj start klasę niestandardową aplikacji lub w każdym punkcie wejścia. W drugim przypadku sprawdź, czy centrum aplikacji jest już skonfigurowane przed start wywołaniem:

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 Zastąp symbol zastępczy kluczem tajnym aplikacji

Pamiętaj, aby zastąpić {Your App Secret} tekst rzeczywistą wartością aplikacji. Wpis tajny aplikacji można znaleźć na stronie Wprowadzenie lub stronie Ustawienia w portalu Centrum aplikacji.

Strona Wprowadzenie zawiera powyższy przykładowy kod z wpisem tajnym aplikacji, możesz po prostu skopiować i wkleić cały przykład.

W powyższym przykładzie start() pokazano, jak używać metody i uwzględnić zarówno usługę App Center Analytics, jak i awarie centrum aplikacji.

Jeśli nie chcesz używać jednej z dwóch usług, usuń odpowiedni parametr z powyższego wywołania metody.

Jeśli nie określisz jawnie każdego modułu jako parametrów w metodzie startowej, nie możesz użyć tej usługi App Center. Ponadto start() interfejs API może być używany tylko raz w cyklu życia aplikacji — wszystkie inne wywołania będą rejestrować ostrzeżenie do konsoli, a tylko moduły zawarte w pierwszym wywołaniu będą dostępne.

Na przykład — jeśli chcesz po prostu dołączyć do usługi App Center Analytics, należy zmodyfikować wywołanie interfejsu start() API w następujący sposób:

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

Program Android Studio automatycznie sugeruje wymagane instrukcje importowania po wstawieniu start() metody, ale jeśli zostanie wyświetlony błąd, że nazwy klas nie są rozpoznawane, dodaj następujące wiersze do instrukcji importu w klasie aktywności:

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

Wszystko jest ustawione na wizualizowanie danych analizy i awarii w portalu, które zestaw SDK zbiera automatycznie.

Zapoznaj się z dokumentacją dotyczącą awarii usługi App Center Analytics i App Center , aby dowiedzieć się, jak dostosowywać i korzystać z bardziej zaawansowanych funkcji obu usług.

Aby dowiedzieć się, jak rozpocząć pracę z aktualizacjami w aplikacji, zapoznaj się z dokumentacją usługi App Center Distribute.

5. Reguły tworzenia kopii zapasowych (tylko system Android)

Uwaga

Aplikacje przeznaczone dla systemu Android 6.0 (poziom 23 interfejsu API) lub nowsze mają automatycznie włączoną automatyczną kopię zapasową. 

Uwaga

Jeśli masz już plik niestandardowy z regułą tworzenia kopii zapasowej, przejdź do trzeciego kroku.

Jeśli używasz automatycznej kopii zapasowej, aby uniknąć uzyskiwania nieprawidłowych informacji o urządzeniach, wykonaj następujące kroki:

5.1. W przypadku systemu Android 11 (poziom 30 interfejsu API) lub niższego.

  1. Utwórz plikappcenter_backup_rule.xml w folderze res/xml .
  1. Otwórz plik AndroidManifest.xml projektu. android:fullBackupContent Dodaj atrybut do <application> elementu. Powinien wskazywać appcenter_backup_rule.xml plik zasobu.
android:fullBackupContent="@xml/appcenter_backup_rule"
  1. Dodaj następujące reguły kopii zapasowej do pliku 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. W przypadku systemu Android 12 (poziom 31 interfejsu API) lub nowszego.

  1. Utwórz plikappcenter_backup_rule.xml w folderze res/xml .
  1. Otwórz plik AndroidManifest.xml projektu. android:dataExtractionRules Dodaj atrybut do <application> elementu. Powinien wskazywać appcenter_backup_rule.xml plik zasobu.
android:dataExtractionRules="@xml/appcenter_backup_rule"
  1. Dodaj następujące reguły kopii zapasowej do pliku 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>