后台应用程序在 Titanium 中未收到来自 android 的 pubnub 的消息

App in background doesn't receive message from pubnub for android in Titanium

我正在使用 pubnub 从服务器推送消息 android。当应用程序处于前台时,我收到消息。但是如果应用程序在后台模式或锁定模式下处于非活动状态,我没有收到消息。如果应用程序在后台或不在最近的应用程序托盘中,我如何获取 pubnub 消息?请帮帮我。谢谢

var pubnub = new PubNub({
        subscribeKey : 'sub-key',
        publishKey : 'pub-key'
    });

    pubnub.addListener({
        status : function(st) {
            if (st.category === "PNConnectedCategory") {

            }
        },
        message : function(m) {

            var pushStatus = m.message;
            console.log("Show Notification");

        },
        presence : function(ps) {
            console.log(ps);
        }
    });

    pubnub.subscribe({
        channels : ['Channel']
    });

PubNub Android 后台用例

在后台时您没有连接。过去可以只 run your app in a background service that never gets destroyed 使用唤醒锁和设备所有者的许可进行一些额外的配置,但我相信这对于非本机应用程序是不可能的(可能使用 React-Native 但可能不是 Titanium,但我不确定)。

典型的解决方案是在应用处于后台或完全不运行(应用已被用户或系统强制终止)时使用移动推送通知(FCM,以前称为 GCM)。你可以 provide an FCM payload (and APNS for iOS clients) when you publish a message.

查看 PubNub Titanium SDK Mobile Push Notifications 的完整文档。每个 SDK 都有相同的部分供其他人需要相同的部分 languages/platforms。