Dela via


Kom igång med MAUI och Xamarin

Viktigt!

Visual Studio App Center drogs tillbaka den 31 mars 2025, förutom analys- och diagnostikfunktionerna, som fortsätter att stödjas fram till den 30 juni 2026. Läs mer.

App Center SDK använder en modulär arkitektur så att du kan använda alla eller alla tjänster.

Låt oss börja med att konfigurera App Center .NET SDK i din app för att använda App Center Analytics och App Center Crashes. Om du vill lägga till App Center Distribute i din app kan du ta en titt på dokumentationen för App Center Distribute.

1. Förutsättningar

Innan du börjar kontrollerar du att följande krav uppfylls:

  • Projektet har konfigurerats i Visual Studio eller Visual Studio för Mac.
  • Du riktar in dig på enheter som kör iOS 11.0 eller senare eller Android 5.0 (API-nivå 21) eller senare.
  • Du använder inte någon annan SDK som tillhandahåller funktioner för kraschrapportering.

Plattformar som stöds:

  • MAUI iOS
  • MAUI Android
  • MAUI Windows
  • .NET 6.0 macOS
  • Xamarin.Android
  • Xamarin.iOS
  • Xamarin.Mac
  • Xamarin.Forms (iOS-, macOS Android-, UWP- och Windows Desktop-program)

1.1 MAUI

Anmärkning

För närvarande finns det ingen MAUI-plattform på App Center-portalen. Använd Xamarin för iOS och Android och UWP för Windows.

1.2 Om Xamarin.Android

Skapa en app på App Center-portalen med Android som operativsystem och Xamarin som plattform.

1.3 Om Xamarin.iOS

Skapa en app på App Center-portalen med iOS som operativsystem och Xamarin som plattform.

1.4 Om Xamarin.Mac

Skapa en app på App Center-portalen med macOS som operativsystem och Xamarin som plattform.

Varning

Det finns ett känt problem som förhindrar att en app laddas upp till App Store. Följ förloppet på github.

1.5 Om Xamarin.Forms (iOS, macOS, Android, UWP och Windows Desktop)

Skapa 5 appar i App Center – en för varje operativsystem.

Du måste välja Xamarin som plattform för Android-, iOS- och macOS-program (UWP- och Desktop-program har inget Xamarin-alternativ).

För Windows Desktop - och macOS-programmen måste du konfigurera projektet för kompatibilitet med Xamarin.Forms-plattformen .

2. Skapa din app i App Center-portalen för att hämta apphemligheten

Om du redan har skapat din app i App Center-portalen kan du hoppa över det här steget.

  1. Gå över till appcenter.ms.
  2. Registrera dig eller logga in och tryck på den blå knappen i det övre högra hörnet i portalen där det står Lägg till ny och välj Lägg till ny app på den nedrullningsbara menyn.
  3. Ange ett namn och en valfri beskrivning för din app.
  4. Välj rätt operativsystem och plattform beroende på ditt projekt enligt beskrivningen ovan.
  5. Tryck på knappen längst ned till höger där det står Lägg till ny app.

När du har skapat en app kan du hämta dess apphemlighet på sidan Inställningar på App Center-portalen. I det övre högra hörnet på sidan Inställningar klickar du på de tre lodräta punkterna och väljer Copy app secret för att hämta din apphemlighet.

3. Lägg till App Center SDK i din lösning

App Center SDK kan integreras med Visual Studio eller Package Manager-konsolen.

Anmärkning

App Center SDK använder starkt namngivna sammansättningar för kompatibilitet med program som använder starkt namngivet tecken.

Visual Studio för Mac

  • Öppna Visual Studio.
  • Klicka på Öppna fil> och välj din lösning.
  • Högerklicka på avsnittet Paket i lösningsnavigatorn och välj Lägg till NuGet-paket....
  • Sök efter App Center och välj App Center Analytics och App Center-krascher.
  • Klicka på Lägg till paket.

Visual Studio för Windows

  • Öppna Visual Studio.
  • Klicka på Öppna fil> och välj din lösning.
  • Högerklicka på Referenser i lösningsnavigatorn och välj Hantera NuGet-paket.
  • Sök efter App Center och installera paketen Microsoft.AppCenter.Analytics och Microsoft.AppCenter.Crashes .

Package Manager-konsolen

  • Öppna konsolen i Visual Studio. Det gör du genom att välja Verktyg>NuGet-pakethanteraren>Paketkonsol.
  • Om du arbetar i Visual Studio för Mac kontrollerar du att du har installerat NuGet-pakethanteringstillägg. För detta väljer du Visual>, söker efter NuGet och installerar om det behövs.
  • Skriv följande kommando i konsolen:
Install-Package Microsoft.AppCenter.Analytics
Install-Package Microsoft.AppCenter.Crashes

Nu när du har integrerat SDK:et i ditt program är det dags att starta SDK och använda App Center-tjänsterna.

Anmärkning

Om du använder App Center SDK i ett portabelt projekt (till exempel Xamarin.Forms) måste du installera paketen i vart och ett av projekten: portabla, Android och iOS. För att göra det bör du öppna varje underprojekt och följa motsvarande steg som beskrivs i avsnitten Visual Studio för Mac eller Visual Studio för Windows .

4. Starta SDK

Om du vill använda App Center måste du välja de moduler som du vill använda. Som standard startas inga moduler och du måste uttryckligen anropa var och en av dem när du startar SDK:n.

4.1 Lägg till användningssatserna

Lägg till lämpliga namnområden i följande filer:

  • MAUI och Xamarin.Forms - App.xaml.cs
  • Xamarin.iOS och Xamarin.Mac - AppDelegate.cs
  • Xamarin.Android - MainActivity.cs
using Microsoft.AppCenter;
using Microsoft.AppCenter.Analytics;
using Microsoft.AppCenter.Crashes;

4.2 Lägg till Start() metoden

4.2.1 MAUI och Xamarin.Forms

Du måste skapa olika program för varje plattform på App Center-portalen. För varje app har du en annan apphemlighet. Öppna projektets App.xaml.cs-fil och lägg till följande rad i konstruktorn (eller i OnStart() metoden för 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));

Om du behöver starta App Center-tjänster separat bör du:

  1. Konfigurera eller starta den med apphemligheten.
  2. Om koden kan anropas flera gånger kontrollerar du om App Center redan har konfigurerats.
  3. Starta de nödvändiga tjänsterna utan apphemligheten.
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

Anmärkning

Om du använder HockeyApp SDK för Android bör du initiera HockeyApp SDK EFTER App Center SDK.

Öppna projektets MainActivity.cs-fil och lägg till anropet Start()OnCreate() i metoden

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

Anmärkning

Om ditt program har bakgrundstjänster eller flera startpunkter som en sändningsmottagare, exporterade aktiviteter eller innehållsleverantörer rekommenderar vi att du startar AppCenter i återanropet Application.OnCreate i stället.

4.2.3 Xamarin.iOS och Xamarin.Mac

Anmärkning

Det går inte att ha mer än en aktiv kraschrapporterings-SDK i din app. Inaktivera de andra SDK:ernas funktioner för kraschrapportering för att se till att App Center kan fånga krascherna.

Öppna projektets AppDelegate.cs fil och lägg till anropet Start() i FinishedLaunching() metoden

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

Anmärkning

Om du använder Krascher måste du anropa den här metoden i användargränssnittet/huvudtråden och undvika att starta bakgrundsuppgifter tills Start metoden returneras. Anledningen är att ett null-referensfel som uppstår från en annan tråd under initiering av krascher kan utlösa en ursprunglig krasch och resultera i att catch-satsen ignoreras. AppCenter.Start När metoden har återvänt är det säkert att hantera null-referensundantag igen. Du kan läsa mer om orsaken till det här tidpunktproblemet i artikeln Signaler och felrapporterare från tredje part.

Varning

Vi rekommenderar inte att du bäddar in din apphemlighet i källkoden.

Viktigt!

Klammerparenteserna visar var de faktiska apphemligheterna ska placeras, placera inte klammerparenteser i anropet Start .

Anmärkning

För ett iOS-program går det inte att ha mer än en aktiv kraschrapporterings-SDK i din app. Inaktivera de andra SDK:ernas funktioner för kraschrapportering för att se till att App Center kan fånga krascherna.

4.3 Ersätt platshållaren med din apphemlighet

Ersätt {Your App Secret} text med det faktiska värdet för ditt program. Apphemligheten finns på sidan Komma igång eller på sidan Inställningar i App Center-portalen.

Sidan Komma igång innehåller kodexemplet ovan med din apphemlighet i. Du kan kopiera och klistra in hela exemplet.

Exemplet ovan visar hur du använder metoden Start() och inkluderar både App Center Analytics och App Center Crashes.

Om du inte vill använda någon av de två tjänsterna tar du bort motsvarande parameter från metodanropet ovan.

Om du inte uttryckligen anger varje modul som parametrar i startmetoden kan du inte använda den App Center-tjänsten. Dessutom kan API:et Start() endast användas en gång i appens livscykel – alla andra anrop loggar en varning till konsolen och endast modulerna som ingår i det första anropet är tillgängliga.

Till exempel – Om du vill registrera dig för App Center Analytics bör du ändra anropet på följande sätt: Start()

4.3.1 MAUI och 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));

Bra, du är redo att visualisera analys- och kraschdata på portalen som SDK:et samlar in automatiskt.

Titta på dokumentationen för App Center Analytics och App Center Crashes för att lära dig hur du anpassar och använder mer avancerade funktioner i tjänsterna.

Mer information om hur du kommer igång med uppdateringar i appen finns i dokumentationen för App Center Distribute.

Anmärkning

Med hjälp av bärbara API:er från Xamarin Forms ser du API:er från alla moduler, men inte alla dessa API:er stöds på UWP - och Windows Desktop-plattformarna och gör ingenting när du kör på dina UWP - och Windows Desktop-program . I synnerhet stöder inte UWP och Windows Desktop följande modul: Distribuera. Alla metoder med en returtyp returnerar antingen null (för objekt), 0 (för tal) eller false (för booleska värden) i UWP- och Windows Desktop-programmet.

5. Säkerhetskopieringsregler (endast Android)

Anmärkning

Appar som riktar in sig på Android 6.0 (API-nivå 23) eller senare har automatisk säkerhetskopiering aktiverad automatiskt. 

Anmärkning

Om du redan har en anpassad fil med säkerhetskopieringsregler växlar du till det tredje steget.

Om du använder automatisk säkerhetskopiering för att undvika felaktig information om enheter följer du nästa steg:

5.1. För Android 11 (API-nivå 30) eller lägre.

  1. Skapa appcenter_backup_rule.xml fil i mappen Resurser/XML .
  1. Öppna projektets AndroidManifest.xml-fil . android:fullBackupContent Lägg till attributet i elementet<application>. Den bör peka på resursfilenappcenter_backup_rule.xml .
android:fullBackupContent="@xml/appcenter_backup_rule"
  1. Lägg till följande säkerhetskopieringsregler i filenappcenter_backup_rule.xml :
<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. För Android 12 (API-nivå 31) eller senare.

  1. Skapa appcenter_backup_rule.xml fil i mappen Resurser/XML .
  1. Öppna projektets AndroidManifest.xml-fil . android:dataExtractionRules Lägg till attributet i elementet<application>. Den bör peka på resursfilenappcenter_backup_rule.xml .
android:dataExtractionRules="@xml/appcenter_backup_rule"
  1. Lägg till följande säkerhetskopieringsregler i filenappcenter_backup_rule.xml :
<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>