Sdílet prostřednictvím


Začínáme s MAUI a Xamarinem

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.

Sada App Center SDK používá modulární architekturu, abyste mohli používat libovolnou nebo všechny služby.

Pojďme začít s nastavením sady App Center .NET SDK ve vaší aplikaci, abyste mohli používat App Center Analytics a App Center Crashes. Pokud chcete do aplikace přidat distribuci App Center, 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:

  • Váš projekt je nastavený v sadě Visual Studio nebo v sadě Visual Studio pro Mac.
  • Cílíte na zařízení s iOSem 11.0 nebo novějším nebo Androidem 5.0 (rozhraní API úrovně 21) nebo novějším.
  • Nepoužíváte žádnou jinou sadu SDK, která poskytuje funkce 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 (desktopové aplikace pro iOS, macOS Android, UPW a Windows)

1.1 MAUI

Poznámka:

V současné době na portálu App Center neexistuje žádná platforma MAUI . Použijte Xamarin pro iOS a Android a UPW pro Windows.

1.2 O Xamarin.Android

Vytvořte aplikaci na portálu App Center s Androidem jako operačním systémem a Xamarinem jako platformou.

1.3 O Xamarin.iOS

Vytvořte aplikaci na portálu App Center s iOSem jako operačním systémem a Xamarinem jako platformou.

1.4 O Xamarin.Mac

Vytvořte aplikaci na portálu App Center s macOS jako operačním systémem a Xamarinem jako platformou.

Výstraha

Existuje známý problém, který brání nahrání aplikace do App Storu. Sledujte průběh na GitHubu.

1.5 O Xamarin.Forms (iOS, macOS, Android, UWP a Windows pro stolní počítače)

Vytvořte v Centru aplikací 5 aplikací – jednu pro každý operační systém.

Musíte vybrat Xamarin jako platformu pro aplikace pro Android, iOS a macOS (upW a desktopové aplikace nemají možnost Xamarin).

Pro desktopové aplikace windows a macOS musíte nakonfigurovat projekt tak, aby byl kompatibilní s platformou Xamarin.Forms .

2. Vytvoření aplikace na portálu App Center pro získání tajného kódu aplikace

Pokud jste už aplikaci vytvořili na portálu App Center, můžete tento krok přeskočit.

  1. Přejděte na appcenter.ms.
  2. Zaregistrujte se nebo se přihlaste a stiskněte modré tlačítko v pravém horním rohu portálu s textem Přidat nový a v rozevírací nabídce vyberte Přidat novou aplikaci .
  3. Zadejte název a volitelný popis aplikace.
  4. V závislosti na vašem projektu vyberte odpovídající operační systém a platformu, jak je popsáno výše.
  5. Klikněte na tlačítko v pravém dolním rohu s textem Přidat novou aplikaci.

Jakmile vytvoříte aplikaci, můžete tajný kód aplikace získat na stránce Nastavení na portálu App Center. V pravém horním rohu stránky Nastavení klikněte na trojité svislé tečky a vyberte Copy app secret tajný kód aplikace.

3. Přidání sady App Center SDK do vašeho ř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ým jménem pro kompatibilitu s aplikacemi, které používají silné pojmenování.

Visual Studio pro Mac

  • Otevřete 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 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. Provedete to tak, že zvolíte Nástroje>, Správce balíčků NuGet> a Konzolu Správce balíčků.
  • Pokud pracujete v sadě Visual Studio pro Mac, ujistěte se, že jste nainstalovali rozšíření správy balíčků NuGet. Pro tento úkol vyberte Visual Studio>rozšíření, 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žívat 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 balíčky nainstalovat do každého z projektů: přenosné, Android a iOS. K tomu byste měli otevřít každý dílčí projekt a postupovat podle příslušných kroků popsaných v části 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žít. Ve výchozím nastavení nejsou spuštěny žádné moduly a při spuštění sady SDK je nutné explicitně volat jednotlivé moduly.

Přidejte příkazy using

Do následujících souborů přidejte příslušné obory názvů:

  • 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 potřebujete 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 do konstruktoru (nebo v OnStart() metodě pro Xamarin.Forms) přidejte následující řádek.

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:

  1. Nakonfigurujte nebo spusťte ji s App Secretem.
  2. Pokud se kód dá volat vícekrát, zkontrolujte, jestli je App Center už nakonfigurované.
  3. 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 HockeyApp SDK pro Android, nezapomeňte inicializovat HockeyApp SDK až po App Center SDK.

Otevřete soubor MainActivity.cs projektu a přidejte Start() volání do OnCreate() metody.

AppCenter.Start("{Your App Secret}", typeof(Analytics), typeof(Crashes));

Poznámka:

Pokud má vaše aplikace služby na pozadí nebo více vstupních bodů, jako je příjemce vysílání, exportované aktivity nebo poskytovatelé obsahu, doporučujeme místo toho začít AppCenter v zpětném Application.OnCreate volání.

4.2.3 Xamarin.iOS a Xamarin.Mac

Poznámka:

Ve vaší aplikaci není možné mít více než jedno aktivní 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 FinishedLaunching() metody.

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 metoda Start nevrátí. Důvodem je, že jakákoli výjimka nulového odkazu zachycená z jiného vlákna, zatímco při inicializaci chybových ukončení může dojít k nativnímu chybovému ukončení a ignorovat klauzuli catch. Jakmile metoda AppCenter.Start vrátí, je bezpečné znova vyzkoušet nebo zachytávat výjimky odkazu null. Další informace o příčině tohoto problému časování si můžete přečíst v článku Signály a reportéři o chybách třetích stran .

Výstraha

Nedoporučuje se vkládat tajný kód aplikace do zdrojového kódu.

Důležité

Složené závorky ukazují, kam umístit skutečná tajemství aplikace, nevkládejte složené závorky do volání Start.

Poznámka:

U aplikace pro iOS není možné mít ve vaší aplikaci 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.

4.3 Nahrazení zástupného symbolu tajným kódem aplikace

Nezapomeňte nahradit {Your App Secret} text skutečnou hodnotou vaší aplikace. 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 a můžete zkopírovat celou ukázku.

Výše uvedený příklad ukazuje, jak použít metodu Start() a zahrnout jak analýzy App Center, tak hlášení chyb App Center.

Pokud nechcete použít jednu ze dvou služeb, odeberte odpovídající parametr z výše uvedeného volání metody.

Pokud explicitně nezadáte jednotlivé moduly jako parametry v metodě start, nemůžete tuto službu App Center použít. Kromě toho Start() je možné rozhraní API použít pouze jednou v životním cyklu vaší aplikace – všechna ostatní volání do konzoly zahlásí upozornění a budou k dispozici pouze moduly zahrnuté do prvního volání.

Pokud například chcete připojit se k App Center Analytics, měli byste upravit volání Start() následujícím způsobem:

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é, jste připraveni vizualizovat data analytiky a havárií v portálu, která sada SDK shromažďuje automaticky.

Podívejte se do dokumentace k App Center Analytics a App Center Crashes, abyste se naučili, jak přizpůsobit a používat pokročilejší funkce obou služeb.

Informace o tom, jak začít s aktualizacemi v aplikaci, najdete v dokumentaci k distribuci v 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 podporována na platformách UPW a Windows Desktop a nedělají nic při spouštění v aplikacích UPW a Windows Desktop . Konkrétně UPW a Windows Desktop nepodporují následující modul: Distribuce. Jakákoli metoda s návratovým typem by vrátila buď null (pro objekty), 0 (pro čísla), nebo false (pro logické hodnoty) v desktopové aplikaci UPW a 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 nesprávnému 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žší.

  1. Ve složce Resources/xml vytvořte souborappcenter_backup_rule.xml.
  1. Otevřete soubor AndroidManifest.xml projektu. android:fullBackupContent Přidejte atribut do elementu<application>. Měl by odkazovat na soubor prostředků appcenter_backup_rule.xml .
android:fullBackupContent="@xml/appcenter_backup_rule"
  1. Do souboru appcenter_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šší.

  1. Ve složce Resources/xml vytvořte souborappcenter_backup_rule.xml.
  1. Otevřete soubor AndroidManifest.xml projektu. android:dataExtractionRules Přidejte atribut do elementu<application>. Měl by odkazovat na soubor prostředků appcenter_backup_rule.xml .
android:dataExtractionRules="@xml/appcenter_backup_rule"
  1. Do souboru appcenter_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>