Condividi tramite


Introduzione a MAUI e Xamarin

Importante

Visual Studio App Center è stato ritirato il 31 marzo 2025, ad eccezione delle funzionalità di Analisi e diagnostica, che continueranno a essere supportate fino al 30 giugno 2026. Ulteriori informazioni.

App Center SDK usa un'architettura modulare per poter usare qualsiasi o tutti i servizi.

Iniziamo a configurare App Center .NET SDK nella tua app per usare App Center Analytics e App Center Crashes. Per aggiungere App Center Distribute all'app, vedere la documentazione per App Center Distribute.

1. Prerequisiti

Prima di iniziare, verificare che i prerequisiti seguenti siano soddisfatti:

  • Il progetto è configurato in Visual Studio o Visual Studio per Mac.
  • Stai prendendo di mira dispositivi che eseguono iOS 11.0 o versioni successive o Android 5.0 (livello API 21) o versioni successive.
  • Non stai utilizzando alcun altro SDK che fornisca funzionalità di segnalazione di arresto anomalo.

Piattaforme supportate:

  • MAUI iOS
  • MAUI Android
  • MAUI Windows
  • .NET 6.0 macOS
  • Xamarin.Android
  • Xamarin.iOS
  • Xamarin.Mac
  • Xamarin.Forms (applicazioni iOS, macOS Android, UWP e Windows Desktop)

1.1 MAUI

Annotazioni

Attualmente non è disponibile alcuna piattaforma MAUI nel portale di App Center. Usare Xamarin per iOS e Android e UWP per Windows.

1.2 Informazioni su Xamarin.Android

Creare un'app nel portale di App Center con Android come sistema operativo e Xamarin come piattaforma.

1.3 Informazioni su Xamarin.iOS

Creare un'app nel portale di App Center con iOS come sistema operativo e Xamarin come piattaforma.

1.4 Informazioni su Xamarin.Mac

Creare un'app nel portale di App Center con macOS come sistema operativo e Xamarin come piattaforma.

Avvertimento

Esiste un problema noto che impedisce il caricamento di un'app nell'App Store. Seguire lo stato di avanzamento su github.

1.5 Informazioni su Xamarin.Forms (iOS, macOS, Android, UWP e Windows Desktop)

Creare 5 app in App Center, una per ogni sistema operativo.

È necessario selezionare Xamarin come piattaforma per le applicazioni Android, iOS e macOS (le applicazioni UWP e Desktop non hanno un'opzione Xamarin).

Per le applicazioni Desktop e macOS di Windows è necessario configurare il progetto per la compatibilità con la piattaforma Xamarin.Forms.

2. Creare l'app nel portale di App Center per ottenere il segreto dell'app

Se l'app è già stata creata nel portale di App Center, è possibile ignorare questo passaggio.

  1. Vai a appcenter.ms.
  2. Iscriversi o accedere e premere il pulsante blu nell'angolo in alto a destra del portale che indica Aggiungi nuovo e selezionare Aggiungi nuova app dal menu a discesa.
  3. Immettere un nome e una descrizione facoltativa per l'app.
  4. Selezionare il sistema operativo e la piattaforma appropriati a seconda del progetto, come descritto in precedenza.
  5. Premere il pulsante in basso a destra che indica Aggiungi nuova app.

Dopo aver creato un'app, è possibile ottenere il segreto dell'app nella pagina Impostazioni del portale di App Center. Nell'angolo superiore destro della pagina Impostazioni fare clic sui punti verticali tripli e selezionare Copy app secret per ottenere il segreto dell'app.

3. Aggiungere App Center SDK alla soluzione

App Center SDK può essere integrato tramite Visual Studio o la console di Gestione pacchetti.

Annotazioni

App Center SDK utilizza assembly con nome forte per garantire la compatibilità con le applicazioni che usano una firma con nome forte.

Visual Studio per Mac

  • Apri Visual Studio.
  • Fare clic su FileOpen (>) e scegliere la soluzione.
  • Nello strumento di spostamento della soluzione fare clic con il pulsante destro del mouse sulla sezione Pacchetti e scegliere Aggiungi pacchetti NuGet.
  • Cercare App Center e selezionare App Center Analytics e App Center Crashes.
  • Fare clic su Aggiungi pacchetti.

Visual Studio per Windows

  • Apri Visual Studio.
  • Fare clic su FileOpen (>) e scegliere la soluzione.
  • Nello strumento di spostamento della soluzione fare clic con il pulsante destro del mouse su Riferimenti e scegliere Gestisci pacchetti NuGet.
  • Cercare App Center e installare i pacchetti Microsoft.AppCenter.Analytics e Microsoft.AppCenter.Crashes .

Console di gestione pacchetti

  • Aprire la console in Visual Studio. A tale scopo, scegliere Strumenti>Gestione pacchetti NuGet>Console di gestione pacchetti.
  • Se si lavora in Visual Studio per Mac, assicurarsi di aver installato Le estensioni di gestione pacchetti NuGet. A tale scopo, scegliereEstensioni di >, cercare NuGet e installare, se necessario.
  • Digitare il comando seguente nella console:
Install-Package Microsoft.AppCenter.Analytics
Install-Package Microsoft.AppCenter.Crashes

Ora che l'SDK è stato integrato nell'applicazione, è possibile avviare l'SDK e usare i servizi di App Center.

Annotazioni

Se si usa App Center SDK in un progetto portabile (ad esempio Xamarin.Forms), è necessario installare i pacchetti in ognuno dei progetti: quelli portabili, Android e iOS. A tale scopo, è necessario aprire ogni sottoprogetto e seguire i passaggi corrispondenti descritti nelle sezioni di Visual Studio per Mac o Visual Studio per Windows .

4. Avviare l'SDK

Per usare App Center, è necessario acconsentire esplicitamente ai moduli da usare. Per impostazione predefinita, non vengono avviati moduli ed è necessario chiamarli in modo esplicito all'avvio dell'SDK.

4.1 Aggiungere le istruzioni using

Aggiungere i namespace appropriati nei file seguenti:

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

4.2 Aggiungere il Start() metodo

4.2.1 MAUI e Xamarin.Forms

È necessario creare applicazioni diverse per ogni piattaforma nel portale di App Center. Per ogni app si avrà un segreto dell'app diverso. Aprire il file di App.xaml.cs del progetto e aggiungere la riga seguente nel costruttore (o nel OnStart() metodo per 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));

Se è necessario avviare i servizi di App Center separatamente, è necessario:

  1. Configuralo o avvialo con il codice segreto dell'applicazione.
  2. Se il codice può essere chiamato più volte, verificare se App Center è già configurato.
  3. Avviare i servizi necessari senza il segreto dell'app.
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

Annotazioni

Nel caso si stia utilizzando l'SDK HockeyApp per Android, assicurarsi di inizializzarlo DOPO l'SDK di App Center.

Aprire il file di MainActivity.cs del progetto e aggiungere la Start() chiamata all'interno del OnCreate() metodo

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

Annotazioni

Se l'applicazione dispone di servizi in background o di più punti di ingresso, ad esempio un ricevitore di trasmissione, attività esportate o provider di contenuti, è consigliabile iniziare AppCenter invece nel Application.OnCreate callback.

4.2.3 Xamarin.iOS e Xamarin.Mac

Annotazioni

Non è possibile avere più di un SDK per la segnalazione di arresti anomali attivi nell'app. Disabilitare la funzionalità di segnalazione degli arresti anomali degli altri SDK per assicurarsi che App Center possa rilevare gli arresti anomali.

Aprire il file del AppDelegate.cs progetto e aggiungere la Start() chiamata all'interno del FinishedLaunching() metodo

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

Annotazioni

Se si usano Crash, è necessario chiamare questo metodo nel thread principale dell'interfaccia utente ed evitare di avviare attività in background fino a quando il metodo Start non restituisce. Il motivo è che qualsiasi eccezione di riferimento nullo intercettata da un altro thread mentre Crashes è in fase di inizializzazione può provocare un crash nativo e ignorare il blocco catch. Una volta restituito il AppCenter.Start metodo, è possibile provare/intercettare nuovamente le eccezioni di riferimento Null. Per leggere altre informazioni sulla causa di questo problema di tempistica, consultare l'articolo Segnali e reporter di arresto anomalo di terze parti.

Avvertimento

Non è consigliabile incorporare il segreto dell'app nel codice sorgente.

Importante

Le parentesi graffe mostrano dove inserire i veri segreti dell'applicazione, non inserire parentesi graffe nella chiamata Start.

Annotazioni

Per un'applicazione iOS, non è possibile avere più di un SDK attivo per la segnalazione degli arresti anomali nell'app. Disabilitare la funzionalità di segnalazione degli arresti anomali degli altri SDK per assicurarsi che App Center possa rilevare gli arresti anomali.

4.3 Sostituire il segnaposto con il segreto dell'app

Assicurarsi di sostituire il testo {Your App Secret} con il valore effettivo per l'applicazione. Il segreto dell'app è disponibile nella pagina Attività iniziali o nella pagina Impostazioni del portale di App Center.

La pagina Introduzione contiene l'esempio di codice precedente che include il tuo segreto dell'app. È possibile effettuare il copia-incolla dell'intero esempio.

L'esempio precedente mostra come usare il metodo Start() e includere sia App Center Analytics che App Center Crashes.

Se non si vuole usare uno dei due servizi, rimuovere il parametro corrispondente dalla chiamata al metodo precedente.

A meno che non si specifichi in modo esplicito ogni modulo come parametri nel metodo start, non è possibile usare il servizio App Center. Inoltre, l'API Start() può essere usata solo una volta nel ciclo di vita dell'app. Tutte le altre chiamate includono un avviso nella console e saranno disponibili solo i moduli inclusi nella prima chiamata.

Ad esempio, se si vuole eseguire l'onboarding in App Center Analytics, è necessario modificare la Start() chiamata come indicato di seguito:

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

Ora sei pronto per visualizzare i dati di analisi e crash nel portale che l'SDK raccoglie automaticamente.

Consultare la documentazione per App Center Analytics e App Center Crashes per informazioni su come personalizzare e utilizzare funzionalità più avanzate di entrambi i servizi.

Per informazioni su come iniziare a usare gli aggiornamenti in-app, leggere la documentazione di App Center Distribute.

Annotazioni

Usando le API portabili di Xamarin Forms, vedrai le API di tutti i moduli, ma non tutte queste API sono supportate nelle piattaforme UWP e Desktop di Windows e non eseguono alcuna operazione quando vengono eseguite nelle applicazioni UWP e Desktop di Windows . In particolare la piattaforma UWP e Windows Desktop non supporta il modulo seguente: Distribute. Qualsiasi metodo con un tipo restituito restituirà null (per gli oggetti), 0 (per i numeri) o false (per i valori booleani) nell'applicazione UWP e Windows Desktop.

5. Regole di backup (solo Android)

Annotazioni

Le app destinate ad Android 6.0 (livello API 23) o versioni successive hanno automaticamente abilitato il backup automatico. 

Annotazioni

Se si dispone già di un file personalizzato con regole di backup, passare al terzo passaggio.

Se si usa il backup automatico per evitare di ottenere informazioni errate sui dispositivi, attenersi alla procedura seguente:

5.1. Per Android 11 (livello API 30) o inferiore.

  1. Creare appcenter_backup_rule.xml file nella cartella Resources/xml .
  1. Apri il file AndroidManifest.xml del progetto. Aggiungere l'attributo android:fullBackupContent all'elemento <application> . Deve puntare al file di risorse appcenter_backup_rule.xml .
android:fullBackupContent="@xml/appcenter_backup_rule"
  1. Aggiungere le regole di backup seguenti al file appcenter_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. Per Android 12 (livello API 31) o versione successiva.

  1. Creare appcenter_backup_rule.xml file nella cartella Resources/xml .
  1. Apri il file AndroidManifest.xml del progetto. Aggiungere l'attributo android:dataExtractionRules all'elemento <application> . Deve puntare al file di risorse appcenter_backup_rule.xml .
android:dataExtractionRules="@xml/appcenter_backup_rule"
  1. Aggiungere le regole di backup seguenti al file appcenter_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>