Compartilhar via


Introdução ao MAUI e ao Xamarin

Importante

O Visual Studio App Center foi desativado em 31 de março de 2025, com exceção dos recursos de Análise e Diagnóstico, que continuarão com suporte até 30 de junho de 2026. Saiba mais.

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 o App Center Analytics e o App Center Crashes. Para adicionar a Distribuição do App Center ao seu aplicativo, confira a documentação da Distribuição do App Center.

1. Pré-requisitos

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

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

Plataformas suportadas:

  • MAUI iOS
  • MAUI Android
  • Janelas MAUI
  • MacOS do .NET 6.0
  • 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 na 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 (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. Criar 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 login e pressione o botão azul no canto superior direito do portal que diz Adicionar novo e selecione Adicionar novo aplicativo no menu drop-down.
  3. Insira um nome e uma descrição opcional para seu aplicativo.
  4. Selecione o sistema operacional e a plataforma apropriados, dependendo do seu 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 um 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 pelo App Center e selecione Análise do App Center e Falhas no 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 Ferramentas>Gerenciador de Pacotes NuGet>Console do Gerenciador de Pacotes.
  • Se você estiver trabalhando no Visual Studio para Mac, verifique se instalou as Extensões de Gerenciamento de Pacotes NuGet. Para isso, escolhaExtensões do >, 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 usar os 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 no Visual Studio para Mac ou no Visual Studio para seções do 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 de uso

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 de 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 a Chave Secreta do Aplicativo.
  2. Se o código puder ser chamado várias vezes, verifique se o App Center já está 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 callback Application.OnCreate.

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 detectar 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 Crashes, você deve chamar este método na interface do usuário/thread principal e evitar iniciar tarefas em segundo plano até que o método Start 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 nulas novamente. Você pode ler mais sobre a causa desse problema de sincronização no artigo Signals e ferramentas de relato de falhas de terceiros.

Aviso

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

Importante

As chaves em formato de colchetes mostram onde colocar os segredos reais do aplicativo; não coloque as chaves na chamada Start.

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 detectar as falhas.

4.3 Substitua o marcador pelo segredo do seu aplicativo

Certifique-se de substituir o texto {Your App Secret} pelo valor real do seu 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 o Segredo do Aplicativo nele, você pode copiar e colar todo o exemplo.

O exemplo acima mostra como usar o método Start() e incluir o App Center Analytics e o App Center Crashes.

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 inicial, não é possível 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 começar a usar o App Center Analytics, modifique a chamada Start() a 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 do App Center Analytics e do App Center Crashes para saber como personalizar e usar funcionalidades mais avançadas de ambos os serviços.

Para aprender como começar com atualizações dentro do aplicativo, leia a documentação da Distribuição do App Center.

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 durante a execução em seus aplicativos UWP e Da Á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 boolianos) no aplicativo UWP e da Área de Trabalho do Windows.

5. Regras de backup (somente Android)

Observação

Os aplicativos destinados 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 arquivoAndroidManifest.xmldo 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 arquivoAndroidManifest.xmldo 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>