Partilhar via


Introdução ao MAUI e ao Xamarin

Importante

O Visual Studio App Center foi desativado em 31 de março de 2025, exceto para os recursos de Análise e Diagnóstico, que continuarão a ter suporte até 30 de junho de 2026. Mais informações.

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 .NET do App Center em seu aplicativo para usar o App Center Analytics e o App Center Crashes. Para adicionar o App Center Distribute ao seu aplicativo, consulte a documentação do App Center Distribute.

1. Pré-requisitos

Antes de começar, certifique-se de que os seguintes pré-requisitos são atendidos:

  • Seu projeto está configurado no Visual Studio ou Visual Studio para Mac.
  • Você está segmentando dispositivos que executam 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
  • MAUI para 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 existe uma plataforma MAUI no portal do App Center. Use 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 sistema operacional e o Xamarin como plataforma.

1.3 Sobre o Xamarin.iOS

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

1.4 Sobre o Xamarin.Mac

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

Advertência

Existe um problema conhecido que impede que uma aplicação seja carregada para a App Store. Acompanhe o progresso no github.

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

Crie 5 aplicações no App Center – uma para cada SO.

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

Para os aplicativos Windows Desktop 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 já tiver criado a sua aplicação no portal do App Center, pode ignorar este passo.

  1. Dirija-se a 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 suspenso.
  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 no canto inferior direito que diz Adicionar novo aplicativo.

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

3. Adicione 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 de soluções, clique com o botão direito do mouse na seção Pacotes e escolha Adicionar pacotes NuGet....
  • Pesquise por App Center e selecione App Center Analytics e App Center Crashes.
  • 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.
  • Procure o App Center e instale os pacotes Microsoft.AppCenter.Analytics e Microsoft.AppCenter.Crashes .

Console do Gestor de Pacotes

  • Abra o console no Visual Studio. Para fazer isso, escolha Ferramentas>Gerenciador de Pacotes NuGet>Console do Gerenciador de Pacotes.
  • Se estiver a trabalhar no Visual Studio para Mac, certifique-se de que instalou as Extensões de Gestão de Pacotes NuGet. Para isso, escolha Extensões do Visual Studio>, procure 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 nas seções Visual Studio para Mac ou Visual Studio para Windows .

4. Inicie o SDK

Para usar o App Center, você deve optar por usar o(s) módulo(s) 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 de aplicativo diferente. Abra o arquivo App.xaml.cs do projeto e adicione a seguinte linha 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 precisar iniciar os serviços do App Center separadamente, você deve:

  1. Configure ou inicie-o com o Segredo do aplicativo.
  2. Se o código puder ser chamado várias vezes, verifique se o App Center já está configurado.
  3. Inicie o(s) serviço(s) necessário(s) sem o Segredo da Aplicação.
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 seu aplicativo tiver serviços em segundo plano ou vários pontos de entrada, como um recetor de difusão, atividades exportadas ou provedores de conteúdo, é recomendável iniciar AppCenter no retorno de Application.OnCreate 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. Desative a funcionalidade de relatório de falhas dos outros SDKs para garantir que o App Center possa detetar 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 esse método na interface do usuário/thread principal 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 acionar 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 tempo no artigo Sinais e repórteres de falhas de terceiros .

Advertência

Não é recomendado incorporar o segredo do aplicativo no código-fonte.

Importante

As chavetas mostram onde colocar os segredos reais da aplicação; não coloque chavetas 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. Desative a funcionalidade de relatório de falhas dos outros SDKs para garantir que o App Center possa detetar as falhas.

4.3 Substitua o espaço reservado pelo Segredo do Aplicativo

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

O exemplo acima mostra como usar o Start() método 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 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 seu aplicativo – todas as outras chamadas registrarão um aviso no console e apenas os módulos incluídos na primeira chamada estarão disponíveis.

Por exemplo - Se você quiser integrar ao App Center Analytics, modifique a Start() chamada da 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 nativo

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

Ótimo, você está pronto para visualizar dados do Google Analytics e Crashes no portal que o SDK coleta automaticamente.

Consulte 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 saber como começar a usar 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 são suportadas nas plataformas UWP e Windows Desktop e não estão fazendo nada ao executar em seus aplicativos UWP e Windows Desktop . Em particular, UWP e Windows Desktop não suporta o seguinte módulo: Distribuir. Qualquer método com um tipo de retorno retornaria null (para objetos), 0 (para números) ou false (para booleanos) na UWP e no aplicativo da área de trabalho do Windows.

5. Regras de backup (somente Android)

Observação

As aplicações destinadas ao Android 6.0 (nível de API 23) ou superior têm a Cópia de Segurança Automática ativada 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 recursoappcenter_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 recursoappcenter_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>