小米系统app后台无法收到message消息

收不到消息
标签: #<Tag:0x00007fb83c210128>

(蝈蝈) #1

使用你们的cordova插件,目前发现的问题:

  1. 华为手机,设置app可以后台运行,结果:不管app在前台还是后台运行,都可以良好的收到notify和message。
    2.小米手机,设置app可以后台运行,不限制电量,隐身模式不限制后台运行cpu等,结果:app在前台可以收到notify和message;app在后台,可以收到notify,但是后台进程jpush.receiveNotification没有回调消息;app无法收到message消息,后台message消息无任何反应,无jpush.receiveMessage回调。

难道小米系统app放入后台,即使显示运行中,app也是无法执行任何代码?收不到消息回调,无法操作蓝牙,播放音乐等?

求解答一下!


#2

如果是同时发出消息,能收到 Notification 消息理论上就可同时收到 Message 消息,Android 上二者是同一个通道。

提供你使用的 cordova 插件的版本号和你复测到小米手机的完整客户端日志信息,从初始化开始


(蝈蝈) #3

“jpush-phonegap-plugin”: “3.4.3”,

设备RegistrationID: “170976fa8aa80255516”

message发送结果:

[body] => Array
        (
            [sendno] => 1296086281
            [msg_id] => 2861902036
        )

    [http_code] => 200
    [headers] => Array
        (
            [0] => HTTP/2 200 
            [server] => nginx
            [date] => Tue, 23 Oct 2018 01:47:44 GMT
            [content-type] => application/json
            [content-length] => 45
            [x-rate-limit-limit] => 600
            [x-rate-limit-remaining] => 598
            [x-rate-limit-reset] => 49
            [x-jpush-msgid] => 2861902036
            [x-jpush-timestamp] => 1540259264582
        )

#4

经过查询,消息是送达到了设备上的,现在需要排查的是为什么回调没走。

提供下你复测到小米手机的完整客户端日志信息,从初始化开始


(蝈蝈) #5

[app-scripts] [10:26:50] console.error: 极光getRegistrationID: “170976fa8aa80255516”
[app-scripts] [10:27:00] console.info: 极光推送设置标签setTags返回信息
[app-scripts] {“tags”:[“Xiaomi”,“android”],“res”:{“sequence”:-1631648853,“tags”:[“Xiaomi”,“android”]}}
[app-scripts] [10:27:00] console.info: 极光推送设置别名setAlias返回信息
[app-scripts] {“alias”:[“a16f319346a47194”],“res”:{“sequence”:-1631648848,“alias”:“a16f319346a47194”}}


(蝈蝈) #6

发现一个现象:app推送后台后,不再给控制台输出任何console的日志消息,我这里有一个1分钟间隔的心跳执行api,也看不到日志。

是不是说明,app后台进程被挂起了?不再执行任何动作?

miui版本:9.6稳定版


(蝈蝈) #7

开发机与小米app之间是通过websocket连接的,会把console信息送到开发机。
推送后台后,开发机就收不到任何日志了,也说明了websocket被断开了吧?

如果是这样的话,极光的后台回调是否也是被挂起了?
不知道别的开发者对小米这一块是否有反馈


(Josh Lipan) #8

设备能收到推送说明长链接没问题,api没有回调,是不是你的设备退到后台后,回调方法被remove掉了,或者你的网页示例被销毁了