JPush推送成功,官网及iPhone不能接收信息


(980395669@qq.com) #1

你好,请问我在命令行中使用curl 请求时,返回HTTP/1.1 200 OK, {“sendno”:“0”,“msg_id”:“152267503”}代表Push成功?为什么去极光开发者服务里看推送历史的时候,看不到消息,手机也接收不到Notifications,但是在极光开发者服务里发送消息时,手机和推送历史都能接收到通知


#2

注意筛选条件 web/api

200代表成功,收不到消息排查: 常见问题 - JPush 合集(持续更新)


(980395669@qq.com) #3

感谢如此迅速的回复,使用V3 api可以在官网看见推送记录了,以及手机能接收通知了,但是V3 api封装的SDK可能需要您的指教,现在只是开发状态,据文档说明,V3 api封装的 sdk 默认为开发环境。但手机收不到消息, 推送历史记录也看不到,已检查过web/api, 使用的是python 3.5 及Pyhton SDK,代码如下:

import jpush as jpush
from jpush import common

app_key = "************"
master_secret = "************"  

_jpush = jpush.JPush(app_key, master_secret)
push = _jpush.create_push()

push.audience = jpush.all_
push.notification = jpush.notification(alert="hello python jpush api")
push.platform = jpush.all_
try:
    response=push.send()
    print ("JPush Success")
except common.Unauthorized:
    raise common.Unauthorized("Unauthorized")
except common.APIConnectionException:
    raise common.APIConnectionException("conn error")
except common.JPushFailure:
    print ("JPushFailure")
except:
    print ("Exception")

(980395669@qq.com) #4

不好意思,看错了,官网能看到记录,但是手机不能接收,同为开发环境


#5

你推送完成的时候,有给你返回什么吗?200还是错误码?

200就有msgid,把msgid和你的appkey,以及你设备的registrationID给我。

有错误码就提供错误码。


(980395669@qq.com) #6

我使用你们已封装的SDK, 没有异常抛出,打印了JPush Success(代码里的输出语句),Message ID: 3942689272,
appkey: 27fea116f6bc39871b8e5208, registrationID: 1114a89792a634c210e


#7

这条消息是推送给 生产环境的,你在官网-推送记录-详情-平台那里也看得到这个信息,是iOS-production。

在推送代码里面找一下apns_production,True 表示推送生产环境,False 表示要推送开发环境;如果没有携带这个参数则为推送生产环境。

SDK默认为开发的这个我们还得确认一下情况,你直接手动设置吧。


(980395669@qq.com) #8

社区常见问题 - JPush 合集(持续更新) 继续讨论:

原来坑在这里啊,设置后就可以了,感谢


(980395669@qq.com) #9

请问,如何对推送的信息进行本地存储? 在接收的函数里,极光进行了封装处理,handleRemoteNotification,该如何把Notification 保存到core data中呢?


#10

这两个不相干。

notification 信息你自己可以获得


(980395669@qq.com) #11

嗯嗯,明白你的意思,那是willPresentNotification 和 didReceiveNotificationResponse 函数分别是应用在前端和后台运行接收通知,然后自己再在这里进行信息处理?


#12

嗯,接收到后自己再做消息的处理


(980395669@qq.com) #13

现在我能在应用在Active的时候,处理消息成功,但是应用在后台(或者说是离线状态时),消息处理不成功(处理方法相同),我的理解是在didReceiveNotificationResponse 接收Notifications,这样对吗?


#14

后台,点击通知栏后,获取消息的方法是didReceiveNotificationResponse,iOS10.

不同手机系统不一样


(980395669@qq.com) #15

这就意味着如果发送通知的时候,App处于后台,之后,用户看到通知栏并没有点击它,而是直接进入App,这个通知就没有办法保存吧


#16

是的,如果需要的话,你应该推送 background remote 通知。