Skip to content


Concluir a integração

Antes de seguir estas etapas, é preciso já ter integrado o SDK usando Carthage, CocoaPods, o Swift Package Manager ou uma integração manual.

Etapa 1: Atualize seu delegado do app

Se estiver fazendo a integração do 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:

1
#import "Appboy-iOS-SDK/AppboyKit.h"

Se estiver fazendo a integração com o Swift Package Manager ou com uma integração manual estática, use esta linha de código:

1
#import "AppboyKit.h"

Em seguida, no arquivo AppDelegate.m, adicione o seguinte snippet no método application:didFinishLaunchingWithOptions::

1
2
3
[Appboy startWithApiKey:@"YOUR-APP-IDENTIFIER-API-KEY"
          inApplication:application
      withLaunchOptions:launchOptions];

Atualize YOUR-APP-IDENTIFIER-API-KEY com o valor correto em sua página Manage Settings (Gerenciar configurações ). Consulte nossa documentação da API para saber mais sobre onde encontrar a chave de API do identificador do app.

Se estiver fazendo a integração do 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:

1
import Appboy_iOS_SDK

Se estiver fazendo a integração com o Swift Package Manager ou com uma integração manual estática, use esta linha de código:

1
import AppboyKit

Consulte os documentos para desenvolvedores da Apple para saber mais sobre o uso da linguagem Objective-C em projetos Swift.

Em seguida, em AppDelegate.swift, adicione o seguinte snippet a application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool:

1
Appboy.start(withApiKey: "YOUR-APP-IDENTIFIER-API-KEY", in:application, withLaunchOptions:launchOptions)

Atualize YOUR-APP-IDENTIFIER-API-KEY com o valor correto em sua página Manage Settings (Gerenciar configurações ). Consulte nossa documentação da API para saber mais sobre onde encontrar a chave de API do identificador do app.

Etapa 2: Especifique seu cluster de dados

Configuração do endpoint em tempo de compilação (recomendado)

Se for fornecido um ponto de extremidade personalizado pré-existente:

  • A partir do SDK da Braze para iOS v3.0.2, você pode definir um endpoint personalizado usando o arquivo Info.plist. Adicione o dicionário Braze ao seu arquivo Info.plist. Dentro do dicionário Braze, adicione a subentrada string Endpoint e defina o valor da autoridade do seu URL de endpoint personalizado (por exemplo, sdk.iad-01.braze.com, não https://sdk.iad-01.braze.com). Antes do Braze iOS SDK v4.0.2, deve-se utilizar a chave do dicionário Appboy no lugar de Braze.

Seu representante Braze já deve ter informado sobre o endpoint correto.

Configuração do endpoint em tempo de execução

Se for fornecido um ponto de extremidade personalizado pré-existente:

  • A partir do Braze iOS SDK v3.17.0+, você pode substituir a definição do seu endpoint pela chave ABKEndpointKey dentro do parâmetro appboyOptions passado para startWithApiKey:inApplication:withLaunchOptions:withAppboyOptions:. Defina o valor como a autoridade do URL do seu endpoint personalizado (por exemplo, sdk.iad-01.braze.com, não https://sdk.iad-01.braze.com).

Integração completa de SDK

Agora, a Braze deve estar coletando dados do seu app, 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 conjunto completo de recursos do Braze.

Personalização do Braze na inicialização

Se desejar personalizar a Braze na inicialização, você poderá 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.

Em seu arquivo AppDelegate.m, no método application:didFinishLaunchingWithOptions:, adicione o seguinte métoda Braze:

1
2
3
4
[Appboy startWithApiKey:@"YOUR-APP-IDENTIFIER-API-KEY"
          inApplication:application
      withLaunchOptions:launchOptions
      withAppboyOptions:appboyOptions];

Note que esse método substituiria o método de inicialização startWithApiKey:inApplication:withLaunchOptions:.

Em AppDelegate.swift, no método application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool, adicione o seguinte método da Braze, em que appboyOptions é um Dictionary de valores de configuração de inicialização:

1
2
3
4
Appboy.start(withApiKey: "YOUR-APP-IDENTIFIER-API-KEY",
                 in:application,
                 withLaunchOptions:launchOptions,
                 withAppboyOptions:appboyOptions)

Note que esse método substituiria 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 do Braze.
  • application - O app atual.
  • launchOptions - As opções NSDictionary que você obtém em application:didFinishLaunchingWithOptions:.
  • appboyOptions - Um NSDictionary opcional com valores de configuração de inicialização para a Braze.

Consulte uma lista das chaves de inicialização da Braze em Appboy.h.

Appboy.sharedInstance() e a anulabilidade do Swift

Diferentemente da prática comum, o singleton Appboy.sharedInstance() é opcional. Isso ocorre porque sharedInstance é nil antes da chamada de startWithApiKey:, e há algumas implementações não padronizadas, mas ainda válidas, nas quais uma inicialização postergada pode ser utilizada.

Se você chamar startWithApiKey: em seu delegado didFinishLaunchingWithOptions: antes de qualquer acesso ao sharedInstance do Appboy (a implementação padrão), poderá usar o encadeamento opcional, como Appboy.sharedInstance()?.changeUser("testUser"), para evitar verificações complicadas. Isso terá paridade com uma implementação em Objective-C que assume um sharedInstance não nulo.

Recursos adicionais

A documentação completa da classe do iOS está disponível para fornecer orientações adicionais sobre quaisquer métodos do SDK.

New Stuff!