Udostępnij przez


Rozwiązywanie problemów z zestawem Android SDK

Ważne

Program Visual Studio App Center został wycofany 31 marca 2025 r. z wyjątkiem funkcji analizy i diagnostyki, które będą nadal obsługiwane do 30 czerwca 2026 r. Dowiedz się więcej.

Jakie uprawnienia systemu Android są wymagane?

W zależności od używanych usług wymagane są następujące uprawnienia:

  • Wszystkie usługi: INTERNET, ACCESS_NETWORK_STATE
  • Dystrybucja: REQUEST_INSTALL_PACKAGES, DOWNLOAD_WITHOUT_NOTIFICATION

Wymagane uprawnienia są automatycznie scalane z manifestem aplikacji przez pakiet SDK.

Żadne z tych uprawnień nie wymaga zatwierdzenia użytkownika w czasie wykonywania. Wszystkie te uprawnienia są uprawnieniami czasu instalacji.

Dane analizy nie są wyświetlane w portalu

  1. Upewnij się, że moduły zestawu SDK zostały poprawnie zintegrowane.

  2. Upewnij się, że prawidłowy tajny klucz aplikacji jest dołączony wraz z wywołaniem start() metody. Możesz skopiować dokładny start() kod, otwierając aplikację w portalu i przechodząc do strony Wprowadzenie.

  3. Jeśli chcesz wyświetlić dzienniki wysyłane do zaplecza, zmień poziom dziennika na Pełne w aplikacji, a zestaw SDK wyświetli dzienniki w konsoli programu . Przed uruchomieniem zestawu SDK wywołaj poniższy interfejs API.

    AppCenter.setLogLevel(Log.VERBOSE);
    
    AppCenter.setLogLevel(Log.VERBOSE)
    

    Sprawdź, czy w dziennikach znajduje się komunikat "Zestaw SDK centrum aplikacji został pomyślnie skonfigurowany" (na poziomie informacyjnym), a następnie sprawdź, czy widzisz dzienniki żądań HTTPS.

  4. Upewnij się, że urządzenie jest w trybie online.

  5. Czasami może minąć kilka minut, zanim dzienniki pojawią się w portalu. Poczekaj chwilę, jeśli tak jest.

  6. Aby sprawdzić, czy zaplecze usługi App Center odebrało dane, przejdź do sekcji Przepływ dzienników w usłudze Analytics. Twoje zdarzenia powinny pojawić się, gdy zostaną wysłane.

Awarie nie są wyświetlane w portalu

  1. Upewnij się, że moduły zestawu SDK zostały poprawnie zintegrowane.

  2. Upewnij się, że prawidłowy tajny klucz aplikacji jest dołączony wraz z wywołaniem start() metody. Możesz skopiować dokładny start() kod, otwierając aplikację w portalu i przechodząc do strony Wprowadzenie.

  3. Uruchom ponownie aplikację po awarii. Nasz zestaw SDK przekaże dziennik awarii dopiero po ponownym uruchomieniu.

  4. Jeśli chcesz wyświetlić dzienniki wysyłane do zaplecza, zmień poziom dziennika na Pełne w aplikacji, a zestaw SDK wyświetli dzienniki w konsoli programu . Przed uruchomieniem zestawu SDK wywołaj poniższy interfejs API.

    AppCenter.setLogLevel(Log.VERBOSE);
    
    AppCenter.setLogLevel(Log.VERBOSE)
    

    Sprawdź, czy w dziennikach znajduje się komunikat "Zestaw SDK centrum aplikacji został pomyślnie skonfigurowany" (na poziomie informacyjnym), a następnie sprawdź, czy widzisz dzienniki żądań HTTPS.

  5. Upewnij się, że urządzenie jest w trybie online.

  6. Czasami może minąć kilka minut, zanim dzienniki pojawią się w portalu. Poczekaj chwilę, jeśli tak jest.

  7. Jeśli chcesz sprawdzić, czy zestaw SDK wykrył awarię podczas następnego uruchomienia aplikacji, możesz wywołać interfejs API, aby sprawdzić, czy aplikacja uległa awarii w ostatniej sesji i wyświetli alert. Możesz też rozszerzyć wywołanie zwrotne awarii, aby sprawdzić, czy został pomyślnie wysłany na serwer.

  8. Aby sprawdzić, czy backend App Center odebrał awarię, przejdź do sekcji Przepływ logów w usłudze Analytics. Awarie powinny się tam pojawić, gdy tylko zostaną wysłane.

Aktualizacje dystrybucji i aplikacji blokują automatyczne testy interfejsu użytkownika

Jeśli uruchamiasz zautomatyzowane testy interfejsu użytkownika, włączone aktualizacje w aplikacji zablokują automatyczne testy interfejsu użytkownika, ponieważ będą one próbowały uwierzytelnić się w zapleczu centrum aplikacji. Zalecamy, aby nie włączać usługi App Center Distribute dla testów interfejsu użytkownika.

Jaki jest wpływ zestawu SDK centrum aplikacji na rozmiar mojej aplikacji dla systemu Android?

Zestaw SDK centrum aplikacji został zaprojektowany z myślą o minimalnym wpływie na rozmiar instalacji aplikacji.

Aby to zilustrować, utworzyliśmy pustą aplikację java przy użyciu szablonu "pusta aplikacja" programu Android Studio. Skompilujemy aplikację w konfiguracji wydania i zainstalujemy ją na urządzeniu z systemem Android 7.0.

Testy zostały uruchomione bez włączonej funkcji Proguard.

Poniższe liczby mogą się różnić i zależeć od ustawień kompilacji, więc traktuj je jako orientacyjną wskazówkę. Wpływ zestawu SDK na aplikację będzie jeszcze niższy, jeśli używasz narzędzia Proguard.

Używane moduły usługi App Center Wyeksportowany rozmiar pliku APK Rozmiar instalacji (zgłoszony przez urządzenie)
Brak (pusta aplikacja) 1,3 MB 3,43 MB
Analiza usługi App Center 1,4 MB 3,63 MB
Awaria usługi App Center 1,4 MB 3,70 MB
Dystrybucja w Centrum aplikacji 1,4 MB 3,71 MB
Wszystkie moduły usługi App Center 1,4 MB 3,82 MB

Chroń tajną wartość centrum aplikacji

app_secret jest identyfikatorem aplikacji, który jest wymagany, aby wiedzieć, do której aplikacji odnosi się ruch sieciowy, ale nie może być używany do pobierania ani edytowania istniejących danych. Jeśli twoje app_secret jest narażone, największym ryzykiem jest wysłanie złych danych do aplikacji, ale nie wpłynie to na bezpieczeństwo danych.

Aby pobrać wszelkie poufne dane, należy podać token aplikacji/użytkownika, który jest generowany po stronie klienta. Nie ma możliwości całkowitego zabezpieczenia danych po stronie klienta.

Zabezpieczenie aplikacji można poprawić, używając zmiennej środowiskowej do wstrzykiwania tajnych danych aplikacji do kodu. W ten sposób sekret nie jest widoczny w kodzie.

Migracja z programu jCenter do usługi Maven Central

Ze względu na zakończenie obsługi programu jCenter wszystkie nasze zestawy zostały przeniesione do repozytorium Maven Central. Aby użyć centrum aplikacji, musisz dodać mavenCentral() do repozytorium w pliku Gradle, jak pokazano poniżej:

repositories {
   google()
   mavenCentral()
}