Pular para o conteúdo

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

Esta seção contém informações sobre como integrar o SDK do Pushwoosh para Unity em seu aplicativo.

Pré-requisitos

Anchor link to

Para integrar o SDK do Pushwoosh para Unity em seu aplicativo, você precisará do seguinte:

Etapas de integração

Anchor link to

1. Adicionar Dependência do SDK do Pushwoosh para Unity

Anchor link to

Importe o plugin de notificação push do Unity para a sua pasta Assets no Unity.

2. Inicialização do SDK do Unity

Anchor link to

Crie o script PushNotificator.cs e anexe-o ao Camera Object na cena. No script:

  • Inicialize o SDK do 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:
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.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 Pushwoosh.
  • __YOUR_FCM_SENDER_ID__ é o número do projeto Firebase do Console do Firebase.

3. Configuração Nativa do iOS

Anchor link to

3.1 Capabilities

Anchor link to

Para habilitar as Notificações Push em seu projeto, você precisa adicionar certas capabilities.

Na seção Signing & Capabilities, adicione as seguintes capabilities:

  • Push Notifications
  • Background Modes. Após adicionar esta capability, marque a caixa para Remote 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 to

No seu Runner/Info.plist, defina a chave __PUSHWOOSH_DEVICE_API_TOKEN__ para o Token de API de Dispositivo Pushwoosh:

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

3.3 Rastreamento de entrega de mensagens

Anchor link to

Você deve adicionar um alvo 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 alvo da extensão e o código Pushwoosh necessário dentro dele.

4. Configuração Nativa do Android

Anchor link to

4.1 Adicionar arquivo de configuração do Firebase

Anchor link to

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

4.2 Ajustar configurações de compilação

Anchor link to

Na seção Publishing Settings do seu perfil de compilação do Android, habilite a opção Custom Main Manifest.

4.3 Adicionar metadados do Pushwoosh

Anchor link to

No seu Assets/Plugins/Android/AndroidManifest.xml, adicione o Token de API de Dispositivo Pushwoosh dentro da tag <application>:

AndroidManifest.xml
<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 Pushwoosh. Saiba mais

5. Integração com a Windows Store

Anchor link to
  1. Adicione link.xml ao seu diretório Assets/ com o seguinte conteúdo:
<linker>
<assembly fullname="PushSDK" preserve="all"/>
</linker>
  1. 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 (Publisher Identity).

Ative a capability Internet (Cliente) na aba Capabilities do seu .appxmanifest no projeto exportado do Visual Studio.

6. Executar o Projeto

Anchor link to
  1. Compile e execute o projeto.
  2. Vá para o Painel de Controle Pushwoosh e envie uma notificação push.
  3. Você deve ver a notificação no aplicativo.

Integração estendida

Anchor link to

Nesta fase, 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 to

No SDK do 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:

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 to

Ao 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) {
// Set user ID
Pushwoosh.Instance.SetUserId(user.getId());
// Set user email
Pushwoosh.Instance.SetEmail(user.getEmail());
// Setting additional user information as tags for Pushwoosh
Pushwoosh.Instance.SetIntTag("Age", user.getAge());
Pushwoosh.Instance.SetStringTag("Name", user.getName());
Pushwoosh.Instance.SetStringTag("LastLoginDate", user.getLastLoginDate());
}
}

Tags 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, o que possibilita o envio de mensagens direcionadas.

public class UpdateUser {
public void afterUserUpdateProfile(User user) {
// Set list of favorite categories
Pushwoosh.Instance.SetListTag(
"favorite_categories": user.getFavoriteCategoriesList()
);
// Set payment information
Pushwoosh.Instance.SetStringTag("is_subscribed", user.isSubscribed());
Pushwoosh.Instance.SetStringTag("payment_status", user.getPaymentStatus());
Pushwoosh.Instance.SetStringTag("billing_address", user.getBillingAddress());
}
}

Eventos 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 {
// Track login event
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) {
// Track purchase event
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 to

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