设备中未显示带有OneSignal的推送通知

时间:2018-09-11 19:11:04

标签: android ios ionic-framework push-notification onesignal

我希望你过得愉快。

注意:我正在为应用程序使用Ionic 3。

因此,我对OneSignal的Push Notifications感到困惑,上周我的Push Notifications停止在某些设备上运行(我看不到任何模式,有时在Android,iOS中不起作用)。

这是Ionic中捕获推送通知的代码段:

this.oneSignal.startInit(AppConstants.ApplicationId, AppConstants.GoogleProjectId);
this.oneSignal.inFocusDisplaying(this.oneSignal.OSInFocusDisplayOption.InAppAlert);

this.oneSignal.handleNotificationOpened().subscribe(data => {

    const type = data.notification.payload.additionalData.type.toUpperCase();

    switch (type) {
        case 'TYPE_1':
            // Do something
            break;
        case 'TYPE_2':
            // Do something else
            break;
        case 'TYPE_3':
            // Do something else
        break;
        default:
            console.log('Notification type not registered');
            break;
    }
});

this.oneSignal.endInit();

我在应用程序启动时调用该代码。

每次我的用户发送一条消息(这是应用程序中的功能)时,我都会向REST服务发送一个请求,然后它向OneSignal发送一个请求(至their REST API

我发布到OneSignal的REST API的数据是:

{
    "app_id": "MY_PRIVATE_APP_ID",
    "ios_badgeType": "Increase",
    "ios_badgeCount": 1,
    "include_player_ids": [
        "141b5113-b8a4-4290-b1f7-cca75d3e9760",
        "141b6222-b844-3142-b463-ca1359914ff9",
        "24349992-c934-2941-c249-ffa514925284",
        "43242432-3234-2342-c534-aacb25492590",
    ],
    "priority": 10,
    "android_channel_id": "26ca5296-f10f-4294-a3c6-942b1b88141b",
    "headings": {
        "en": "You have a message",
        "es": "Tienes un mensaje"
    },
    "contents": {
        "en": "Rick Sanchez sent you a message",
        "es": "Rick Sanches te envió un mensaje"
    },
    "data": {
        "type": "TYPE_1"
    }
}

到目前为止,并非所有收件人都收到推送通知(在该特定示例中,我使用的iPad配备iOS 11,iPhone 7和iOS 11,三星Galaxy S7和Android 7以及摩托罗拉G5和Android 7),刚收到其中一台(iPhone 7),但是如果我重复测试,则可以使用Galaxy S7甚至2、3或4台设备获得推送通知。

然后,如果我在OneSignal仪表板中查看“传递状态”,我会看到“推送通知”已正确传递给所有收件人(到目前为止很好),但并非所有人都显示了PN。

注意:我的设备未处于省电模式

0 个答案:

没有答案