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
.
O SDK do Swift não captura notificações por push que não sejam do Braze - elas continuarão a ser tratadas pelos métodos delegados do sistema.
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;
}
Braze.prepareForDelayedInitialization(pushAutomation:) recebe um parâmetro opcional pushAutomation
que representa a configuração de automação para notificações por push. Quando Braze.Configuration.Push.Automation é nil
, todos os recursos de automação são ativados, exceto a solicitação de autorização no lançamento.
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.