Pular para o conteúdo

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

Esta seção contém informações sobre como integrar o SDK Cordova da Pushwoosh em sua aplicação.

Pré-requisitos

Anchor link to

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

Passos de integração

Anchor link to

1. Adicionar Dependência do SDK Cordova da Pushwoosh

Anchor link to

Adicione a dependência do SDK Cordova da Pushwoosh ao seu projeto:

Terminal window
cordova plugin add pushwoosh-cordova-plugin

2. Inicialização do SDK Cordova

Anchor link to

No componente raiz do seu arquivo index.js, adicione o seguinte código dentro do manipulador de eventos deviceready. Siga os passos na ordem exata:

index.js
document.addEventListener('deviceready', function() {
var pushwoosh = cordova.require("pushwoosh-cordova-plugin.PushNotification");
// 1. Registre os callbacks de notificação antes da inicialização
document.addEventListener('push-receive', function(event) {
var notification = event.notification;
console.log("Push received: " + JSON.stringify(notification));
});
document.addEventListener('push-notification', function(event) {
var notification = event.notification;
console.log("Push opened: " + JSON.stringify(notification));
});
// 2. Inicialize o Pushwoosh
pushwoosh.onDeviceReady({
appid: "__YOUR_APP_ID__",
projectid: "__YOUR_FCM_SENDER_ID__"
});
// 3. Registre o dispositivo para receber notificações push
pushwoosh.registerDevice(
function(status) {
var pushToken = status.pushToken;
// Lidar com o registro bem-sucedido
},
function(status) {
// Lidar com o erro de registro
}
);
}, false);

Onde:

  • __YOUR_APP_ID__ é o código da aplicação 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 to

3.1 Capabilities

Anchor link to

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

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

  • Push Notifications
  • Background Modes. Após adicionar esta capacidade, marque a caixa para Remote notifications.

Se você pretende usar Notificações Sensíveis ao Tempo (iOS 15+), adicione também a capacidade 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 da API de Dispositivo Pushwoosh:

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

3.3 Rastreamento da entrega de mensagens

Anchor link to

Você deve adicionar um alvo de Extensão de Serviço de Notificação (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 Instalar dependências

Anchor link to

Certifique-se de que as dependências e plugins necessários sejam adicionados aos seus scripts do Gradle:

Adicione o plugin Gradle dos Serviços do Google às dependências do seu build.gradle de nível de projeto:

android/build.gradle
buildscript {
dependencies {
classpath 'com.google.gms:google-services:4.3.15'
}
}

Aplique o plugin no seu arquivo build.gradle de nível de aplicativo:

app/build.gradle
apply plugin: 'com.google.gms.google-services'

4.2 Adicionar arquivo de configuração do Firebase

Anchor link to

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

4.3 Adicionar metadados da Pushwoosh

Anchor link to

No seu main/AndroidManifest.xml, adicione o Token da 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 da Pushwoosh. Saiba mais

5. Executar o Projeto

Anchor link to
  1. Compile e execute o projeto.
  2. Vá para o Painel de Controle da 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 da Pushwoosh, existem dois listeners de eventos, projetados para lidar com notificações push:

  • O evento push-receive é acionado quando uma notificação push é recebida enquanto o aplicativo está em primeiro plano.
  • O evento push-notification é acionado quando um usuário abre uma notificação.

Esses listeners de eventos devem ser registrados antes de chamar onDeviceReady(), como mostrado no passo de inicialização acima. Você pode personalizar a lógica do manipulador para atender às suas necessidades:

index.js
// Registre antes de onDeviceReady()
document.addEventListener('push-receive', function(event) {
var message = event.notification.message;
var payload = event.notification.userdata;
console.log("Push received: " + message);
// Adicione sua lógica personalizada aqui
});
document.addEventListener('push-notification', function(event) {
var message = event.notification.message;
var payload = event.notification.userdata;
console.log("Push accepted: " + message);
// Adicione sua lógica personalizada aqui (ex: navegar para uma tela específica)
});

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.

class Registration {
afterUserLogin(user) {
// Definir ID do usuário
pushwoosh.setUserId(user.getId());
// Definir informações adicionais do usuário como tags para o Pushwoosh
pushwoosh.setTags({
"age": user.getAge(),
"name": user.getName(),
"last_login": 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, possibilitando o envio de mensagens direcionadas.

class UpdateUser {
afterUserUpdateProfile(user) {
// Definir lista de categorias favoritas
pushwoosh.setTags({
"favorite_categories": user.getFavoriteCategoriesList()
});
// Definir informações de pagamento
pushwoosh.setTags({
"is_subscribed": user.isSubscribed(),
"payment_status": user.getPaymentStatus(),
"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.

class Registration {
// Rastrear evento de login
afterUserLogin(user) {
pushwoosh.postEvent("login", {
"name": user.getName(),
"last_login": user.getLastLoginDate()
});
}
// Rastrear evento de compra
afterUserPurchase(product) {
pushwoosh.postEvent("purchase", {
"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.