
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.
Outras personalizações do SDK
Nível de registro da Braze
O nível de registro padrão para o Braze iOS SDK é mínimo, ou 8 no gráfico a seguir. Esse nível suprime a maioria dos registros para que nenhuma informação sensível seja registrada em um aplicativo lançado em produção.
Consulte a seguinte lista de níveis de registro disponíveis:
Níveis de registro
| Nível | Descrição |
|---|---|
| 0 | Verbose. Todas as informações de registro serão registradas no console do iOS. |
| 1 | Depuração. As informações de depuração e de nível superior serão registradas no console do iOS. |
| 2 | Aviso. As informações de aviso e de nível superior serão registradas no console do iOS. |
| 4 | Erro. As informações de erro e de nível superior serão registradas no console do iOS. |
| 8 | Mínimo. O mínimo de informações será registrado no console do iOS. A configuração padrão do SDK. |
Registro detalhado
É possível configurar o nível de registro para qualquer valor disponível. No entanto, definir o nível de registro como verbose, ou 0, pode ser muito útil para depurar problemas com a sua integração. Esse nível é destinado apenas a ambientes de desenvolvimento e não deve ser definido em um aplicativo lançado. O registro detalhado não enviará nenhuma informação extra ou nova do usuário para a Braze.
Definição do nível de registro
O nível de registro pode ser atribuído em tempo de compilação ou em tempo de execução:
Adicione um dicionário chamado Braze ao seu arquivo Info.plist. No dicionário Braze, adicione a subentrada string LogLevel e defina o valor como 0.

Antes do Braze iOS SDK v4.0.2, a chave do dicionário Appboy deve ser usada no lugar de Braze.
Exemplo do conteúdo de Info.plist:
1
2
3
4
5
<key>Braze</key>
<dict>
<key>LogLevel</key>
<string>0</string>
</dict>
Adicione o ABKLogLevelKey dentro do parâmetro appboyOptions passado para startWithApiKey:inApplication:withLaunchOptions:withAppboyOptions:. Defina seu valor como o número inteiro 0.
1
2
3
4
5
6
NSMutableDictionary *appboyOptions = [NSMutableDictionary dictionary];
appboyOptions[ABKLogLevelKey] = @(0);
[Appboy startWithApiKey:@"YOUR-API-KEY"
inApplication:application
withLaunchOptions:launchOptions
withAppboyOptions:appboyOptions];
1
2
3
4
let appboyOptions: [AnyHashable: Any] = [
ABKLogLevelKey : 0
]
Appboy.start(withApiKey: "YOUR-API-KEY", in:application, withLaunchOptions:launchOptions, withAppboyOptions:appboyOptions)

O nível de registro só pode ser definido em tempo de execução com o Braze iOS SDK v4.4.0 ou mais recente. Se estiver usando uma versão anterior do SDK, defina o nível de registro no momento da compilação.
Coleta opcional de IDFV - Swift
Nas versões anteriores do Braze iOS Swift SDK, o campo IDFV (Identifier for Vendor) era coletado automaticamente como o ID do dispositivo do usuário.
A partir do Swift SDK v5.7.0, o campo IDFV pode ser desativado opcionalmente e, em vez disso, a Braze definirá um UUID aleatório como o ID do dispositivo. Para saber mais, consulte Coleta de IDFV.
Coleta opcional de IDFA
A coleta de IDFA é opcional no SDK da Braze e fica desativada por padrão. A coleta de IDFA só é necessária na Braze se você pretender usar nossas integrações de atribuição da instalação. Se você optar por armazenar seu IDFA, nós o armazenaremos gratuitamente, para que você possa aproveitar essas opções imediatamente após o lançamento, sem trabalho de desenvolvimento adicional.
Por isso, recomendamos que você continue coletando o IDFA se atender a qualquer um dos critérios a seguir:
- Você está atribuindo a instalação do app a um anúncio veiculado anteriormente
- Você está atribuindo uma ação no aplicativo a um anúncio veiculado anteriormente
iOS 14.5 AppTrackingTransparency
A Apple exige que os usuários façam opt-in por meio de uma solicitação de permissão para coletar o IDFA.
Para coletar o IDFA, além de implementar nosso protocolo ABKIDFADelegate, seu aplicativo precisará solicitar autorização do usuário usando o ATTrackingManager da Apple no framework de transparência de rastreamento do app. Consulte o artigo sobre privacidade do usuário da Apple para saber mais.
A solicitação de autorização de transparência de rastreamento do app requer uma entrada Info.plist para explicar o uso do identificador:
1
2
<key>NSUserTrackingUsageDescription</key>
<string>To retarget ads and build a global profile to better serve you things you would like.</string>
Implementação da coleta de IDFA
Siga estas etapas para implementar a coleta de IDFA:
Etapa 1: Implementar o ABKIDFADelegate
Crie uma classe que esteja em conformidade com o protocolo ABKIDFADelegate:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#import "IDFADelegate.h"
#import <AdSupport/ASIdentifierManager.h>
#import <AppTrackingTransparency/AppTrackingTransparency.h>
@implementation IDFADelegate
- (NSString *)advertisingIdentifierString {
return [[[ASIdentifierManager sharedManager] advertisingIdentifier] UUIDString];
}
- (BOOL)isAdvertisingTrackingEnabledOrATTAuthorized {
if (@available(iOS 14, *)) {
return [ATTrackingManager trackingAuthorizationStatus] == ATTrackingManagerAuthorizationStatusAuthorized;
}
return [[ASIdentifierManager sharedManager] isAdvertisingTrackingEnabled];
}
@end
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
import Appboy_iOS_SDK
import AdSupport
import AppTrackingTransparency
class IDFADelegate: NSObject, ABKIDFADelegate {
func advertisingIdentifierString() -> String {
return ASIdentifierManager.shared().advertisingIdentifier.uuidString
}
func isAdvertisingTrackingEnabledOrATTAuthorized() -> Bool {
if #available(iOS 14, *) {
return ATTrackingManager.trackingAuthorizationStatus == ATTrackingManager.AuthorizationStatus.authorized
}
return ASIdentifierManager.shared().isAdvertisingTrackingEnabled
}
}
Etapa 2: Definir o delegado durante a inicialização da Braze
No dicionário appboyOptions passado para startWithApiKey:inApplication:withAppboyOptions:, defina a chave ABKIDFADelegateKey como uma instância da sua classe em conformidade com ABKIDFADelegate.
Tamanho aproximado do SDK do iOS
O tamanho aproximado do arquivo do framework do iOS SDK é de 30 MB, e o tamanho aproximado do .ipa (adição ao arquivo do app) está entre 1 MB e 2 MB.
A Braze mede o tamanho do nosso iOS SDK observando o efeito do SDK no tamanho do .ipa, de acordo com as recomendações da Apple sobre tamanho de apps. Se estiver calculando a adição de tamanho do iOS SDK ao seu aplicativo, recomendamos seguir Obter um relatório de tamanho do app para comparar a diferença de tamanho no seu .ipa antes e depois da integração do Braze iOS SDK. Ao comparar os tamanhos do relatório de afinamento de apps, também recomendamos analisar os tamanhos de apps para arquivos .ipa afinados, pois os arquivos .ipa universais serão maiores do que os binários baixados da App Store e instalados nos dispositivos dos usuários.

Se estiver integrando via CocoaPods com use_frameworks!, defina Enable Bitcode = NO nas configurações de build do alvo para obter um dimensionamento preciso.