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

Důležité

Visual Studio App Center je naplánované k vyřazení na 31. března 2025. I když můžete Visual Studio App Center dál používat, dokud ho úplně nevyřadíte, existuje několik doporučených alternativ, na které můžete migraci zvážit.

Přečtěte si další informace o časových osách a alternativách podpory.

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

Pokyny k úpravě úrovně protokolu na VERBOSEnajdete v části Další rozhraní API .
Podrobné protokoly najdete v okně Ladění>výstupusystému Windows>.

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 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) Musíte aktualizovat komponentu Xamarin.iOS na verzi 10.4.0.128 nebo novější.
  3. Pokud se při sestavování pro Xamarin.iOS zobrazí tato chyba nebo 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) podobná chyba (MT5211 kód s podobnou zprávou zmiňující App Center), nezapomeňte před použitím rozhraní API konkrétní služby volat AppCenter.Start . 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 se ověří, že je sada SDK úspěšně nakonfigurovaná.

Analytická data se nezobrazují na portálu

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

  2. Ujistěte se, že spolu s voláním Start() metody je zahrnutý správný tajný kód 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 ve vaší aplikaci na Podrobné a sada SDK vytiskne protokoly v konzole. Před spuštěním sady SDK zavolejte níže uvedené rozhraní API.

    AppCenter.LogLevel = LogLevel.Verbose;
    

    Zkontrolujte protokoly "Sada App Center SDK se úspěšně nakonfigurovala" (na úrovni protokolu informací) 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 na portálu proberou. V takovém případě nějakou dobu počkejte.

  6. Pokud chcete zkontrolovat, jestli back-end App Center přijal vaše data, přejděte do části Tok protokolu ve službě Analytics. Vaše události by se měly zobrazit po odeslání.

Chybové ukončení se na portálu nezobrazují

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

  2. Ujistěte se, že spolu s voláním Start() metody je zahrnutý správný tajný kód 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. Po chybovém ukončení restartujte aplikaci. Při chybovém ukončení App Center se protokol chybových ukončení předá až po restartování. V Xamarin.iOS a Xamarin.Mac sdk navíc neuloží žádný protokol chybových ukončení, pokud připojíte ladicí program. Ujistěte se, že ladicí program není připojený při chybovém ukončení aplikace pro iOS. V Xamarin.Android může dojít k chybovému ukončení, když máte připojený ladicí program, ale po přerušení neošetřené výjimky je potřeba pokračovat v provádění.

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

    AppCenter.LogLevel = LogLevel.Verbose;
    

    Zkontrolujte protokoly "Sada App Center SDK se úspěšně nakonfigurovala" (na úrovni protokolu informací) a pak zkontrolujte, jestli se zobrazují protokoly požadavků HTTPS.

  5. Nepoužívejte žádnou jinou knihovnu, která poskytuje funkci zasílání zpráv o chybách, například 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 na portálu proberou. V takovém případě nějakou dobu počkejte.

  8. Pokud chcete zkontrolovat, jestli sada SDK zjistila chybové ukončení při příštím spuštění aplikace, můžete voláním rozhraní API zkontrolovat, jestli aplikace havarovala v poslední relaci a jestli se zobrazilo upozornění. Nebo můžete zpětné volání při selhání rozšířit a zjistit, jestli se úspěšně odeslalo na server.

  9. Pokud chcete zkontrolovat, jestli back-end App Center obdržel chybové ukončení, přejděte ve službě Analytics do části Tok protokolu. Po odeslání by se tam měla objevit chyba.

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

Pokud spouštíte automatizované testy uživatelského rozhraní, povolené aktualizace v aplikaci zablokují vaše automatizované testy uživatelského rozhraní, protože se pokusí ověřit v back-endu App Center. Pro testy uživatelského rozhraní doporučujeme nepovolovat distribuci v App Center.

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

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

  • Ujistěte se, že jste ve všech verzích nahradili Distribute za DistributePlay pro všechny skupiny publikování v konzole Google Play.
  • Pokud používáte Xamarin.Forms , nezapomeňte modul přidat DistributePlay do sdílených projektů i Xamarin.Android projektů.
  • Ověřte, že výstupní soubor neobsahuje Microsoft.AppCenter.Distribute.Android.Bindings.dll sestavení. Ke kontrole můžete použít apk Analyzer .

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

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

Ochrana hodnoty tajného kódu app center

Je app_secret identifikátor vaší aplikace, musí 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 zařízení vystavené, je největším rizikem odeslání špatných dat do aplikace, ale nebude to mít vliv na zabezpečení dat.

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

Zabezpečení aplikace můžete zlepšit použitím proměnné prostředí, která vloží tajný kód aplikace do kódu. Tajný kód se tak v kódu nezobrazí.