Migrar do HockeySDK para o SDK do Xamarin do App Center

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.

Siga esta documentação se você quiser atualizar seu aplicativo para usar o SDK do App Center em vez do HockeySDK.

1. Atualizar as bibliotecas

Substitua o pacote NuGet HockeySDK.Xamarin pelos do App Center em todos os projetos em sua solução.

Visual Studio para Mac

  • Abra o Visual Studio para Mac.
  • 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....
  • Remova o pacote HockeySDK.Xamarin .
  • Pesquise o App Center e selecione Análise do App Center, Falhas do App Center e Distribuição do App Center.
  • Clique em Adicionar Pacotes.

Visual Studio para Windows

  • Abra o Visual Studio para Windows.
  • 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.
  • Remova o pacote HockeySDK.Xamarin .
  • Pesquise o App Center e instale os pacotes Microsoft.AppCenter.Analytics, Microsoft.AppCenter.Crashes e Microsoft.AppCenter.Distribute .

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:
Uninstall-Package HockeySDK.Xamarin
Install-Package Microsoft.AppCenter.Analytics
Install-Package Microsoft.AppCenter.Crashes
Install-Package Microsoft.AppCenter.Distribute

O SDK do App Center foi projetado com uma abordagem modular. Você pode integrar apenas os serviços nos quais está interessado. Cada módulo do SDK precisa ser adicionado como uma dependência separada nesta seção. Confira as equivalências na próxima tabela:

Classe HockeyApp Módulo do App Center
MetricsManager Analytics
CrashManager Crashes
UpdateManager Distribute

2. Atualizar o código de instalação do SDK

2.1 Converter o identificador do aplicativo

O SDK do App Center usa identificadores de aplicativo no formato GUID (identificador global exclusivo). A ID do aplicativo HockeyApp pode ser usada pelo App Center, mas você precisa convertê-la em um formato diferente. Para converter o identificador, você deve adicionar quatro hifens para obter a representação 8-4-4-4-12.

Antes (HockeyApp): 00112233445566778899aabbccddeeff

Depois (App Center): 00112233-4455-6677-8899-aabbccddeeff

2.2 Substituir a inicialização do SDK no código do aplicativo

  1. Remova o código de registro antigo do HockeyApp.

    • Xamarin.Android - Abra o MainActivity.cs do projeto e remova as linhas abaixo:

      using HockeyApp.Android;
      
      ...
      
      CrashManager.Register(this, "APP_IDENTIFIER");
      MetricsManager.Register(Application, "APP_IDENTIFIER");
      UpdateManager.Register(this, "APP_IDENTIFIER");
      

      Remova o seguinte atributo de nível de assembly em Propriedades/AssemblyInfo.cs:

      [assembly: MetaData ("net.hockeyapp.android.appIdentifier", Value="APP_IDENTIFIER")]
      
    • Xamarin.iOS – Abra o AppDelegate.cs do projeto e remova as linhas abaixo:

      using HockeyApp.iOS;
      
      ...
      
      var manager = BITHockeyManager.SharedHockeyManager;
      manager.Configure("APP_IDENTIFIER");
      manager.StartManager();
      manager.Authenticator.AuthenticateInstallation();
      
  2. Iniciar o SDK do App Center

    • O código de inicialização mencionado posteriormente nesta seção requer a adição das seguintes linhas abaixo das instruções existentes using :
    using Microsoft.AppCenter;
    using Microsoft.AppCenter.Analytics;
    using Microsoft.AppCenter.Crashes;
    using Microsoft.AppCenter.Distribute;
    

    Xamarin.Android:

    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), typeof(Distribute));
    

    Observação

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

    Xamarin.iOS:

    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), typeof(Distribute));
    

    Observação

    Se estiver usando Falhas, você deverá chamar esse método na interface do usuário/main thread 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 retornar, é 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 .

    Xamarin.Forms:

    Para usar um aplicativo Xamarin.Forms direcionado a plataformas iOS, Android e UWP, você precisa criar três aplicativos no portal do App Center – um para cada plataforma. A criação de três aplicativos fornecerá três segredos do aplicativo– um para cada um. Abra o arquivo de App.xaml.cs do projeto (ou sua classe que herda de Xamarin.Forms.Application) em seu projeto compartilhado ou portátil e adicione o método abaixo no OnStart() método .

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

    Importante

    As chaves são apenas para documentar que você deve substituir esse conteúdo pelos segredos reais do aplicativo, não colocar chaves na Start chamada.

    Observação

    Caso esteja usando o SDK do HockeyApp para Android, inicialize o SDK do HockeyApp APÓS o SDK do App Center. Para seu 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.

    Observação

    As anotações das seções anteriores sobre iOS e Android também se aplicam ao Xamarin.Forms. Se esses comentários se aplicarem ao seu aplicativo, talvez seja necessário inicializar o AppCenter em locais diferentes por plataforma.

  3. [Somente para distribuir iOS] Modificar o arquivo Info.plist do projeto

    • Adicione uma nova chave para URL types ou CFBundleURLTypes no arquivo Info.plist (caso o Xcode exiba seu Info.plist como código-fonte).
    • Altere a chave do primeiro item filho para URL Schemes ou CFBundleURLSchemes.
    • Insira appcenter-${Your App Secret} como o esquema de URL e substitua ${Your App Secret} pelo Segredo do Aplicativo do seu aplicativo.

    Para obter mais informações sobre isso, consulte a Documentação de distribuição do App Center.

  4. Substitua todas as chamadas à API do HockeyApp em todo o aplicativo. As tabelas detalhadas de mapeamento de API são fornecidas abaixo.

3. Comparação de serviços e recursos

Núcleo

Recurso HockeyApp App Center
Ajustar o nível de log SharedHockeyManager.LogLevel (iOS) ou HockeyLog.LogLevel (Android) AppCenter.LogLevel
Identificar instalações Somente iOS AppCenter.GetInstallIdAsync
Identificar usuários Somente falha AppCenter.SetUserId

Análise

Recurso HockeyApp App Center
Acompanhar sessões automaticamente Sim, só pode ser desabilitado no Android Documentação (não pode ser desabilitada)
Eventos personalizados com propriedades HockeyApp.MetricsManager.TrackEvent Analytics.TrackEvent
Desabilitar o serviço em runtime MetricsManager.DisableUserMetrics (Android) ou SharedHockeyManager.DisableMetricsManager (iOS) Analytics.SetEnabledAsync

Falhas

Recurso HockeyApp App Center
Enviar falhas automaticamente Desabilitadas por padrão Documentação (habilitada por padrão)
Gerar uma falha de teste CrashManager.GenerateTestCrash (Somente iOS) Crashes.GenerateTestCrash
Anexar metadados adicionais Yes Documentação (pode ser anexada do ouvinte)
Personalizar a caixa de diálogo do usuário Yes Documentação (não fornecida por padrão)
Obter informações sobre a status de envio Somente Android Documentação
Informações sobre uma falha anterior CrashManager.GetLastCrashDetails (Android) ou CrashManager.LastSessionCrashDetails (iOS) Crashes.GetLastSessionCrashReportAsync
Desabilitar o serviço em runtime SharedHockeyManager.DisableCrashManager (somente iOS) Crashes.SetEnabledAsync

Distribuir

Observação

Ao contrário do HockeyApp, o recurso de atualizações no aplicativo do App Center só funciona com builds RELEASE (por padrão) que são distribuídos usando o serviço Distribuição do App Center . Se o aplicativo estiver usando um grupo de distribuição privado, depois que o aplicativo for instalado e aberto pela primeira vez depois que o SDK de Distribuição do App Center for adicionado, um navegador será aberto para autenticar o usuário e habilitar atualizações no aplicativo. Esse navegador também será aberto se você definir a faixa de atualização privada no aplicativo em runtime. Esta é uma etapa ONE-TIME que não ocorrerá para versões subsequentes do seu aplicativo. Consulte a Documentação de Distribuição do App Center para obter mais detalhes.

Recurso HockeyApp App Center
Atualizações restritas no aplicativo LoginManager.VerifyLogin (Android) ou Authenticator.AuthenticateInstallation (iOS) Distribute.UpdateTrack
Desabilitar o serviço em runtime UpdateManager.Unregister (Android) ou SharedHockeyManager.DisableUpdateManager (iOS) Distribute.SetEnabledAsync
Personalizar a caixa de diálogo de atualização Yes Distribute.ReleaseAvailable

Serviço de Comentários

O serviço de comentários não terá suporte no App Center. Confira Comentários do HockeyApp.