Pular para o conteúdo

Guia de integração básica do SDK do Unity

Este guia orienta você na integração do SDK do Pushwoosh para Unity em seu aplicativo.

Pré-requisitos

Anchor link to

Passos de integração

Anchor link to

1. Adicionar o SDK do Pushwoosh para Unity

Anchor link to

Adicione o seguinte ao seu Packages/manifest.json:

Packages/manifest.json
{
"dependencies": {
"com.pushwoosh.unity.core": "6.2.7",
"com.pushwoosh.unity.android": "6.2.7",
"com.pushwoosh.unity.ios": "6.2.7"
},
"scopedRegistries": [
{
"name": "npmjs",
"url": "https://registry.npmjs.org",
"scopes": ["com.pushwoosh"]
}
]
}

Adicione apenas os pacotes da plataforma que você precisa. Por exemplo, omita com.pushwoosh.unity.android se você visa apenas o iOS.

2. Instalar o External Dependency Manager

Anchor link to

O SDK requer o External Dependency Manager for Unity (EDM4U) para resolver dependências nativas do Android e iOS.

Adicione o seguinte registro com escopo ao seu Packages/manifest.json:

{
"scopedRegistries": [
{
"name": "package.openupm.com",
"url": "https://package.openupm.com",
"scopes": ["com.google.external-dependency-manager"]
}
]
}

Em seguida, adicione o pacote às suas dependências:

"com.google.external-dependency-manager": "1.2.183"

3. Inicializar o SDK

Anchor link to

Crie um script PushNotificator.cs e anexe-o a qualquer GameObject na cena:

PushNotificator.cs
using UnityEngine;
using System.Collections.Generic;
public class PushNotificator : MonoBehaviour
{
void Start()
{
Pushwoosh.ApplicationCode = "XXXXX-XXXXX";
Pushwoosh.FcmProjectNumber = "XXXXXXXXXXXX";
Pushwoosh.Instance.OnRegisteredForPushNotifications += (token) => {
Debug.Log("Push token: " + token);
};
Pushwoosh.Instance.OnFailedToRegisteredForPushNotifications += (error) => {
Debug.Log("Registration failed: " + error);
};
Pushwoosh.Instance.RegisterForPushNotifications();
}
}

Substitua:

  • XXXXX-XXXXX pelo seu Código da Aplicação Pushwoosh.
  • XXXXXXXXXXXX pelo número do seu projeto Firebase (apenas para Android).

4. Configuração nativa do iOS

Anchor link to

4.1 Capabilities

Anchor link to

Após construir o projeto iOS a partir do Unity, abra o projeto Xcode gerado e adicione as seguintes capabilities em Signing & Capabilities:

  • Push Notifications
  • Background Modes com Remote notifications marcado

Para Time Sensitive Notifications (iOS 15+), adicione também a capability Time Sensitive Notifications.

4.2 Info.plist

Anchor link to

Adicione o Token da API do Dispositivo Pushwoosh ao seu Info.plist:

Info.plist
<key>Pushwoosh_API_TOKEN</key>
<string>__PUSHWOOSH_DEVICE_API_TOKEN__</string>

4.3 Rastreamento de entrega de mensagens

Anchor link to

Adicione um target de Notification Service Extension ao seu projeto Xcode. Isso é necessário para o rastreamento preciso da entrega e Rich Media no iOS.

Siga o guia nativo para adicionar o target da extensão.

5. Configuração nativa do Android

Anchor link to

5.1 Adicionar arquivo de configuração do Firebase

Anchor link to

Coloque o arquivo google-services.json no diretório Assets do seu projeto Unity.

5.2 Adicionar metadados do Pushwoosh

Anchor link to

Adicione o Token da API do Dispositivo Pushwoosh ao seu Assets/Plugins/Android/AndroidManifest.xml dentro da tag <application>:

AndroidManifest.xml
<meta-data android:name="com.pushwoosh.apitoken" android:value="__YOUR_DEVICE_API_TOKEN__" />

6. Executar o projeto

Anchor link to
  1. Compile e execute o projeto na sua plataforma de destino.
  2. Conceda permissão para notificações push quando solicitado.
  3. Vá para o Painel de Controle da Pushwoosh e envie uma notificação push.

Integração estendida

Anchor link to

Neste estágio, você pode enviar e receber notificações push. As seções abaixo cobrem a funcionalidade principal do SDK.

Listeners de eventos de notificação push

Anchor link to

O SDK fornece dois listeners de eventos para lidar com notificações push:

  • OnPushNotificationsReceived — acionado quando uma notificação push chega
  • OnPushNotificationsOpened — acionado quando um usuário toca em uma notificação

Configure esses listeners durante a inicialização do SDK:

PushNotificator.cs
void Start()
{
Pushwoosh.ApplicationCode = "XXXXX-XXXXX";
Pushwoosh.FcmProjectNumber = "XXXXXXXXXXXX";
Pushwoosh.Instance.OnPushNotificationsReceived += (payload) => {
Debug.Log("Push received: " + payload);
};
Pushwoosh.Instance.OnPushNotificationsOpened += (payload) => {
Debug.Log("Push opened: " + payload);
};
Pushwoosh.Instance.RegisterForPushNotifications();
}

Configuração do usuário

Anchor link to

Personalize as notificações push identificando usuários e definindo suas propriedades:

// Define o ID do usuário para rastreamento entre dispositivos
Pushwoosh.Instance.SetUserId("user-123");
// Define o e-mail do usuário
Pushwoosh.Instance.SetEmail("user@example.com");
// Define o usuário com ID e e-mail
Pushwoosh.Instance.SetUser("user-123", new List<string> { "user@example.com" });
// Define o idioma preferido
Pushwoosh.Instance.SetLanguage("en");

Tags são pares de chave-valor atribuídos a dispositivos, permitindo a segmentação de usuários e o envio de mensagens direcionadas:

// Tag de string
Pushwoosh.Instance.SetStringTag("favorite_category", "electronics");
// Tag de inteiro
Pushwoosh.Instance.SetIntTag("purchase_count", 5);
// Tag de lista
Pushwoosh.Instance.SetListTag("interests", new List<object> { "sports", "music", "tech" });
// Obter todas as tags
Pushwoosh.Instance.GetTags((tags, error) => {
if (error != null) {
Debug.Log("Error: " + error.Message);
return;
}
foreach (var tag in tags) {
Debug.Log(tag.Key + ": " + tag.Value);
}
});

Rastreie as ações do usuário para analisar o comportamento e acionar mensagens automatizadas:

// Rastreia um evento de login
Pushwoosh.Instance.PostEvent("login", new Dictionary<string, object> {
{ "username", "user-123" },
{ "login_type", "email" }
});
// Rastreia um evento de compra
Pushwoosh.Instance.PostEvent("purchase", new Dictionary<string, object> {
{ "product_id", "SKU-001" },
{ "price", 29.99 },
{ "currency", "USD" }
});

Preferências de comunicação

Anchor link to

Permita que os usuários optem por receber ou não notificações push programaticamente:

// Habilitar comunicação
Pushwoosh.Instance.SetCommunicationEnabled(true);
// Desabilitar comunicação
Pushwoosh.Instance.SetCommunicationEnabled(false);
// Verificar estado atual
bool isEnabled = Pushwoosh.Instance.IsCommunicationEnabled();

Gerenciamento de badge

Anchor link to

Controle o número do badge do aplicativo nas plataformas suportadas:

// Define o badge para um número específico
Pushwoosh.Instance.SetBadgeNumber(3);
// Incrementa o badge
Pushwoosh.Instance.AddBadgeNumber(1);
// Limpa o badge
Pushwoosh.Instance.SetBadgeNumber(0);

Solução de problemas

Anchor link to

Se você encontrar algum problema durante o processo de integração, consulte a seção de suporte e comunidade.