Pular para o conteúdo

Guia de integração avançada do SDK iOS

Esta seção fornece informações sobre a integração avançada do SDK iOS da Pushwoosh.

Modos em segundo plano

Anchor link to

Para habilitar essa funcionalidade, você deve adicionar Modos em Segundo Plano ao seu projeto.

Etapas para habilitar os modos em segundo plano

Anchor link to
  1. Abra seu projeto no Xcode e selecione-o no Project Navigator.
  2. Escolha o destino do seu aplicativo no painel esquerdo.
  3. Navegue até a aba Signing & Capabilities.
  4. Clique no botão + Capability no canto superior esquerdo.
  5. Procure e selecione Background Modes na lista.
  6. Na seção Background Modes, habilite Remote notifications marcando a caixa.

Uma vez concluído, seu aplicativo poderá lidar com notificações push, incluindo as silenciosas, enquanto estiver em execução em segundo plano.

Modos em primeiro plano

Anchor link to

Por padrão, o SDK iOS da Pushwoosh exibe o banner de notificação quando o aplicativo está em execução em primeiro plano.

Você pode controlar esse comportamento definindo o seguinte sinalizador booleano em seu código (ou seja, em seu AppDelegate):

// Set false to disable foreground notifications, true to enable it
Pushwoosh.sharedInstance().showPushnotificationAlert = true

Nível de log

Anchor link to

O SDK iOS da Pushwoosh suporta os seguintes níveis de log:

  • NONE - Nenhum log do SDK.
  • ERROR - Exibe apenas mensagens de erro no console.
  • WARNING - Exibe avisos além dos erros.
  • INFO - Inclui mensagens informativas (configuração padrão).
  • DEBUG - Inclui informações detalhadas de depuração.

Por padrão, o nível de log é definido como INFO, garantindo que o SDK forneça informações relevantes sem sobrecarregar o console do desenvolvedor.

Para modificar o nível de log, atualize a chave Pushwoosh_LOG_LEVEL no arquivo Info.plist do seu aplicativo:

<key>Pushwoosh_LOG_LEVEL</key>
<string>YOUR_LOG_LEVEL</string>

Alternativamente, você pode alterar o nível de log usando o trecho de código abaixo:

Pushwoosh.Debug.setLogLevel(.PW_LL_DEBUG)

Substitua YOUR_LOG_LEVEL pelo nível desejado (por exemplo, DEBUG ou ERROR).

UNNotificationCenterDelegate Personalizado

Anchor link to

Se você deseja usar seu próprio UNNotificationCenterDelegate (por exemplo, para notificações locais), você deve informar o SDK da Pushwoosh sobre isso para um comportamento adequado. Você pode fazer isso com a propriedade notificationCenterDelegateProxy da instância Pushwoosh:

Pushwoosh.sharedInstance()?.notificationCenterDelegateProxy.add(my_delegate)

Em seguida, implemente os métodos UNNotificationCenterDelegate em seu delegado:

func userNotificationCenter(
_ center: UNUserNotificationCenter,
willPresent notification: UNNotification,
withCompletionHandler completionHandler: @escaping (UNNotificationPresentationOptions) -> Void
) {
if (!PWMessage.isPushwooshMessage(notification.request.content.userInfo)) {
// Handle your notification
completionHandler(UNNotificationPresentationOptions.alert)
}
}
func userNotificationCenter(
_ center: UNUserNotificationCenter,
didReceive response: UNNotificationResponse,
withCompletionHandler completionHandler: @escaping () -> Void
) {
if (!PWMessage.isPushwooshMessage(response.notification.request.content.userInfo)) {
// Handle your notification
completionHandler()
}
}

Inicialização Lenta do Pushwoosh

Anchor link to

O sinalizador Pushwoosh_LAZY_INITIALIZATION impede a inicialização automática do SDK da Pushwoosh quando o aplicativo é iniciado. Isso permite um maior controle sobre quando os serviços do SDK da Pushwoosh são iniciados.

Quando este sinalizador está habilitado, o SDK da Pushwoosh não inicia seus serviços até que os métodos do SDK iOS da Pushwoosh sejam explicitamente chamados.

Adicione a seguinte entrada ao Info.plist:

<key>Pushwoosh_LAZY_INITIALIZATION</key>
<true/>

Casos de Uso

  1. Inicialização Controlada do SDK – O sinalizador Pushwoosh_LAZY_INITIALIZATION permite atrasar a inicialização do SDK da Pushwoosh, dando mais controle sobre quando os serviços push são ativados.

  2. Ativação Push Adiada – Em alguns aplicativos, as notificações push devem ser inicializadas apenas sob condições específicas. Habilitar este sinalizador garante que o SDK da Pushwoosh inicie somente quando explicitamente solicitado.

  3. Configuração Push Específica do Usuário – Alguns aplicativos podem exigir a personalização das configurações de notificação push com base nas preferências do usuário ou nas configurações da conta. Com a inicialização lenta, o SDK da Pushwoosh inicia somente após a determinação da configuração apropriada.

Lista completa de propriedades do Info.plist

Anchor link to
PropriedadeDescriçãoValores Possíveis
Pushwoosh_APPIDDefine o ID do aplicativo Pushwoosh para a compilação de produção.XXXXX-XXXXX
Tipo: String
Pushwoosh_APPID_DevDefine o ID do aplicativo Pushwoosh para a compilação de desenvolvimento.XXXXX-XXXXX
Tipo: String
Pushwoosh_SHOW_ALERTExibe o alerta de notificação em primeiro plano.YES (padrão) / NO
Tipo: Booleano
Pushwoosh_ALERT_TYPEDefine o estilo do alerta de notificação.BANNER (padrão) / ALERT / NONE
Tipo: String
Pushwoosh_BASEURLSubstitui a URL base do servidor Pushwoosh.https://cp.pushwoosh.com/json/1.3/ (padrão)
Tipo: String
Pushwoosh_AUTO_ACCEPT_DEEP_LINK_FOR_SILENT_PUSHSe YES, os Deep Links recebidos em pushes silenciosos serão processados automaticamente.YES (padrão) / NO
Tipo: Booleano
Pushwoosh_ALLOW_SERVER_COMMUNICATIONPermite que o SDK envie requisições de rede para os servidores Pushwoosh.YES (padrão) / NO
Tipo: Booleano
Pushwoosh_ALLOW_COLLECTING_DEVICE_DATAPermite que o SDK colete e envie dados do dispositivo (versão do SO, localidade e modelo) para o servidor.YES (padrão) / NO
Tipo: Booleano
Pushwoosh_ALLOW_COLLECTING_DEVICE_OS_VERSIONPermite que o SDK colete e envie a versão do SO do dispositivo para o servidor.YES (padrão) / NO
Tipo: Booleano
Pushwoosh_ALLOW_COLLECTING_DEVICE_LOCALEPermite que o SDK colete e envie a localidade do dispositivo para o servidor.YES (padrão) / NO
Tipo: Booleano
Pushwoosh_ALLOW_COLLECTING_DEVICE_MODELPermite que o SDK colete e envie o modelo do dispositivo para o servidor.YES (padrão) / NO
Tipo: Booleano
Pushwoosh_LOG_LEVELNível de log do SDK da Pushwoosh. Para detalhes, consulte Controlando o Nível de Log.NONE / ERROR / WARNING / INFO (padrão) / DEBUG / VERBOSE
Tipo: String
Pushwoosh_PURCHASE_TRACKING_ENABLEDPermite que o SDK rastreie compras no aplicativo. Necessário para o Construtor de Jornada do Cliente.YES / NO (padrão)
Tipo: Booleano