Introdução ao MAUI e ao Xamarin

Importante

O Visual Studio App Center está programado para ser desativado em 31 de março de 2025. Embora você possa continuar a usar o Visual Studio App Center até que ele seja totalmente desativado, há várias alternativas recomendadas para as quais você pode considerar migrar.

Saiba mais sobre linhas do tempo e alternativas de suporte.

O SDK do App Center usa uma arquitetura modular para que você possa usar qualquer um ou todos os serviços.

Vamos começar a configurar o SDK do .NET do App Center em seu aplicativo para usar a Análise do App Center e falhas do App Center. Para adicionar o App Center Distribute ao seu aplicativo, confira a documentação do App Center Distribute.

1. Pré-requisitos

Antes de começar, verifique se os seguintes pré-requisitos são cumpridos:

  • Seu projeto está configurado no Visual Studio ou Visual Studio para Mac.
  • Você está direcionando dispositivos que executam o iOS 11.0 ou posterior ou o Android 5.0 (nível de API 21) ou posterior.
  • Você não está usando nenhum outro SDK que forneça funcionalidade de Relatório de Falhas.

Plataformas compatíveis:

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

1.1 MAUI

Observação

Atualmente, não há nenhuma plataforma MAUI no portal do App Center. Use o Xamarin para iOS e Android e UWP para Windows.

1.2 Sobre o Xamarin.Android

Crie um aplicativo no portal do App Center com o Android como o sistema operacional e o Xamarin como a plataforma.

1.3 Sobre o Xamarin.iOS

Crie um aplicativo no portal do App Center com o iOS como o sistema operacional e o Xamarin como a plataforma.

1.4 Sobre o Xamarin.Mac

Crie um aplicativo no portal do App Center com macOS como o sistema operacional e o Xamarin como a plataforma.

Aviso

Há um problema conhecido que impede que um aplicativo seja carregado no App Store. Siga o progresso no github.

1.5 Sobre o Xamarin.Forms (iOS, macOS, Android, UWP e Windows Desktop)

Crie 5 aplicativos no App Center – um para cada sistema operacional.

Você precisa selecionar o Xamarin como a plataforma para aplicativos Android, iOS e macOS (os aplicativos UWP e Desktop não têm uma opção Xamarin).

Para os aplicativos da Área de Trabalho do Windows e macOS , você precisa configurar seu projeto para compatibilidade com a plataforma Xamarin.Forms .

2. Crie seu aplicativo no Portal do App Center para obter o Segredo do Aplicativo

Se você já criou seu aplicativo no portal do App Center, ignore esta etapa.

  1. Vá para appcenter.ms.
  2. Inscreva-se ou faça logon e pressione o botão azul no canto superior direito do portal que diz Adicionar novo e selecione Adicionar novo aplicativo no menu suspenso.
  3. Insira um nome e uma descrição opcional para seu aplicativo.
  4. Selecione o sistema operacional e a plataforma apropriados, dependendo do projeto, conforme descrito acima.
  5. Pressione o botão na parte inferior direita que diz Adicionar novo aplicativo.

Depois de criar um aplicativo, você pode obter seu Segredo do Aplicativo na página Configurações no Portal do App Center. No canto superior direito da página Configurações , clique nos pontos verticais triplos e selecione Copy app secret para obter o Segredo do Aplicativo.

3. Adicionar o SDK do App Center à sua solução

O SDK do App Center pode ser integrado usando o Visual Studio ou o Console do Gerenciador de Pacotes.

Observação

O SDK do App Center usa assemblies de nome forte para compatibilidade com aplicativos que usam sinal de nome forte.

Visual Studio para Mac

  • Abra o Visual Studio.
  • Clique em Abrir Arquivo>e escolha sua solução.
  • No navegador da solução, clique com o botão direito do mouse na seção Pacotes e escolha Adicionar pacotes NuGet....
  • Pesquise App Center e selecione Análise do App Center e Falhas do App Center.
  • Clique em Adicionar Pacotes.

Visual Studio para Windows

  • Abra o Visual Studio.
  • Clique em Abrir Arquivo>e escolha sua solução.
  • No navegador da solução, clique com o botão direito do mouse em Referências e escolha Gerenciar Pacotes NuGet.
  • Pesquise o App Center e instale os pacotes Microsoft.AppCenter.Analytics e Microsoft.AppCenter.Crashes .

Console do Gerenciador de Pacotes

  • Abra o console no Visual Studio. Para fazer isso, escolha FerramentasConsole do Gerenciador dePacotes>>NuGet.
  • Se você estiver trabalhando em Visual Studio para Mac, verifique se instalou as Extensões de Gerenciamento de Pacotes NuGet. Para isso, escolhaExtensões do Visual Studio>, pesquise NuGet e instale, se necessário.
  • Digite o seguinte comando no console:
Install-Package Microsoft.AppCenter.Analytics
Install-Package Microsoft.AppCenter.Crashes

Agora que você integrou o SDK em seu aplicativo, é hora de iniciar o SDK e fazer uso dos serviços do App Center.

Observação

Se você usar o SDK do App Center em um projeto portátil (como o Xamarin.Forms), deverá instalar os pacotes em cada um dos projetos: os portáteis, Android e iOS. Para fazer isso, você deve abrir cada subprojeto e seguir as etapas correspondentes descritas em Visual Studio para Mac ou nas seções do Visual Studio para Windows.

4. Iniciar o SDK

Para usar o App Center, você deve aceitar os módulos que deseja usar. Por padrão, nenhum módulo é iniciado e você deve chamar explicitamente cada um deles ao iniciar o SDK.

4.1 Adicionar as instruções using

Adicione os namespaces apropriados nos seguintes arquivos:

  • 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 Adicionar o Start() método

4.2.1 MAUI e Xamarin.Forms

Você precisa criar aplicativos diferentes para cada plataforma no portal do App Center. Para cada aplicativo, você terá um segredo do aplicativo diferente. Abra o arquivo App.xaml.cs do projeto e adicione a linha a seguir no construtor (ou no OnStart() método para 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 você precisar iniciar os serviços do App Center separadamente, deverá:

  1. Configure ou inicie-o com o Segredo do Aplicativo.
  2. Se o código puder ser chamado várias vezes, marcar se o App Center já estiver configurado.
  3. Inicie os serviços necessários sem o Segredo do Aplicativo.
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

Observação

Caso você esteja usando o SDK do HockeyApp para Android, certifique-se de inicializar o SDK do HockeyApp APÓS o SDK do App Center.

Abra o arquivo MainActivity.cs do projeto e adicione a Start() chamada dentro do OnCreate() método

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

Observação

Se o aplicativo tiver serviços em segundo plano ou vários pontos de entrada, como um receptor de transmissão, atividades exportadas ou provedores de conteúdo, é recomendável iniciar AppCenter no Application.OnCreate retorno de chamada.

4.2.3 Xamarin.iOS e Xamarin.Mac

Observação

Não é possível ter mais de um SDK de relatório de falhas ativo em seu aplicativo. Desabilite a funcionalidade de relatório de falhas dos outros SDKs para garantir que o App Center possa capturar as falhas.

Abra o arquivo do AppDelegate.cs projeto e adicione a Start() chamada dentro do FinishedLaunching() método

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

Observação

Se estiver usando Falhas, você deverá chamar esse método no thread de interface do usuário/main e evitar iniciar tarefas em segundo plano até que o Start método retorne. O motivo é que qualquer exceção de referência nula capturada de outro thread enquanto Crashes está inicializando pode disparar uma falha nativa e ignorar a cláusula catch. Depois que o AppCenter.Start método retorna, é seguro tentar/capturar exceções de referência nula novamente. Você pode ler mais sobre a causa desse problema de tempo no artigo Sinais e repórteres de falha de terceiros .

Aviso

Não é recomendável inserir seu Segredo do Aplicativo no código-fonte.

Importante

As chaves mostram onde colocar os segredos reais do aplicativo, não coloque chaves na Start chamada.

Observação

Para um aplicativo iOS, não é possível ter mais de um SDK de relatório de falhas ativo em seu aplicativo. Desabilite a funcionalidade de relatório de falhas dos outros SDKs para garantir que o App Center possa capturar as falhas.

4.3 Substitua o espaço reservado pelo segredo do aplicativo

{Your App Secret} Substitua o texto pelo valor real do aplicativo. O Segredo do Aplicativo pode ser encontrado na página Introdução ou na página Configurações no portal do App Center.

A página Introdução contém o exemplo de código acima com seu Segredo do Aplicativo, você pode copiar e colar todo o exemplo.

O exemplo acima mostra como usar o Start() método e incluir a Análise do App Center e falhas do App Center.

Se você não quiser usar um dos dois serviços, remova o parâmetro correspondente da chamada de método acima.

A menos que você especifique explicitamente cada módulo como parâmetros no método start, não poderá usar esse serviço do App Center. Além disso, a Start() API pode ser usada apenas uma vez no ciclo de vida do aplicativo – todas as outras chamadas registrarão um aviso no console e somente os módulos incluídos na primeira chamada estarão disponíveis.

Por exemplo: se você quiser integrar o App Center Analytics, modifique a chamada da Start() seguinte maneira:

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));

Ótimo, você está pronto para visualizar dados de Análise e Falhas no portal que o SDK coleta automaticamente.

Examine a documentação da Análise do App Center e falhas do App Center para saber como personalizar e usar funcionalidades mais avançadas de ambos os serviços.

Para saber como começar a usar as atualizações no aplicativo, leia a documentação do App Center Distribute.

Observação

Usando as APIs portáteis do Xamarin Forms, você verá APIs de todos os módulos, no entanto, nem todas essas APIs têm suporte nas plataformas UWP e Área de Trabalho do Windows e não estão fazendo nada ao executar em seus aplicativos UWP e Área de Trabalho do Windows . Em particular, a UWP e a Área de Trabalho do Windows não dão suporte ao seguinte módulo: Distribuir. Qualquer método com um tipo de retorno retornaria null (para objetos), 0 (para números) ou false (para booleanos) no aplicativo UWP e na Área de Trabalho do Windows.

5. Regras de backup (somente Android)

Observação

Aplicativos direcionados ao Android 6.0 (nível de API 23) ou superior têm o Backup Automático habilitado automaticamente. 

Observação

Se você já tiver um arquivo personalizado com regras de backup, alterne para a terceira etapa.

Se você usar o backup automático para evitar obter informações incorretas sobre dispositivos, siga as próximas etapas:

5.1. Para Android 11 (nível de API 30) ou inferior.

  1. Crie appcenter_backup_rule.xml arquivo na pasta Resources/xml .
  1. Abra o arquivo AndroidManifest.xml do projeto. Adicione o android:fullBackupContent atributo ao <application> elemento . Ele deve apontar para o arquivo de recurso appcenter_backup_rule.xml .
android:fullBackupContent="@xml/appcenter_backup_rule"
  1. Adicione as seguintes regras de backup ao arquivo 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. Para Android 12 (nível de API 31) ou superior.

  1. Crie appcenter_backup_rule.xml arquivo na pasta Resources/xml .
  1. Abra o arquivo AndroidManifest.xml do projeto. Adicione o android:dataExtractionRules atributo ao <application> elemento . Ele deve apontar para o arquivo de recurso appcenter_backup_rule.xml .
android:dataExtractionRules="@xml/appcenter_backup_rule"
  1. Adicione as seguintes regras de backup ao arquivo 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>