Skip to content


Outras personalizações do SDK

Nível de log 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

Registro detalhado

É possível configurar o nível de registro para qualquer valor disponível. No entanto, definir o nível de registro como detalhado, 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 o 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.

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)

Coleta opcional de IDFV - Swift

Nas versões anteriores do Swift SDK da Braze para iOS, o campo IDFV (Identifier for Vendor, identificador do fornecedor) era coletado automaticamente como o ID do dispositivo do usuário.

A partir do SDK Swift v5.7.0, o campo IDFV pode ser desativado e, em vez disso, a Braze definirá um UUID aleatório como o ID do dispositivo. Para saber mais, consulte Coleta de IDFV.

Coleção IDFA opcional

A coleção IDFA é opcional no SDK da Braze e fica desativada por padrão. A coleta IDFA só é necessária na Braze se você pretender usar nossas integrações de atribuição de instalação. Se houver aceitação de 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 a aceitação por meio de um pedido de aceitaçã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 na estrutura 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 de 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 coleção IDFA

Siga estas etapas para implementar a Coleção IDFA:

Etapa 1: Implementar o ABKIDFADelegate

Crie uma classe que esteja em conformidade com o ABKIDFADelegate protocolo:

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 do Braze

No dicionário appboyOptions passado para startWithApiKey:inApplication:withAppboyOptions:, defina a chave ABKIDFADelegateKey como uma instância de sua classe em conformidade com ABKIDFADelegate.

Tamanho aproximado do SDK do iOS

O tamanho aproximado do arquivo do framework do SDK do iOS é de 30 MB, e o tamanho aproximado do arquivo .ipa (além do arquivo do app) está entre 1 MB e 2 MB.

A Braze mede o tamanho de iOS SDK observando o efeito do SDK no tamanho do arquivo .ipa, de acordo com as recomendações da Apple sobre tamanho de apps. Se estiver calculando a adição de tamanho do SDK do iOS ao seu aplicativo, recomendamos o seguinte 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 SDK do Braze para iOS. Ao comparar os tamanhos do relatório de tamanho de afinamento de aplicativos, também recomendamos analisar os tamanhos de aplicativos 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.

New Stuff!