Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Důležité
Visual Studio App Center bylo vyřazeno 31. března 2025 s výjimkou funkcí Analýzy a diagnostiky, které se budou dál podporovat až do 30. června 2026. Další informace.
Nastavte úroveň protokolu
Množství zpráv protokolu můžete řídit v App Centeru, které se zobrazují v LogCat.
AppCenter.setLogLevel() Pomocí rozhraní API můžete povolit další protokolování při ladění. Úrovně protokolu odpovídají úrovním, které jsou definovány v android.util.Log. Ve výchozím nastavení je nastaveno na ASSERT pro neladitelné aplikace a na WARN pro laditelné aplikace. Úroveň protokolu můžete kdykoli nastavit.
Pokud chcete mít co nejvíce zpráv protokolu, použijte Log.Verbose.
AppCenter.setLogLevel(Log.VERBOSE);
AppCenter.setLogLevel(Log.VERBOSE)
Identifikace instalací
Sada App Center SDK vytvoří identifikátor UUID pro každé zařízení po instalaci aplikace. Tento identifikátor zůstane stejný pro zařízení při aktualizaci aplikace a vygeneruje se nový jenom v případě, že se aplikace znovu nainstaluje nebo uživatel ručně odstraní všechna data aplikace. Následující rozhraní API je užitečné pro účely ladění.
AppCenter.getInstallId();
AppCenter.getInstallId()
Toto rozhraní API je asynchronní. Další informace najdete v naší příručce k asynchronním rozhraním API služby App Center .
Poznámka:
Tato metoda se musí použít pouze po spuštění AppCenter, vždy se vrátí null před zahájením.
Identifikace uživatelů
Sada App Center SDK podporuje nastavení ID uživatele, které se používá k rozšíření hlášení o chybách. Pokud chcete použít tuto funkci:
- Nakonfigurujte sadu App Center SDK voláním
AppCenter.start(...)podle popisu v příručce Začínáme se sadou App Center SDK. - Nastavte
userIDv sadě SDK pomocí následujícího kódu:
AppCenter.setUserId("your-user-id");
AppCenter.setUserId("your-user-id")
Po nastavení uživatelského ID můžete pomocí vyhledávací funkce v App Center vyhledat konkrétní zprávy o chybách spojené s tímto ID. Další informace najdete v dokumentaci ke vyhledávání v App Centeru.
Poznámka:
Hodnota ID uživatele je omezená na 256 znaků. Zobrazí se se zprávami o chybách, ale nepoužije se pro agregaci nebo počty ovlivněných uživatelů. Pokud nastavíte ID uživatele vícekrát, použije se pouze poslední ID uživatele. Před spuštěním každé aplikace musíte nastavit ID uživatele, protože tato hodnota není uložená sadou SDK mezi spuštěními.
Zakázat všechny služby během provozu
Pokud chcete zakázat všechny služby App Center najednou, použijte setEnabled() rozhraní API. Pokud je tato možnost zakázaná, sada SDK nepředá žádné informace do App Centeru.
AppCenter.setEnabled(false);
AppCenter.setEnabled(false)
Pokud chcete znovu povolit všechny služby, použijte stejné rozhraní API, ale předejte true ho jako parametr.
AppCenter.setEnabled(true);
AppCenter.setEnabled(true)
Stav se zachová v úložišti zařízení napříč spuštěním aplikace.
Toto rozhraní API je asynchronní. Další informace najdete v naší příručce k asynchronním rozhraním API služby App Center .
Poznámka:
Tuto metodu je nutné použít pouze po AppCenter spuštění.
Zákaz síťových požadavků
V sadě App Center SDK jsou ve výchozím nastavení povolené síťové požadavky. Pokud chcete odesílat data, která sada App Center SDK shromažďuje se souhlasem uživatele, můžete vypnout automatické odesílání dat.
AppCenter.setNetworkRequestsAllowed(false);
AppCenter.setNetworkRequestsAllowed(false)
V tomto případě sada App Center SDK bude dál shromažďovat data, ale bude odeslána pouze v případě, že budou povoleny síťové požadavky.
AppCenter.setNetworkRequestsAllowed(true);
AppCenter.setNetworkRequestsAllowed(true)
Poznámka:
Tato hodnota se uchovává mezi starty.
Kdykoli můžete zkontrolovat, jestli je odesílání dat v sadě App Center SDK povolené nebo ne.
AppCenter.isNetworkRequestsAllowed();
AppCenter.isNetworkRequestsAllowed()
Poznámka:
Hodnota uložená dříve v SharedPreferences se ignoruje, dokud se AppCenter nespustí.
Vrátí poslední sadu hodnot pomocí setNetworkRequestsAllowed nebo true pokud se hodnota před spuštěním AppCenter nezměnila.
Změna stavu služby za běhu
Povolte nebo zakažte služby za běhu pomocí následujícího kódu:
Analytics.setEnabled(false);
Analytics.setEnabled(false)
Poznámka:
Tuto metodu je nutné použít pouze po Analytics spuštění.
Kontrola, jestli je služba App Center povolená
Můžete také zkontrolovat, jestli je App Center povolený nebo ne.
AppCenter.isEnabled();
AppCenter.isEnabled()
Toto rozhraní API je asynchronní. Další informace najdete v naší příručce k asynchronním rozhraním API služby App Center .
Poznámka:
Tato metoda se musí použít pouze po spuštění AppCenter, vždy se vrátí false před zahájením.
Kontrola verze sady App Center SDK za běhu
Můžete získat verzi sady App Center SDK, kterou aktuálně používáte.
AppCenter.getSdkVersion();
AppCenter.getSdkVersion()
Velikost úložiště
Při použití sady App Center SDK se protokoly ukládají místně na zařízení. Velké protokoly můžou zabírat hodně místa, takže se můžete rozhodnout omezit velikost místní databáze. Je také užitečné ve spojení s rozhraními pause a resume API. Pokud očekáváte, že se dlouho pozastaví, můžete k ukládání dalších událostí použít větší velikost databáze.
K nastavení velikosti místní databáze můžete použít setMaxStorageSize rozhraní API. Rozhraní API je asynchronní a zpětné volání je spuštěno, když spustíte služby App Center. Z tohoto důvodu setMaxStorageSize musí být volána před vaším voláním AppCenter.start(...). Rozhraní API můžete zavolat pouze jednou.
// Use 20 MB for storage.
AppCenter.setMaxStorageSize(20 * 1024 * 1024L).thenAccept(new AppCenterConsumer<Boolean>() {
@Override
public void accept(Boolean success) {
// The success parameter is false when the size can't be honored.
}
});
AppCenter.start("{Your App Secret}", Analytics.class);
// Use 20 MB for storage.
AppCenter.setMaxStorageSize(20 * 1024 * 1024).thenAccept {
// The success parameter (it) is false when the size can't be honored.
}
AppCenter.start(application, "{Your App Secret}", Analytics::class.java)
Pokud nenastavíte maximální velikost úložiště, sada SDK použije výchozí maximální velikost 10 MB. Minimální velikost, kterou můžete nastavit, je 20 kB.
Poznámka:
Skutečná maximální velikost úložiště může být vyšší než hodnota, kterou jste zvolili. Funkce SQLite zaokrouhlí velikost až na další násobek velikosti stránky. Sada App Center SDK používá velikost stránky 4 kB.
Poznámka:
Protokoly starší než 25 dnů se zahodí.
Přidání distribučních prodejen
Ve výchozím nastavení fungují aktualizace v aplikaci pro aplikace nainstalované z definovaného seznamu obchodů. Pokud chcete distribuovat aplikaci prostřednictvím obchodů, která nejsou součástí předdefinovaného seznamu obchodů, můžete před spuštěním app Center přidat potřebný instalační program balíčku pomocí následujícího rozhraní API:
Set<String> stores = new HashSet<String>();
stores.add("com.store1.packageinstaller");
stores.add("com.store2.packageinstaller");
Distribute.addStores(stores);
Poznámka:
Nepřidávejte obchody, jako je Google Play, abyste se vyhnuli žádným omezením.
Neúspěšná volání rozhraní API
Existuje mnoho důvodů, proč může zpětné volání selhat.
- Zadaná velikost je neplatná hodnota (menší než 20 kB nebo větší než 140 TB).
- Aktuální velikost databáze je větší než zadaná maximální velikost.
- Rozhraní API již bylo voláno. Můžete ho nakonfigurovat jenom jednou pro každý proces.
- Rozhraní API bylo voláno po
AppCenter.start(...).
Při řešení potíží s konfigurací můžete zkontrolovat upozornění a chyby v konzole pomocí AppCenter značky protokolu.
Asynchronní rozhraní API v sadě Android SDK
Asynchronní rozhraní API vrací AppCenterFuture objekt místo přímého vrácení výsledku.
Můžete buď zavolat get() na objekt budoucnost, aby synchronně čekal na výsledek, nebo poskytnout callback podobný tomuto, s vyplněním příslušných návratových typů při volání daného rozhraní API.
AppCenterFuture<{ReturnType}> future = {AnyAsyncApi}();
future.thenAccept(new AppCenterConsumer<{ReturnType}>() {
@Override
public void accept({ReturnType} result) {
// do something with result, this is called back in UI thread.
}
});
val future = {AnyAsyncApi}()
future.thenAccept(object : AppCenterConsumer<{ReturnType}> {
override fun accept(t: {ReturnType}?) {
// do something with result, this is called back in UI thread.
}
})
Pokud se chcete vyhnout blokování vlákna uživatelského rozhraní, které způsobuje zpomalení aplikace, zvažte použití thenAccept zpětného volání po celou dobu.
V pracovním vlákně můžete volat {AnyAsyncApi}().get().
Příklad zpětného volání:
AppCenter.isEnabled().thenAccept(new AppCenterConsumer<Boolean>() {
@Override
public void accept(Boolean enabled) {
Log.d("MyApp", "AppCenter.isEnabled=" + enabled);
}
});
AppCenter.isEnabled().thenAccept { enabled ->
Log.d("MyApp", "AppCenter.isEnabled=$enabled")
}
Synchronní příklad:
boolean enabled = AppCenter.isEnabled().get();
val enabled = AppCenter.isEnabled().get()