Guia de integração básica do SDK do Unity
Esta seção contém informações sobre como integrar o SDK do Unity da Pushwoosh em seu aplicativo.
Pré-requisitos
Anchor link toPara integrar o SDK do Unity da Pushwoosh em seu aplicativo, você precisará do seguinte:
Passos de integração
Anchor link to1. Adicionar Dependência do SDK do Unity da Pushwoosh
Anchor link toImporte o plugin de notificação push do Unity para a sua pasta Assets no Unity.
2. Inicialização do SDK do Unity
Anchor link toCrie o script PushNotificator.cs e anexe-o ao Camera Object na cena.
No script:
- Inicialize o SDK da Pushwoosh com o código do aplicativo e o número do projeto Firebase.
- Chame
RegisterForPushNotifications()em sua lógica de inicialização para se registrar para notificações push. - Adicione manipuladores de eventos de registro para gerenciar eventos de registro de push:
using UnityEngine;using UnityEngine.UI;
public class PushNotificator : MonoBehaviour { void Start () { Pushwoosh.ApplicationCode = "__YOUR_APP_ID__"; Pushwoosh.FcmProjectNumber = "__YOUR_FCM_SENDER_ID__"; Pushwoosh.Instance.OnRegisteredForPushNotifications += OnRegisteredForPushNotifications; Pushwoosh.Instance.OnFailedToRegisteredForPushNotifications += OnFailedToRegisteredForPushNotifications; Pushwoosh.Instance.RegisterForPushNotifications(); }
void OnRegisteredForPushNotifications(string token) { Debug.LogFormat(LogType.Log, LogOption.NoStacktrace, null, "Received token: \n{0}", token); }
void OnFailedToRegisteredForPushNotifications(string error) { Debug.LogFormat(LogType.Log, LogOption.NoStacktrace, null, "Error ocurred while registering to push notifications: \n{0}", error); }}Onde:
__YOUR_APP_ID__é o código do aplicativo do Painel de Controle da Pushwoosh.__YOUR_FCM_SENDER_ID__é o número do projeto Firebase do Console do Firebase.
3. Configuração Nativa do iOS
Anchor link to3.1 Capabilities
Anchor link toPara habilitar as Notificações Push em seu projeto, você precisa adicionar certas capabilities.
Na seção Signing & Capabilities, adicione as seguintes capabilities:
Push NotificationsBackground Modes. Após adicionar esta capability, marque a caixa paraRemote notifications.
Se você pretende usar Notificações Sensíveis ao Tempo (iOS 15+), adicione também a capability Time Sensitive Notifications.
3.2 Info.plist
Anchor link toNo seu Runner/Info.plist, defina a chave __PUSHWOOSH_DEVICE_API_TOKEN__ para o Token de API de Dispositivo da Pushwoosh:
<key>Pushwoosh_API_TOKEN</key><string>__PUSHWOOSH_DEVICE_API_TOKEN__</string>3.3 Rastreamento de entrega de mensagens
Anchor link toVocê deve adicionar um target de Notification Service Extension ao seu projeto. Isso é essencial para o rastreamento preciso da entrega e para recursos como Rich Media no iOS.
Siga os passos do guia nativo para adicionar o target da extensão e o código Pushwoosh necessário dentro dele.
4. Configuração Nativa do Android
Anchor link to4.1 Adicionar arquivo de configuração do Firebase
Anchor link toColoque o arquivo google-services.json na pasta Assets no diretório do seu projeto.
4.2 Ajustar configurações de build
Anchor link toNa seção Publishing Settings do seu perfil de build do Android, habilite a opção Custom Main Manifest.
4.3 Adicionar metadados da Pushwoosh
Anchor link toNo seu Assets/Plugins/Android/AndroidManifest.xml, adicione o Token de API de Dispositivo da Pushwoosh dentro da tag <application>:
<meta-data android:name="com.pushwoosh.apitoken" android:value="__YOUR_DEVICE_API_TOKEN__" />Importante: Certifique-se de dar ao token acesso ao aplicativo correto no seu Painel de Controle da Pushwoosh. Saiba mais
5. Integração com a Windows Store
Anchor link to- Adicione
link.xmlao seu diretórioAssets/com o seguinte conteúdo:
<linker> <assembly fullname="PushSDK" preserve="all"/></linker>- Você também precisa Associar o Aplicativo à Loja no projeto exportado do Visual Studio. Certifique-se de que seu aplicativo esteja assinado com um certificado que corresponda à sua Identidade de Editor.

Opte pela capability Internet (Cliente) na aba Capabilities do seu .appxmanifest no projeto exportado do Visual Studio.
6. Executar o Projeto
Anchor link to- Compile e execute o projeto.
- Vá para o Painel de Controle da Pushwoosh e envie uma notificação push.
- Você deve ver a notificação no aplicativo.
Integração estendida
Anchor link toNeste estágio, você já integrou o SDK e pode enviar e receber notificações push. Agora, vamos explorar a funcionalidade principal
Listeners de eventos de notificação push
Anchor link toNo SDK da Pushwoosh, existem dois listeners de eventos, projetados para lidar com notificações push:
- O evento
OnPushNotificationsReceivedé acionado quando uma notificação push é recebida - O evento
OnPushNotificationsOpenedé acionado quando um usuário abre uma notificação
Você deve configurar esses listeners de eventos logo após a inicialização do SDK no PushNotificator.cs:
using UnityEngine;using UnityEngine.UI;
public class PushNotificator : MonoBehaviour { void Start () { Pushwoosh.ApplicationCode = "__YOUR_APP_ID__"; Pushwoosh.FcmProjectNumber = "__YOUR_FCM_SENDER_ID__"; Pushwoosh.Instance.OnPushNotificationsReceived += OnPushNotificationsReceived; Pushwoosh.Instance.OnPushNotificationsOpened += OnPushNotificationsOpened; Pushwoosh.Instance.RegisterForPushNotifications(); }
void OnPushNotificationsReceived(string payload) { Debug.LogFormat(LogType.Log, LogOption.NoStacktrace, null, "Received push notificaiton: \n{0}", payload); }
void OnPushNotificationsOpened(string payload) { Debug.LogFormat(LogType.Log, LogOption.NoStacktrace, null, "Opened push notificaiton: \n{0}", payload); }Configuração do usuário
Anchor link toAo focar no comportamento e nas preferências individuais do usuário, você pode entregar conteúdo personalizado, levando a um aumento da satisfação e lealdade do usuário
public class Registration { public void afterUserLogin(User user) {
// Definir ID do usuário Pushwoosh.Instance.SetUserId(user.getId());
// Definir e-mail do usuário Pushwoosh.Instance.SetEmail(user.getEmail());
// Definindo informações adicionais do usuário como tags para a Pushwoosh Pushwoosh.Instance.SetIntTag("Age", user.getAge()); Pushwoosh.Instance.SetStringTag("Name", user.getName()); Pushwoosh.Instance.SetStringTag("LastLoginDate", user.getLastLoginDate()); }}Tags
Anchor link toTags são pares de chave-valor atribuídos a usuários ou dispositivos, permitindo a segmentação com base em atributos como preferências ou comportamento, possibilitando o envio de mensagens direcionadas.
public class UpdateUser { public void afterUserUpdateProfile(User user) {
// Definir lista de categorias favoritas Pushwoosh.Instance.SetListTag( "favorite_categories": user.getFavoriteCategoriesList() );
// Definir informações de pagamento Pushwoosh.Instance.SetStringTag("is_subscribed", user.isSubscribed()); Pushwoosh.Instance.SetStringTag("payment_status", user.getPaymentStatus()); Pushwoosh.Instance.SetStringTag("billing_address", user.getBillingAddress()); }}Eventos
Anchor link toEventos são ações ou ocorrências específicas do usuário dentro do aplicativo que podem ser rastreadas para analisar o comportamento e acionar mensagens ou ações correspondentes
public class Registration {
// Rastrear evento de login public void afterUserLogin(User user) { Pushwoosh.Instance.PostEvent("login", new Dictionary<string, object>() { { "name", user.getName() }, { "last_login", user.getLastLoginDate() } }); }
public void afterUserPurchase(Product product) { // Rastrear evento de compra Pushwoosh.Instance.PostEvent("purchase", new Dictionary<string, object>() { { "product_id", product.getId() }, { "product_name", product.getName() }, { "price", product.getPrice() }, { "quantity", product.getQuantity() } }); }}Solução de problemas
Anchor link toSe você encontrar algum problema durante o processo de integração, consulte a seção de suporte e comunidade.