Sdílet prostřednictvím


Řešení potíží se sadou MAUI a Xamarin SDK

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.

Shromažďování podrobných protokolů

Pokyny k úpravě úrovně VERBOSEprotokolu najdete v části Další rozhraní API .
Podrobné protokoly najdete v okně Ladění>Windows>Výstup.

Problémy během instalace

  1. V případě aplikace Xamarin.Forms se ujistěte, že jsou balíčky nainstalované ve všech projektech, které odkazují na všechny knihovny. V opačném případě se zobrazí chyby.
  2. Pokud se při sestavování pro Xamarin.iOS zobrazí tato chyba: MTOUCH: Error MT3001: Could not AOT the assembly 'obj/**/Build/Microsoft.AppCenter.**.iOS.Bindings.dll' (MT3001) Potřebujete aktualizovat komponentu Xamarin.iOS na verzi 10.4.0.128 nebo novější.
  3. Pokud se vám zobrazí tato chyba při vytváření aplikace pro Xamarin.iOS: MTOUCH: Error MT5210: Native linking failed, undefined symbol: _OBJC_METACLASS_$_MS{SomeSdkClassName}. Please verify that all the necessary frameworks have been referenced and native libraries are properly linked in. (MT5210) nebo podobná chyba (MT5211 kód s podobnou zprávou zmiňující App Center), ujistěte se, že voláte AppCenter.Start před použitím rozhraní API konkrétní služby. Pokud voláte Start , ale máte tento problém, musíte aktualizovat komponentu Xamarin.iOS na verzi 10.4.0.128 nebo novější.
  4. V konzole vyhledejte protokol Assert se zprávou " Sada App Center SDK byla úspěšně nakonfigurována". Tím ověříte, že sada SDK je úspěšně nakonfigurovaná.

Analytická data se na portálu nezobrazují

  1. Ujistěte se, že jste moduly SDK integrovali správně.

  2. Ujistěte se, že je spolu s voláním Start() metody zahrnut správný tajný klíč aplikace. Přesný Start() kód můžete zkopírovat tak, že aplikaci otevřete na portálu a přejdete na stránku Začínáme.

  3. Pokud chcete zobrazit protokoly, které se odesílají do back-endu, změňte úroveň protokolu na podrobnou ve vaší aplikaci a sada SDK vytiskne protokoly v konzole. Před spuštěním SDK zavolejte API uvedené níže.

    AppCenter.LogLevel = LogLevel.Verbose;
    

    Zkontrolujte, zda protokoly uvádějí "App Center SDK byl úspěšně nakonfigurován" (na úrovni protokolu Info), a pak zkontrolujte, jestli se zobrazují protokoly požadavků HTTPS.

  4. Ujistěte se, že je vaše zařízení online.

  5. Někdy může trvat několik minut, než se protokoly zobrazí v portálu. Počkejte nějakou dobu, pokud to tak je.

  6. Pokud chcete zkontrolovat, jestli back-end App Center obdržel vaše data, přejděte ve službě Analytics do části Tok protokolů. Události by se měly zobrazit, jakmile budou odeslány.

V portálu se nezobrazují pády.

  1. Ujistěte se, že jste moduly SDK integrovali správně.

  2. Ujistěte se, že je spolu s voláním Start() metody zahrnut správný tajný klíč aplikace. Přesný Start() kód můžete zkopírovat tak, že aplikaci otevřete na portálu a přejdete na stránku Začínáme.

  3. Restartujte aplikaci po chybovém ukončení. App Center Crashes zašle protokol o pádu až po restartování. Také na Xamarin.iOS a Xamarin.Mac SDK neuloží žádné záznamy o pádu, pokud jste připojili ladicí nástroj. Ujistěte se, že ladicí program není připojený, když spadne aplikace pro iOS. Ve Xamarin.Android se může stát, že dojde k chybě, když máte připojený ladicí program, ale po zachycení neošetřené výjimky musíte pokračovat v provádění.

  4. Pokud chcete zobrazit protokoly, které se odesílají do back-endu, změňte úroveň protokolu na podrobnou ve vaší aplikaci a sada SDK vytiskne protokoly v konzole. Před spuštěním SDK zavolejte API uvedené níže.

    AppCenter.LogLevel = LogLevel.Verbose;
    

    Zkontrolujte, zda protokoly uvádějí "App Center SDK byl úspěšně nakonfigurován" (na úrovni protokolu Info), a pak zkontrolujte, jestli se zobrazují protokoly požadavků HTTPS.

  5. Nepoužívejte žádnou jinou knihovnu, která poskytuje funkce zasílání zpráv o chybách, jako jsou Xamarin Insights nebo HockeyApp. Můžete mít jenom jednu integrovanou sadu SDK pro hlášení chyb.

  6. Ujistěte se, že je vaše zařízení online.

  7. Někdy může trvat několik minut, než se protokoly zobrazí v portálu. Počkejte nějakou dobu, pokud to tak je.

  8. Pokud chcete zkontrolovat, jestli sada SDK detekovala chybu při dalším spuštění aplikace, můžete zavolat API, abyste zjistili, zda se aplikace v poslední relaci chybově ukončila a případně zobrazila upozornění. Nebo můžete rozšířit zpětné volání při chybovém ukončení, abyste zjistili, jestli se úspěšně odeslalo na server.

  9. Pokud chcete zkontrolovat, jestli back-end App Center obdržel chybu, přejděte do části Tok protokolu ve službě Analytics. Jakmile budou odeslány, měly by se tam zobrazit vaše pády.

Distribuce a aktualizace v aplikaci blokují moje automatizované testy uživatelského rozhraní

Pokud spouštíte automatizované testy uživatelského rozhraní, aktualizace povolené v rámci aplikace zablokují vaše automatizované testy uživatelského rozhraní, protože se pokusí ověřit vůči back-endu App Center. Doporučujeme nepovolit distribuci App Center pro vaše testy uživatelského rozhraní.

Google Play aplikaci po přidání DistributePlay odmítne.

Google Play odmítá aplikace, které modul používají Distribute , protože obsahuje implementaci aktualizací v aplikaci. Aby se této situaci zabránilo, sada App Center SDK má modul DistributePlay, který obsahuje zástupné prvky pro hlavní modul. Nahrazuje hlavní sestavení stubbed assemble, což napodobuje Distribute rozhraní API. V klientské aplikaci nejsou vyžadovány žádné další změny. Nemá DistributePlay žádný kód související s aktualizací v aplikaci. Pokud je po nahrazení modulu Distribute modulem DistributePlay vaše aplikace stále odmítnuta, postupujte podle následujících kroků a ověřte, že modul Distribute byl správně nahrazen:

  • Ujistěte se, že jste ve všech svých verzích pro všechny své skupiny publikování v Google Play Console nahradili DistributeDistributePlay.
  • Pokud použijete Xamarin.Forms , ujistěte se, že modul přidáte DistributePlay do sdílených i Xamarin.Android projektů.
  • Ověřte, že výstupní soubor neobsahuje Microsoft.AppCenter.Distribute.Android.Bindings.dll sestavení. Ke kontrole můžete použít analyzátor APK .

Zprávy v konzole, které značí, že databázi nebylo možné otevřít v iOSu

App Center používá SQLite k uchování protokolů před jejich odesláním do back-endu. Pokud aplikaci seskupujete s vlastní knihovnou SQLite místo toho, abyste ji používali poskytovanou operačním systémem, můžou se v konzole zobrazit chyby podobné této chybě [AppCenter] ERROR: -[MSACDBStorage executeSelectionQuery:]/147 Failed to open database a v back-endu se nezobrazí žádné analytické informace ani informace o chybovém ukončení. Aktualizujte sadu SDK na verzi 0.16.0 nebo novější.

Chraňte tajnou hodnotu App Center

Jedná app_secret se o identifikátor vaší aplikace, je potřeba vědět, na kterou aplikaci se provoz vztahuje, a nedá se použít k načtení nebo úpravě existujících dat. Pokud je vaše app_secret vystaveno, největším rizikem je posílání špatných dat do vaší aplikace, ale nebude to mít vliv na bezpečnost dat.

Pokud chcete načíst citlivá data, musíte zadat token aplikace nebo uživatele, který se vygeneruje na straně klienta. Neexistuje způsob, jak zajistit úplné zabezpečení dat na straně klienta.

Zabezpečení své aplikace můžete zlepšit použitím proměnné prostředí pro vložení tajemství aplikace do kódu. Tajný kód tak není ve vašem kódu viditelný.