Migrar do HockeySDK para o SDK do App Center para iOS
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.
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
1.1 Remover HockeySDK antigo
Manual
Se você adicionou o SDK manualmente, siga estas etapas:
Remova
HockeySDK.embeddedframework
a referência do projeto XCode. Clique no botão Remover referência , não clique no botão Mover para Lixeira .Abra as configurações do projeto e, na guia Configurações de Build, nas seções Caminhos de Pesquisa de Cabeçalho Caminhos / de PesquisaDa Estrutura Caminhos de Pesquisa, remova os locais para arquivos de cabeçalho relacionados ao HockeySDK.
Abra as configurações do projeto e, na guia Fases de Build, na seção Vincular Binário com Bibliotecas , remova as entradas de dependência relacionadas ao HockeySDK.
Excluir
HockeySDK.embeddedframework
do sistema de arquivos.
Podfile
Se você adicionou o SDK usando CocoaPods, remova a pod "HockeySDK"
linha do Podfile e execute pod install
.
Carthage
Remova as referências do HockeySDK do
Cartfile
. ExcluirCartfile.Resolved
do sistema de arquivos.Exclua
HockeySDK.framework
eHockeySDK.framework.dSYM
do projeto XCode e clique no botão Mover para a Lixeira .Abra a guia Fases de Build e localize a seção Executar Script . Remova HockeyApp do
input.xcfilelist
eoutput.xcfilelist
do .
1.2 Adicionar o novo SDK do App Center
O SDK do App Center dá suporte à integração por meio do Cocoapods, Carthage, Swift Package Manager e usando as Estruturas em seu projeto Xcode. Leia instruções detalhadas sobre como integrar o SDK do App Center na documentação do SDK do App Center.
Observação
O SDK do App Center foi projetado com uma abordagem modular para que você possa usar qualquer um ou todos os serviços. 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 uma 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
Substitua as importações a seguir em sua classe AppDelegate .
Antes:
@import HockeySDK;
import HockeySDK
Após:
@import AppCenter; @import AppCenterAnalytics; @import AppCenterCrashes; @import AppCenterDistribute;
import AppCenter import AppCenterAnalytics import AppCenterCrashes import AppCenterDistribute
Substituir código de registro
Localize o
didFinishLaunchingWithOptions
método e substitua as ocorrências de código do HockeyApp.Antes:
[[BITHockeyManager sharedHockeyManager] configureWithIdentifier:@"APP_IDENTIFIER"]; [[BITHockeyManager sharedHockeyManager] startManager]; [[BITHockeyManager sharedHockeyManager].authenticator authenticateInstallation];
BITHockeyManager.shared().configure(withIdentifier: "APP_IDENTIFIER") BITHockeyManager.shared().start() BITHockeyManager.shared().authenticator.authenticateInstallation()
Após:
[MSACAppCenter start:@"{Your app secret}" withServices:@[[MSACAnalytics class], [MSACCrashes class], [MSACDistribute class]]];
AppCenter.start(withAppSecret: "{Your App Secret}", services: [Analytics.self, Crashes.self, Distribute.self])
Observação
O SDK do App Center não tem equivalentes para
[[BITHockeyManager sharedHockeyManager] configureWithBetaIdentifier:liveIdentifier:delegate]
.[Opcional] Modificar o Info.plist do projeto
Se você pretende usar Distribuir, siga as etapas acima:
- Adicione uma nova chave para
URL types
ouCFBundleURLTypes
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
ouCFBundleURLSchemes
. - Insira
appcenter-${APP_SECRET}
como o esquema de URL e substitua${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.
- Adicione uma nova chave para
Substitua 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 | [BITHockeyManager sharedHockeyManager].logLevel = BITLogLevelVerbose |
[MSACAppCenter setLogLevel:MSACLogLevelVerbose] |
Identificar instalações | [BITHockeyManager sharedHockeyManager].installString |
[MSACAppCenter installId] |
Identificar usuários | [BITHockeyManager sharedHockeyManager].userID |
[MSACAppCenter setUserId:@"your-user-id"] |
Análise
O HockeySDK habilita a coleta de métricas por padrão.
O SDK do App Center registra o serviço de Análise somente se você passar Analytics
a classe para o start
método .
Recurso | HockeyApp | App Center |
---|---|---|
Acompanhar sessões automaticamente | Não pode ser desabilitado | Documentação (não pode ser desabilitada) |
Eventos personalizados com propriedades | Yes | [MSACAnalytics trackEvent:withProperties:] |
Desabilitar o serviço em runtime | [BITHockeyManager sharedHockeyManager].disableMetricsManager = YES |
[MSACAnalytics setEnabled:NO] |
Falhas
O HockeySDK permite relatórios de falhas por padrão. As falhas serão enviadas imediatamente ao servidor na próxima vez que o aplicativo for iniciado.
O SDK do App Center registra o serviço Falhas somente se você passar Crashes
a classe para o start
método .
Recurso | HockeyApp | App Center |
---|---|---|
Enviar falhas automaticamente | [[BITHockeyManager sharedHockeyManager].crashManager setCrashManagerStatus: BITCrashManagerStatusAutoSend] |
Documentação (habilitada por padrão) |
Gerar uma falha de teste | [[BITHockeyManager sharedHockeyManager].crashManager generateTestCrash] |
[MSACCrashes generateTestCrash] |
Informações sobre a falha anterior | [[BITHockeyManager sharedHockeyManager].crashManager lastSessionCrashDetails] |
[MSACCrashes lastSessionCrashReport] |
Tratamento de exceção mach | Desabilitadas por padrão | Documentação (habilitada por padrão) |
Anexar metadados adicionais | Yes | Documentação (pode ser anexada do delegado) |
Personalizar caixa de diálogo do usuário | setAlertViewHandler | Documentação (não fornecida por padrão) |
Desabilitar o serviço em runtime | [[BITHockeyManager sharedHockeyManager] setDisableCrashManager: YES] |
[MSACCrashes setEnabled:NO] |
Distribuir
Observação
Ao contrário do HockeyApp, o recurso de atualizações no aplicativo do App Center só funcionará com builds distribuídos usando o serviço Distribuição do App Center. Distribuir não funcionará quando o depurador estiver anexado. 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 única 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.
O HockeySDK não habilita atualizações no aplicativo por padrão.
O SDK do App Center registra o serviço de atualizações no aplicativo somente se você passar Distribute
a classe para o start
método . Esse módulo é habilitado por padrão, ao contrário do HockeySDK.
Recurso | HockeyApp | App Center |
---|---|---|
Atualizações restritas no aplicativo | [[BITHockeyManager sharedHockeyManager].authenticator authenticateInstallation] |
MSACDistribute.updateTrack |
Desabilitar o serviço em runtime | [[BITHockeyManager sharedHockeyManager] setDisableUpdateManager: YES] |
[MSACDistribute setEnabled:NO] |
Personalizar a caixa de diálogo de atualização | shouldDisplayUpdateAlertForUpdateManager | Documentação |