
AppboyKit (também conhecido como o SDK Objective-C) não é mais suportado e foi substituído pelo Swift SDK. Não receberá mais novos recursos, correções de bugs, atualizações de segurança ou suporte técnico—no entanto, o envio de mensagens e a análise de dados continuarão a funcionar normalmente. Para saber mais, veja Apresentando o Novo SDK Braze Swift.
Complete a integração
Antes de seguir estas etapas, certifique-se de que você já integrou o SDK usando Carthage, CocoaPods, Swift Package Manager ou uma integração manual.
Etapa 1: Atualize seu app delegate
Se você está integrando o SDK da Braze com CocoaPods, Carthage ou com uma integração manual dinâmica, adicione a seguinte linha de código ao seu arquivo AppDelegate.m:
#import "Appboy-iOS-SDK/AppboyKit.h"
Se você está integrando com Swift Package Manager ou com uma integração manual estática, use esta linha no lugar:
#import "AppboyKit.h"
Em seguida, no seu arquivo AppDelegate.m, adicione o seguinte snippet dentro do seu método application:didFinishLaunchingWithOptions::
[Appboy startWithApiKey:@"YOUR-APP-IDENTIFIER-API-KEY"
inApplication:application
withLaunchOptions:launchOptions];
Atualize YOUR-APP-IDENTIFIER-API-KEY com o valor correto da sua página Manage Settings. Consulte nossa documentação de API para saber mais sobre onde encontrar sua chave de API do identificador do app.
Se você está integrando o SDK da Braze com CocoaPods, Carthage ou com uma integração manual dinâmica, adicione a seguinte linha de código ao seu arquivo AppDelegate.swift:
import Appboy_iOS_SDK
Se você está integrando com Swift Package Manager ou com uma integração manual estática, use esta linha no lugar:
import AppboyKit
Consulte a documentação para desenvolvedores da Apple para saber mais sobre como usar código Objective-C em projetos Swift.
Em seguida, em AppDelegate.swift, adicione o seguinte snippet ao seu application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool:
Appboy.start(withApiKey: "YOUR-APP-IDENTIFIER-API-KEY", in:application, withLaunchOptions:launchOptions)
Atualize YOUR-APP-IDENTIFIER-API-KEY com o valor correto da sua página Manage Settings. Consulte nossa documentação de API para saber mais sobre onde encontrar sua chave de API do identificador do app.

O singleton sharedInstance será nil antes de startWithApiKey: ser chamado, pois isso é um pré-requisito para usar qualquer funcionalidade da Braze.

Certifique-se de inicializar a Braze na thread principal da sua aplicação. Inicializar de forma assíncrona pode levar a funcionalidades com comportamento incorreto.
Etapa 2: Especifique seu cluster de dados

Observe que, desde dezembro de 2019, endpoints personalizados não são mais fornecidos. Se você já possui um endpoint personalizado preexistente, pode continuar a usá-lo. Para saber mais, consulte nossa lista de endpoints disponíveis.
Configuração de endpoint em tempo de compilação (recomendado)
Se você recebeu um endpoint personalizado preexistente:
- A partir do Braze iOS SDK v3.0.2, você pode definir um endpoint personalizado usando o arquivo
Info.plist. Adicione o dicionárioBrazeao seu arquivoInfo.plist. Dentro do dicionárioBraze, adicione a subentrada de stringEndpointe defina o valor como a autoridade da URL do seu endpoint personalizado (por exemplo,sdk.iad-01.braze.com, nãohttps://sdk.iad-01.braze.com). Observe que, antes do Braze iOS SDK v4.0.2, a chave de dicionárioAppboydeve ser usada no lugar deBraze.
Seu representante da Braze já deve ter orientado você sobre o endpoint correto.
Configuração de endpoint em tempo de execução
Se você recebeu um endpoint personalizado preexistente:
- A partir do Braze iOS SDK v3.17.0+, você pode substituir e definir seu endpoint por meio do
ABKEndpointKeydentro do parâmetroappboyOptionspassado parastartWithApiKey:inApplication:withLaunchOptions:withAppboyOptions:. Defina o valor como a autoridade da URL do seu endpoint personalizado (por exemplo,sdk.iad-01.braze.com, nãohttps://sdk.iad-01.braze.com).
Integração SDK concluída
A Braze agora deve estar coletando dados do seu aplicativo, e sua integração básica deve estar concluída. Consulte os artigos a seguir para ativar o rastreamento de eventos personalizados, o envio de mensagens push e o pacote completo de recursos da Braze.
Personalizando a Braze na inicialização
Se você deseja personalizar a Braze na inicialização, pode usar o método de inicialização da Braze startWithApiKey:inApplication:withLaunchOptions:withAppboyOptions: e passar um NSDictionary opcional de chaves de inicialização da Braze.
No seu arquivo AppDelegate.m, dentro do método application:didFinishLaunchingWithOptions:, adicione o seguinte método da Braze:
[Appboy startWithApiKey:@"YOUR-APP-IDENTIFIER-API-KEY"
inApplication:application
withLaunchOptions:launchOptions
withAppboyOptions:appboyOptions];
Esse método substitui o método de inicialização startWithApiKey:inApplication:withLaunchOptions:.
Em AppDelegate.swift, dentro do método application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool, adicione o seguinte método da Braze, onde appboyOptions é um Dictionary de valores de configuração de inicialização:
Appboy.start(withApiKey: "YOUR-APP-IDENTIFIER-API-KEY",
in:application,
withLaunchOptions:launchOptions,
withAppboyOptions:appboyOptions)
Esse método substitui o método de inicialização startWithApiKey:inApplication:withLaunchOptions:.
Esse método é chamado com os seguintes parâmetros:
YOUR-APP-IDENTIFIER-API-KEY– Sua chave de API do identificador do app no dashboard da Braze.application– O app atual.launchOptions– ONSDictionaryde opções que você obtém deapplication:didFinishLaunchingWithOptions:.appboyOptions– UmNSDictionaryopcional com valores de configuração de inicialização da Braze.
Consulte Appboy.h para uma lista de chaves de inicialização da Braze.
Appboy.sharedInstance() e nulabilidade no Swift
Diferindo um pouco da prática comum, o singleton Appboy.sharedInstance() é opcional. Isso ocorre porque sharedInstance é nil antes de startWithApiKey: ser chamado, e existem algumas implementações não padronizadas, mas válidas, em que uma inicialização postergada pode ser usada.
Se você chamar startWithApiKey: no delegate didFinishLaunchingWithOptions: antes de qualquer acesso ao sharedInstance da Appboy (a implementação padrão), pode usar optional chaining, como Appboy.sharedInstance()?.changeUser("testUser"), para evitar verificações trabalhosas. Isso terá paridade com uma implementação em Objective-C que assumia um sharedInstance não nulo.
Recursos adicionais
A documentação completa das classes do iOS está disponível para fornecer orientações adicionais sobre quaisquer métodos do SDK.