Začínáme s MAUI a Xamarinem
Důležité
31. března 2025 je naplánované vyřazení z provozu. I když můžete dál používat Visual Studio App Center, dokud ho úplně vyřadíte, existuje několik doporučených alternativ, na které můžete zvážit migraci.
Přečtěte si další informace o časových osách a alternativách podpory.
Sada App Center SDK používá modulární architekturu, takže můžete používat libovolnou nebo všechny služby.
Začněme nastavením sady App Center .NET SDK ve vaší aplikaci tak, aby používala analýzy App Centeru a chybové ukončení app center. Pokud chcete do aplikace přidat distribuci v App Centeru, podívejte se do dokumentace k distribuci app center.
1. Požadavky
Než začnete, ujistěte se, že jsou splněny následující požadavky:
- Projekt je nastavený v sadě Visual Studio nebo Visual Studio pro Mac.
- Cílíte na zařízení se systémem iOS 11.0 nebo novějším nebo Androidem 5.0 (úroveň rozhraní API 21) nebo novějším.
- Nepoužíváte žádnou jinou sadu SDK, která poskytuje funkci zasílání zpráv o chybách.
Podporované platformy:
- MAUI iOS
- MAUI Android
- MAUI Windows
- .NET 6.0 macOS
- Xamarin.Android
- Xamarin.iOS
- Xamarin.Mac
- Xamarin.Forms (aplikace pro iOS, macOS Pro Android, UPW a desktopové aplikace pro Windows)
1.1 MAUI
Poznámka
V současné době není na portálu App Center žádná platforma MAUI . Použijte Xamarin pro iOS a Android a UPW pro Windows.
1.2 O Xamarin.Androidu
Na portálu App Center vytvořte aplikaci s operačním systémem Android a platformou Xamarin .
1.3 O Xamarin.iOS
Na portálu App Center vytvořte aplikaci s operačním systémem iOS a platformou Xamarin .
1.4 O Xamarin.Mac
Na portálu App Center vytvořte aplikaci s operačním systémem macOS a platformou Xamarin .
Upozornění
Existuje známý problém, který brání nahrání aplikace do App Store. Sledujte průběh na GitHubu.
1.5 O Xamarin.Forms (iOS, macOS, Android, UPW a Desktop Windows)
V App Center můžete vytvořit 5 aplikací – jednu pro každý operační systém.
Jako platformu pro aplikace pro Android, iOS a macOS musíte vybrat Xamarin (aplikace pro UPW a desktopové aplikace nemají možnost Xamarin).
Pro desktopové aplikace windows a macOS musíte nakonfigurovat kompatibilitu projektu s platformou Xamarin.Forms .
2. Vytvořte aplikaci na portálu App Center a získejte tajný kód aplikace.
Pokud jste už aplikaci vytvořili na portálu App Center, můžete tento krok přeskočit.
- Přejděte na appcenter.ms.
- Zaregistrujte se nebo se přihlaste a v pravém horním rohu portálu stiskněte modré tlačítko Přidat novou a v rozevírací nabídce vyberte Přidat novou aplikaci .
- Zadejte název a volitelný popis aplikace.
- Vyberte odpovídající operační systém a platformu v závislosti na vašem projektu, jak je popsáno výše.
- V pravém dolním rohu klikněte na tlačítko Přidat novou aplikaci.
Po vytvoření aplikace můžete získat její tajný kód aplikace na stránce Nastavení na portálu App Center. V pravém horním rohu stránky Nastavení klikněte na tři svislé tečky a výběrem Copy app secret
získáte tajný kód aplikace.
3. Přidání sady App Center SDK do řešení
Sadu App Center SDK je možné integrovat pomocí sady Visual Studio nebo konzoly Správce balíčků.
Poznámka
Sada App Center SDK používá sestavení se silnými názvy pro kompatibilitu s aplikacemi, které používají znaménko se silným názvem.
Visual Studio pro Mac
- Otevřete sadu Visual Studio.
- Klikněte na Otevřít soubor> a zvolte řešení.
- V navigátoru řešení klikněte pravým tlačítkem na oddíl Balíčky a zvolte Přidat balíčky NuGet....
- Vyhledejte App Center a vyberte App Center Analytics a App Center Crashes.
- Klikněte na Přidat balíčky.
Visual Studio pro Windows
- Otevřete sadu Visual Studio.
- Klikněte na Otevřít soubor> a zvolte řešení.
- V navigátoru řešení klikněte pravým tlačítkem na Odkazy a zvolte Spravovat balíčky NuGet.
- Vyhledejte App Center a nainstalujte balíčky Microsoft.AppCenter.Analytics a Microsoft.AppCenter.Crashes .
Konzola Správce balíčků
- Otevřete konzolu v sadě Visual Studio. Chcete-li to provést, zvolte Nástroje> Správce >balíčků NuGetKonzola správce balíčků.
- Pokud pracujete v Visual Studio pro Mac, ujistěte se, že máte nainstalovaná rozšíření Pro správu balíčků NuGet. K tomu zvolteRozšířenísady Visual Studio>, vyhledejte NuGet a v případě potřeby nainstalujte.
- V konzole zadejte následující příkaz:
Install-Package Microsoft.AppCenter.Analytics
Install-Package Microsoft.AppCenter.Crashes
Teď, když jste sadu SDK integrovali do aplikace, je čas spustit sadu SDK a využít služby App Center.
Poznámka
Pokud používáte sadu App Center SDK v přenosném projektu (například Xamarin.Forms), musíte nainstalovat balíčky v každém z projektů: v přenosném, Androidu a iOS. Chcete-li to provést, měli byste otevřít každý dílčí projekt a postupovat podle odpovídajících kroků popsaných v částech Visual Studio pro Mac nebo Visual Studio pro Windows.
4. Spuštění sady SDK
Pokud chcete používat App Center, musíte se přihlásit k modulům, které chcete používat. Ve výchozím nastavení se nespouští žádné moduly a při spuštění sady SDK je nutné explicitně volat každý z nich.
4.1 Přidání příkazů using
Přidejte příslušné obory názvů do následujících souborů:
- MAUI a Xamarin.Forms -
App.xaml.cs
- Xamarin.iOS a Xamarin.Mac -
AppDelegate.cs
- Xamarin.Android -
MainActivity.cs
using Microsoft.AppCenter;
using Microsoft.AppCenter.Analytics;
using Microsoft.AppCenter.Crashes;
4.2 Přidání Start()
metody
4.2.1 MAUI a Xamarin.Forms
Na portálu App Center musíte vytvořit různé aplikace pro každou platformu. Pro každou aplikaci budete mít jiný tajný kód aplikace. Otevřete soubor App.xaml.cs projektu a přidejte následující řádek do konstruktoru (nebo do OnStart()
metody pro Xamarin.Forms).
AppCenter.Start("ios={Your App Secret};macos={Your App Secret};android={Your App Secret};uwp={Your App Secret};windowsdesktop={Your App Secret}", typeof(Analytics), typeof(Crashes));
Pokud potřebujete spustit služby App Center samostatně, měli byste:
- Nakonfigurujte nebo spusťte tajný kód aplikace.
- Pokud je možné kód volat vícekrát, zkontrolujte, jestli je app Center už nakonfigurovaný.
- Spusťte požadované služby bez tajného kódu aplikace.
AppCenter.Configure("ios={Your App Secret};macos={Your App Secret};android={Your App Secret};uwp={Your App Secret};windowsdesktop={Your App Secret}");
if (AppCenter.Configured)
{
AppCenter.Start(typeof(Analytics));
AppCenter.Start(typeof(Crashes));
}
4.2.2 Xamarin.Android
Poznámka
Pokud používáte sadu HockeyApp SDK pro Android, nezapomeňte po sadě App Center SDK inicializovat sadu HockeyApp SDK.
Otevřete soubor MainActivity.cs projektu a přidejte volání do Start()
metody.OnCreate()
AppCenter.Start("{Your App Secret}", typeof(Analytics), typeof(Crashes));
Poznámka
Pokud má vaše aplikace služby na pozadí nebo několik vstupních bodů, jako je přijímač všesměrového vysílání, exportované aktivity nebo poskytovatele obsahu, doporučujeme místo toho spustit AppCenter
Application.OnCreate
zpětné volání.
4.2.3 Xamarin.iOS a Xamarin.Mac
Poznámka
V aplikaci není možné mít více než jednu aktivní sadu SDK pro hlášení chyb. Zakažte funkci zasílání zpráv o chybách ostatních sad SDK, abyste měli jistotu, že App Center dokáže zachytit chyby.
Otevřete soubor projektu AppDelegate.cs
a přidejte Start()
volání do metody.FinishedLaunching()
AppCenter.Start("{Your App Secret}", typeof(Analytics), typeof(Crashes));
Poznámka
Pokud používáte chybové ukončení, musíte tuto metodu volat v uživatelském rozhraní nebo hlavním vlákně a vyhnout se spouštění úloh na pozadí, dokud Start
se metoda nevrátí.
Důvodem je to, že jakákoli výjimka odkazu null zachycená z jiného vlákna při inicializaci chybových ukončení může způsobit nativní chybové ukončení a ignorovat klauzuli catch.
Jakmile se AppCenter.Start
metoda vrátí, je bezpečné znovu vyzkoušet nebo zachytit výjimky odkazu null.
Další informace o příčině tohoto problému s časováním najdete v článku Signály a reportéry chyb třetích stran .
Upozornění
Tajný kód aplikace se nedoporučuje vkládat do zdrojového kódu.
Důležité
Složené závorky ukazují, kam umístit skutečné tajné kódy aplikace, do hovoru nevkládejte složené závorky Start
.
Poznámka
Pro aplikaci pro iOS není možné mít v aplikaci více než jednu aktivní sadu SDK pro zasílání zpráv o chybách. Zakažte funkci zasílání zpráv o chybách ostatních sad SDK, abyste měli jistotu, že App Center dokáže zachytit chyby.
4.3 Nahrazení zástupného symbolu tajným kódem aplikace
Nezapomeňte nahradit {Your App Secret}
text skutečnou hodnotou pro vaši aplikaci. Tajný kód aplikace najdete na stránce Začínáme nebo na stránce Nastavení na portálu App Center.
Stránka Začínáme obsahuje výše uvedenou ukázku kódu s tajným kódem aplikace. Můžete zkopírovat a vložit celou ukázku.
Výše uvedený příklad ukazuje, jak používat metodu Start()
a zahrnuje analýzu App Center i chybové ukončení app center.
Pokud nechcete použít jednu z těchto dvou služeb, odeberte odpovídající parametr z výše uvedeného volání metody.
Pokud v metodě start explicitně nezadáte jednotlivé moduly jako parametry, nemůžete tuto službu App Center použít. Kromě toho Start()
se rozhraní API dá v životním cyklu aplikace použít jenom jednou – všechna ostatní volání zahlásí upozornění do konzoly a budou dostupné jenom moduly zahrnuté v prvním volání.
Například pokud chcete připojit k App Center Analytics, měli Start()
byste upravit volání takto:
4.3.1 MAUI a Xamarin.Forms
AppCenter.Start("ios={Your App Secret};macos={Your App Secret};android={Your App Secret};uwp={Your App Secret};windowsdesktop={Your App Secret}", typeof(Analytics));
4.3.2 Xamarin Native
AppCenter.Start("{Your App Secret}", typeof(Analytics));
Skvělé, na portálu, který sada SDK shromažďuje automaticky, můžete vizualizovat data analýzy a chybových ukončení.
Informace o přizpůsobení a používání pokročilejších funkcí obou služeb najdete v dokumentaci k App Center Analytics a chybám App Center .
Informace o tom, jak začít s aktualizacemi v aplikacích, najdete v dokumentaci k distribuci app center.
Poznámka
Pomocí přenosných rozhraní API z Xamarin Forms uvidíte rozhraní API ze všech modulů, ale ne všechna tato rozhraní API jsou podporovaná na platformách UPW a Windows Desktop a při spouštění v aplikacích upw a desktopových aplikacích windows nedělají nic. Konkrétně UPW a desktopová verze Windows nepodporuje následující modul: Distribuovat. Jakákoli metoda s návratovým typem by vrátila buď null
(pro objekty), 0
(pro čísla), nebo false
(pro logické hodnoty) v upw a desktopové aplikaci windows.
5. Pravidla zálohování (jenom Android)
Poznámka
Aplikace, které cílí na Android 6.0 (úroveň rozhraní API 23) nebo vyšší, mají automatické zálohování povolené automaticky.
Poznámka
Pokud už máte vlastní soubor s pravidly zálohování, přepněte na třetí krok.
Pokud používáte automatické zálohování, abyste se vyhnuli získání nesprávných informací o zařízeních, postupujte podle následujících kroků:
5.1. Pro Android 11 (úroveň rozhraní API 30) nebo nižší.
- Vytvořte appcenter_backup_rule.xml soubor ve složce Resources/xml .
- Otevřete souborAndroidManifest.xml projektu.
android:fullBackupContent
Přidejte atribut do elementu<application>
. Měl by odkazovat na soubor prostředkuappcenter_backup_rule.xml .
android:fullBackupContent="@xml/appcenter_backup_rule"
- Do souboruappcenter_backup_rule.xml přidejte následující pravidla zálohování:
<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. Pro Android 12 (úroveň rozhraní API 31) nebo vyšší.
- Vytvořte appcenter_backup_rule.xml soubor ve složce Resources/xml .
- Otevřete souborAndroidManifest.xml projektu.
android:dataExtractionRules
Přidejte atribut do elementu<application>
. Měl by odkazovat na soubor prostředkuappcenter_backup_rule.xml .
android:dataExtractionRules="@xml/appcenter_backup_rule"
- Do souboruappcenter_backup_rule.xml přidejte následující pravidla zálohování:
<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>