Skip to content

Postergação da inicialização do Braze Swift SDK

Saiba como inicializar o SDK do Braze Swift de forma assíncrona e, ao mesmo tempo, garantir que o tratamento de notificações por push seja preservado. Isso pode ser útil quando for necessário configurar outros serviços antes de inicializar o SDK, como buscar dados de configuração de um servidor ou aguardar o consentimento do usuário.

Configuração da inicialização por postergação

Etapa 1: Preparando o SDK para inicialização com postergação

Por padrão, se um usuário final abrir a notificação por push enquanto o app estiver em um estado finalizado, a notificação por push não poderá ser processada antes que o SDK seja inicializado.

A partir do Braze Swift SDK versão 10.1.0 e posteriores, você pode lidar com isso usando o método auxiliar estático: Braze.prepareForDelayedInitialization(pushAutomation:). Esse método preparará o SDK para a inicialização por postergação, configurando o sistema de automação push.

Antes de o SDK ser inicializado, todas as notificações por push originadas do Braze serão capturadas e colocadas em uma fila. Depois que o SDK for inicializado, essas notificações por push serão processadas pelo SDK. Esse método deve ser chamado o mais cedo possível no ciclo de vida do aplicativo, dentro ou antes do método application(_:didFinishLaunchingWithOptions:) do seu AppDelegate.

1
2
3
4
5
6
7
8
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
  // Prepare the SDK for delayed initialization
  Braze.prepareForDelayedInitialization()

  // ... Additional non-Braze setup code

  return true
}

Os aplicativos SwiftUI exigem a implementação do wrapper da propriedade @UIApplicationDelegateAdaptor para chamar o método prepareForDelayedInitialization().

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
@main
struct MyApp: App {
  @UIApplicationDelegateAdaptor var appDelegate: AppDelegate

  var body: some Scene {
    WindowGroup {
      ContentView()
    }
  }
}

class AppDelegate: NSObject, UIApplicationDelegate {
  
  func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey : Any]? = nil) -> Bool {
    // Prepare the SDK for delayed initialization
    Braze.prepareForDelayedInitialization()

    // ... Additional non-Braze setup code

    return true
  }
  
}
1
2
3
4
5
6
7
8
9
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
  // Prepare the SDK for delayed initialization
  [Braze prepareForDelayedInitialization];
  
  // ... Additional non-Braze setup code

  return YES;
}

Etapa 2: Inicializando o SDK do Braze

Depois de preparar o SDK para a inicialização por postergação, você pode inicializá-lo de forma assíncrona a qualquer momento no futuro. Em seguida, o SDK processará todos os eventos de notificações por push enfileirados originados do Braze.

Para inicializar o SDK do Braze, siga o processo padrão de inicialização do SDK do Swift.

Considerações

Ao usar Braze.prepareForDelayedInitialization(pushAutomation:), você está configurando o SDK para usar automaticamente os recursos de automação de notificações por push. Os métodos delegados do sistema que manipulam notificações por push não serão chamados para notificações por push originadas do Braze.

O SDK somente processará uma notificação por push do Braze e a ação resultante depois que o SDK for inicializado. Por exemplo, se um usuário tocar em uma notificação por push que abre um deep linking, o deep link só será aberto depois que a instância Braze for inicializada.

Se você precisar realizar um processamento adicional nas notificações por push do Braze, consulte Assinatura de atualizações de notificações por push. Lembre-se de que, para receber atualizações de notificações por push que foram enfileiradas anteriormente, você deve implementar o manipulador de inscrição diretamente após a inicialização do SDK.

QUÃO ÚTIL FOI ESTA PÁGINA?
New Stuff!