如何在带有电容器的Ionic 5项目中使用Pushwoosh



大家好,我正在将一个应用程序从ionic 1迁移到ionic 5,我需要集成pushwoosh通知服务,我的项目开始时没有使用cordova,而是使用电容器,我找不到有关如何将此服务集成到ionic5应用程序的信息。

请注意,我们已经知道您可以使用cordova,但当使用cordova plugin add pushwoosh-cordova-plugin@8.0.0时,它会给您以下信息:

Current working directory is not a Cordova-based project.

因为正如我之前所说的,这是一个电容器项目,而不是科多瓦项目,顺便说一句,我已经使用了ionic integrations enable cordova

所以。。。如果有人能帮助我们,那将是非常有帮助的。

好吧,伙计们,在花了很多小时试图将Pushwoosh集成到ionic 5应用程序中之后,对我来说这是不可能的,

如果您正确设置了所有内容,将发生以下情况:

  1. 您的应用程序将正确连接到Pushwoosh
  2. 您的应用程序将在pushwoosh中正确注册您的设备

但您的应用程序不会收听官方Pushwoosh文档提供的听众

document.addEventListener('push-receive',
function (event) {
var message = (<any>event).notification.message;
var userData = (<any>event).notification.userdata;

alert("Push message received: " + message);
console.info(JSON.stringify((<any>event).notification));

//dump custom data to the console if it exists
if (typeof (userData) != "undefined") {
console.warn('user data: ' + JSON.stringify(userData));
}
}
);

这在ionic 5应用中不起作用

这确实有效:

import { Component, OnInit } from '@angular/core';
import {
Plugins,
PushNotification,
PushNotificationToken,
PushNotificationActionPerformed,
} from '@capacitor/core';
const { PushNotifications } = Plugins;
@Component({
selector: 'app-home',
templateUrl: 'home.page.html',
styleUrls: ['home.page.scss'],
})
export class HomePage implements OnInit {
ngOnInit() {
console.log('Initializing HomePage');
// Request permission to use push notifications
// iOS will prompt user and return if they granted permission or not
// Android will just grant without prompting
PushNotifications.requestPermission().then(result => {
if (result.granted) {
// Register with Apple / Google to receive push via APNS/FCM
PushNotifications.register();
} else {
// Show some error
}
});
PushNotifications.addListener(
'registration',
(token: PushNotificationToken) => {
alert('Push registration success, token: ' + token.value);
},
);
PushNotifications.addListener('registrationError', (error: any) => {
alert('Error on registration: ' + JSON.stringify(error));
});
PushNotifications.addListener(
'pushNotificationReceived',
(notification: PushNotification) => {
alert('Push received: ' + JSON.stringify(notification));
},
);
PushNotifications.addListener(
'pushNotificationActionPerformed',
(notification: PushNotificationActionPerformed) => {
alert('Push action performed: ' + JSON.stringify(notification));
},
);
}
}

我试图将Pushwoosh与电容器相结合,但生成的设备的令牌不同,所以我仍然没有收到通知。

在一天结束的时候,经过许多小时和几天的工作,我别无选择,只能使用firebase,现在一切都好多了。

相关内容

  • 没有找到相关文章

最新更新