起步软件技术论坛
搜索
 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 28551|回复: 9

[结贴] JPush推送消息出错了,求解决

[复制链接]

73

主题

292

帖子

1410

积分

金牌会员

Rank: 6Rank: 6

积分
1410
QQ
发表于 2015-10-26 17:45:39 | 显示全部楼层 |阅读模式
本帖最后由 gzcyp2000 于 2015-10-26 17:51 编辑

打andriod包安装后,可以接收从jpush的控制台发出的通知消息(自定义消息收不到)。但按外卖案例做的APP推送消息不成功(直接调用外卖所用的servlet),不知道是什么原因造成的,还有别的需要设置的吗?

js源码如下:

define(function(require){
        var $ = require("jquery");
        var justep = require("$UI/system/lib/justep");
        var Baas = require("$UI/demo/baas/baas");
        var CommonUtils = require("$UI/system/components/justep/common/utils");
        var jpushInstance = require("./jpush");
        
        require("$UI/system/lib/cordova/cordova");
        require("cordova!org.apache.cordova.device");
        require("cordova!com.justep.cordova.plugin.weixin.v3");
        require("cordova!com.justep.cordova.plugin.alipay");
        require("cordova!org.apache.cordova.geolocation");
        require("cordova!com.justep.cordova.plugin.baidulocation");
        require("cordova!cn.jpush.phonegap.JPushPlugin");        
        
        var Model = function(){
                this.callParent();
        };

        Model.prototype.button1Click = function(event){
                alert("开始推送");
                this.sendOrderPushMessage();
        };

        Model.prototype.sendOrderPushMessage = function() {                        //发送极光推送消息
                jpushInstance.getRegistrationID().done(function(id) {
                        alert(id);
                        $.ajax({
                                method : "post",
                                url : "/baas/jpush/push",
                                data : {
                                        'registrationId' : id,
                                        'appKey'         : "f4fa77eff85aea0cf631817a",
                                        'masterSecret'   : "25b49197dbf86dd63da1afa8"
                                }
                        });
                });
        };
        
        return Model;
});

================================================
jpush.config.xml设置如下:
<config>
        <!-- 配置成自己申请的JPush应用的参数 -->
        <appKey>f4fa77eff85aea0cf631817a</appKey>
        <masterSecret>25b49197dbf86dd63da1afa8</masterSecret>
        <apnsProduction>false</apnsProduction>
</config>


================================================
控制台错误提示如下:
[17:39:59|INFO |(com.justep.jpush.JPushServlet)]=[registrationId:0305e43a79e, key: f4fa77eff85aea0cf631817a, masterSecret: 25b49197dbf86dd63da1afa8]
===================》已到达sendPushMessage, registrationId: 0305e43a79e, key: f4fa77eff85aea0cf631817a
[http-8080-1] INFO cn.jpush.api.common.connection.NativeHttpClient - Created instance with _maxRetryTimes = 3
[http-8080-1] INFO cn.jpush.api.common.connection.NativeHttpClient - Created instance with _maxRetryTimes = 3
[http-8080-1] INFO cn.jpush.api.common.connection.NativeHttpClient - Created instance with _maxRetryTimes = 3
[http-8080-1] INFO cn.jpush.api.common.connection.NativeHttpClient - Created instance with _maxRetryTimes = 3
[17:39:59|INFO |(com.justep.jpush.JPushServlet)]=[apnsProduction:true]
十月 26, 2015 5:40:00 下午 org.apache.catalina.core.StandardWrapperValve invoke
严重: Servlet.service() for servlet jpush threw exception
java.lang.RuntimeException: {}
        at com.justep.jpush.JPushServlet.service(JPushServlet.java:73)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:723)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
        at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
        at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
        at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)
        at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
        at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293)
        at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:861)
        at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:606)
        at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
        at java.lang.Thread.run(Thread.java:745)
Caused by: {}
        at cn.jpush.api.common.connection.NativeHttpClient._doRequest(NativeHttpClient.java:232)
        at cn.jpush.api.common.connection.NativeHttpClient.doRequest(NativeHttpClient.java:94)
        at cn.jpush.api.common.connection.NativeHttpClient.sendPost(NativeHttpClient.java:81)
        at cn.jpush.api.schedule.ScheduleClient.createSchedule(ScheduleClient.java:58)
        at cn.jpush.api.JPushClient.createSingleSchedule(JPushClient.java:433)
        at com.justep.jpush.JPushServlet.sendPushMessage(JPushServlet.java:96)
        at com.justep.jpush.JPushServlet.service(JPushServlet.java:67)
        ... 13 more

[http-8080-1] WARN cn.jpush.api.common.connection.NativeHttpClient - Got error response - responseCode:400, responseContent:{"error":{"message":"trigger->single->time[2015-10-26 17:40:59] is invalid, it has been expired now.","code":8100}}
[http-8080-1] ERROR cn.jpush.api.common.connection.NativeHttpClient - Your request params is invalid. Please check them according to error message.
{}
        at cn.jpush.api.common.connection.NativeHttpClient._doRequest(NativeHttpClient.java:232)
        at cn.jpush.api.common.connection.NativeHttpClient.doRequest(NativeHttpClient.java:94)
        at cn.jpush.api.common.connection.NativeHttpClient.sendPost(NativeHttpClient.java:81)
        at cn.jpush.api.schedule.ScheduleClient.createSchedule(ScheduleClient.java:58)
        at cn.jpush.api.JPushClient.createSingleSchedule(JPushClient.java:433)
        at com.justep.jpush.JPushServlet.sendPushMessage(JPushServlet.java:96)
        at com.justep.jpush.JPushServlet.service(JPushServlet.java:67)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:723)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
        at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
        at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
        at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)
        at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
        at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293)
        at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:861)
        at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:606)
        at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
        at java.lang.Thread.run(Thread.java:745)




91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
36064
发表于 2015-10-27 10:06:14 | 显示全部楼层
消息的有效期过了,应该是java中设置的有效期不对
jpush.png
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



如按照该方法解决,请及时跟帖,便于版主结贴
回复 支持 反对

使用道具 举报

73

主题

292

帖子

1410

积分

金牌会员

Rank: 6Rank: 6

积分
1410
QQ
 楼主| 发表于 2015-10-27 21:49:56 | 显示全部楼层
jishuang 发表于 2015-10-27 10:06
消息的有效期过了,应该是java中设置的有效期不对

java中有效期的设置我没改过,demo中原本就这样的。如果要解决“消息的有效期过了”的问题,应该如何改呢?
回复 支持 反对

使用道具 举报

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
36064
发表于 2015-10-28 11:27:46 | 显示全部楼层
demo中取的是当前时间,把时间改大点看看
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



如按照该方法解决,请及时跟帖,便于版主结贴
回复 支持 反对

使用道具 举报

73

主题

292

帖子

1410

积分

金牌会员

Rank: 6Rank: 6

积分
1410
QQ
 楼主| 发表于 2015-10-29 11:51:09 | 显示全部楼层
jishuang 发表于 2015-10-28 11:27
demo中取的是当前时间,把时间改大点看看


    nowTime.add(Calender.MINUTE, 1)
改为
    nowTime.add(Calender.HOUR, 1)

运行是不出错,在极光登录用户管理页面,也显示API通知发送成功了,如图:


但本机就是收不到,不知为什么?
2015-10-29_114710.png
回复 支持 反对

使用道具 举报

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
36064
发表于 2015-10-29 17:28:39 | 显示全部楼层
确认客户端极光推送是否登录了,极光推送是否设置的正确,现在是送达为0,是极光推送的问题,或者可以到网上查一下是否有相关的问题的
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



如按照该方法解决,请及时跟帖,便于版主结贴
回复 支持 反对

使用道具 举报

73

主题

292

帖子

1410

积分

金牌会员

Rank: 6Rank: 6

积分
1410
QQ
 楼主| 发表于 2015-10-30 12:12:53 来自手机 | 显示全部楼层
结贴吧。
回复

使用道具 举报

39

主题

241

帖子

454

积分

中级会员

Rank: 3Rank: 3

积分
454
QQ
发表于 2016-4-25 12:09:53 | 显示全部楼层

找到原因了吗?
回复 支持 反对

使用道具 举报

39

主题

241

帖子

454

积分

中级会员

Rank: 3Rank: 3

积分
454
QQ
发表于 2016-4-25 12:11:38 | 显示全部楼层

请问怎么弄的
回复 支持 反对

使用道具 举报

73

主题

292

帖子

1410

积分

金牌会员

Rank: 6Rank: 6

积分
1410
QQ
 楼主| 发表于 2016-5-30 21:31:39 | 显示全部楼层

“收不到”可能是因为从推送到终端接收到要一段时间(几十秒到数分钟),用户就以为接收不到,等上个分把钟应该就能收到了。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|X3技术论坛|Justep Inc.    

GMT+8, 2024-11-22 07:08 , Processed in 0.067857 second(s), 26 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表