FAQ do SDK para iOS
FAQ de integração com iOS
Anchor link toP: Como posso instalar o SDK da Pushwoosh no meu projeto iOS?
Anchor link toVocê pode integrar o SDK da Pushwoosh usando o Swift Package Manager ou o CocoaPods.
P: Como instalo o SDK da Pushwoosh usando o Swift Package Manager?
Anchor link toNo Xcode, navegue até a seção Package Dependencies e adicione o pacote usando a seguinte URL: https://github.com/Pushwoosh/Pushwoosh-XCFramework.
P: Como instalo o SDK da Pushwoosh usando o CocoaPods?
Anchor link toAbra o Podfile do seu projeto e adicione a linha pod 'PushwooshXCFramework'. Em seguida, execute o comando pod install no terminal.
P: Quais capabilities preciso adicionar ao meu projeto para habilitar as Notificações Push?
Anchor link toNa seção Signing & Capabilities das configurações do seu projeto, você precisa adicionar as capabilities Push Notifications e Background Modes. Ao adicionar Background Modes, certifique-se de marcar a caixa para Remote notifications.
P: Qual capability adicional é necessária para Time Sensitive Notifications (Notificações Sensíveis ao Tempo)?
Anchor link toSe você pretende usar Time Sensitive Notifications (iOS 15+), também precisa adicionar a capability Time Sensitive Notifications.
P: Onde preciso adicionar o código de inicialização da Pushwoosh?
Anchor link toO código de inicialização precisa ser adicionado à sua classe AppDelegate.
P: Qual código de inicialização devo adicionar no AppDelegate do SwiftUI?
Anchor link toConsulte o exemplo de código Swift fornecido para integrar a Pushwoosh em um projeto SwiftUI.
P: Qual código de inicialização devo adicionar em um AppDelegate Swift padrão?
Anchor link toConsulte o exemplo de código Swift fornecido para integrar a Pushwoosh em um projeto Swift padrão.
P: Qual código de inicialização devo adicionar em um AppDelegate Objective-C?
Anchor link toConsulte o exemplo de código Objective-C fornecido para integrar a Pushwoosh em um projeto Objective-C.
P: Quais chaves preciso adicionar ao meu arquivo Info.plist?
Anchor link toVocê precisa adicionar a chave Pushwoosh_APPID definida com o seu Código de Aplicativo e a chave PW_API_TOKEN definida com o seu Token de API no arquivo Info.plist do seu aplicativo.
P: Qual é o propósito do rastreamento de entrega de mensagens?
Anchor link toA Pushwoosh suporta o rastreamento de eventos de entrega para notificações push usando a Notification Service Extension.
P: Como adiciono uma Notification Service Extension ao meu projeto?
Anchor link toNo Xcode, vá para File > New > Target…, escolha Notification Service Extension e pressione Next. Insira um nome para o target e pressione Finish. Quando solicitado para ativar, pressione Cancel.
P: Como adiciono o SDK da Pushwoosh à Notification Service Extension?
Anchor link toAdicione o trecho de código Swift ou Objective-C fornecido ao arquivo principal .swift ou .m da sua Notification Service Extension. Este código utiliza o PWNotificationExtensionManager para lidar com a solicitação de notificação.
P: Qual é o propósito dos App Groups?
Anchor link toA capability App Groups é necessária para permitir que a Notification Service Extension se comunique com o aplicativo principal.
P: Como habilito os App Groups para o meu target principal e para a Notification Service Extension?
Anchor link toPara ambos os targets, vá para Signing & Capabilities, adicione a capability App Groups e crie um novo grupo pressionando o botão +. Certifique-se de que o nome do grupo comece com group. e use o mesmo nome de grupo para ambos os targets.
P: Quais chaves preciso adicionar ao Info.plist do meu target principal para os App Groups?
Anchor link toNo Info.plist do seu target principal, adicione a chave PW_APP_GROUPS_NAME e defina seu valor para o nome do seu grupo de App Groups.
P: Quais chaves preciso adicionar ao Info.plist da minha Notification Service Extension?
Anchor link toNo Info.plist da sua Notification Service Extension, adicione a chave PW_APP_GROUPS_NAME (definida com o nome do seu grupo de App Groups) e a chave Pushwoosh_APPID (definida com o seu Código de Aplicativo).
P: Como verifico a integração da Pushwoosh?
Anchor link toApós compilar e executar seu projeto, vá para o Painel de Controle da Pushwoosh e envie uma notificação push para o seu aplicativo. Você deve ver a notificação aparecer no seu dispositivo.
P: Quais são os dois callbacks principais para lidar com notificações push no SDK da Pushwoosh?
Anchor link toOs dois callbacks principais são onMessageReceived e onMessageOpened.
P: Quando o callback onMessageReceived é invocado?
Anchor link toO método onMessageReceived é chamado quando uma notificação push é recebida pelo aplicativo.
P: Quando o callback onMessageOpened é invocado?
Anchor link toO método onMessageOpened é chamado quando o usuário interage e abre uma notificação push.
P: Como posso acessar o payload de uma notificação push recebida ou aberta?
Anchor link toO payload de um objeto PWMessage (passado para os callbacks onMessageReceived e onMessageOpened) pode ser acessado através de sua propriedade payload.
P: Como posso definir um ID de usuário na Pushwoosh?
Anchor link toUse o método setUserId(_:) do objeto Pushwoosh.sharedInstance(), passando o ID do usuário como argumento.
P: Como posso definir o endereço de e-mail de um usuário na Pushwoosh?
Anchor link toUse o método setEmail(_:) do objeto Pushwoosh.sharedInstance(), fornecendo o e-mail do usuário.
Como posso definir informações adicionais do usuário como tags na Pushwoosh?
Anchor link toUse o método setTags(_:) do objeto Pushwoosh.sharedInstance(), passando um dicionário onde as chaves são os nomes das tags e os valores são os valores correspondentes das tags.
Como posso rastrear um evento de usuário com atributos adicionais?**
Anchor link toUse o método postEvent(_:withAttributes:) do PWInAppManager.shared(), fornecendo o nome do evento (por exemplo, "login") e um dicionário de atributos (por exemplo, "name", "last_login").
P: Como posso rastrear um evento de compra de usuário com detalhes do produto?
Anchor link toUse o método postEvent(_:withAttributes:) do PWInAppManager.shared() com o nome do evento "purchase" e um dicionário contendo detalhes do produto como "product_id", "product_name", "price" e "quantity".
P: Como configuro um delegate para lidar com a apresentação de rich media?
Anchor link toNo seu view controller ou em outra classe apropriada, conforme-se ao protocolo PWRichMediaPresentingDelegate e defina a propriedade delegate de PWRichMediaManager.shared() para a sua instância conformada.
P: Como posso configurar o estilo de apresentação de rich media?
Anchor link toUse o objeto PWModalWindowConfiguration.shared() para configurar propriedades como a posição da janela modal e as animações de apresentação/dispensa usando o método configureModalWindow(with:present:dismiss:).
P: Quais informações posso acessar nos métodos do delegate de rich media?**
Anchor link toOs métodos do delegate fornecem acesso ao objeto PWRichMedia, que contém informações sobre o conteúdo de rich media, incluindo seu pushPayload. O método presentingDidFailForRichMedia:withError: também fornece um objeto Error descrevendo a falha.
Solução de problemas
Anchor link toP: Erro “Your provisioning profile does not have APS entry”
Anchor link toSe você vir a mensagem de erro “Your provisioning profile does not have APS entry.”, certifique-se de que seu perfil de provisionamento é compatível com push e possui a string aps-environment com o valor production ou development. A maneira mais fácil de verificar é abrir o perfil de provisionamento móvel em qualquer editor de texto e procurar pela string aps-environment. Ela deve estar lá.
Se estiver, e você continuar recebendo o erro, significa que o Xcode ainda está selecionando um perfil “não compatível com push”. Por favor, certifique-se de que você está assinando com o correto - às vezes, se você tiver dois perfis para o mesmo App ID, o Xcode se confunde e assina com o antigo.
Os passos recomendados são:
- Remova todos os perfis do Xcode;
- Adicione o único e novo perfil;
- Recompile o aplicativo.
P: Qual é a aparência do push token e do hwid do iOS?
Anchor link toOs push tokens de dispositivos iOS são strings com 64 símbolos hexadecimais. Exemplo de push token:
03df25c845d460bcdad7802d2vf6fc1dfde97283bf75cc993eb6dca835ea2e2f
Certifique-se de que os push tokens do iOS que você usa ao direcionar dispositivos específicos em suas solicitações de API estejam em letras minúsculas.
A Pushwoosh usa o IDFV como o HWID do dispositivo. Note que ele pode mudar caso o usuário reinstale todos os aplicativos de um fornecedor específico.
CBAF8ED1-17FB-49A3-73BD-DC79B63AEF93
P: Como eu ativo e desativo o banner quando meu aplicativo está em execução?
Anchor link toPor padrão, nosso SDK mais recente para iOS exibe o banner de notificação quando o aplicativo está em execução em primeiro plano.
Você pode controlar esse comportamento alterando as seguintes flags no Info.plist:
Flag Pushwoosh_ALERT_TYPE – tipo string, os valores são:
BANNER– valor padrão, exibe um alerta de banner no aplicativoALERT– notificação de alertaNONE– não mostrar notificações quando o aplicativo está em primeiro plano
P: Como obtenho o push token do meu dispositivo iOS para usar em Dispositivos de Teste?
Anchor link toPara obter o push token do seu dispositivo iOS,
- Abra o Xcode => Devices & Simulators;
- Conecte o dispositivo de teste ao seu computador;
- Selecione seu dispositivo conectado na lista de dispositivos à esquerda;
- Clique no botão Open Console.

Inicie o aplicativo para o qual você precisa do push token do dispositivo e localize seu push token de 64 caracteres hexadecimais na linha “Registered for push notifications”:

P: Por que os badges não são limpos depois que eu desinstalo e reinstalo meu aplicativo em um curto período?
Anchor link toEste é um comportamento esperado - os badges são gerenciados pelo próprio iOS e seus valores são armazenados nas preferências do aplicativo, que não são removidas instantaneamente quando você desinstala seu aplicativo. O valor de um badge permanece lá por algum tempo em caso de reinstalação imediata, resultando nos mesmos badges sendo exibidos após a reinstalação de um aplicativo.