本地推送正常,放到服务器就推送多条


(Coci) #1

(Coci) #2

现在先要搞清楚一个问题 我注册了别名T_L000000001,在本地测试时能推送的,但是再服务器推送 就收不到消息


(Coci) #3
Please ensure your internet connection is ok.
If the problem persists, please let us know at support@jpush.cn.
        at cn.jiguang.common.connection.NativeHttpClient.doRequest(NativeHttpClient.java:107)
        at cn.jiguang.common.connection.NativeHttpClient.sendPost(NativeHttpClient.java:86)
        at cn.jpush.api.push.PushClient.sendPush(PushClient.java:163)
        at cn.jpush.api.JPushClient.sendPush(JPushClient.java:193)
        at com.cmrh.jpush.JPushUtils.testSendPush(JPushUtils.java:81)
        at com.cmrh.report.scheduler.ReportNotFinishedPushQuartz.execute(ReportNotFinishedPushQuartz.java:62)
        at com.cmrh.report.scheduler.ReportNotFinishedPushQuartz$$FastClassByCGLIB$$d9c42f9a.invoke(<generated>)
        at net.sf.cglib.proxy.MethodProxy.invoke(MethodProxy.java:191)
        at org.springframework.aop.framework.Cglib2AopProxy$CglibMethodInvocation.invokeJoinpoint(Cglib2AopProxy.java:688)
        at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:150)
        at com.cmrh.sf.trace.interceptor.TraceMethodInterceptor.invoke(TraceMethodInterceptor.java:166)
        at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
        at org.springframework.aop.framework.Cglib2AopProxy$DynamicAdvisedInterceptor.intercept(Cglib2AopProxy.java:621)
        at com.cmrh.report.scheduler.ReportNotFinishedPushQuartz$$EnhancerByCGLIB$$3e7999f2.execute(<generated>)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

#4

#5

1、这种情况都是你们服务器本身的问题。

2、推送多条,如果是在推送历史中产生了多条记录,MessageID 不一样,代表你们自己调了多次 API ,只能你们自己做排查。

3、[quote=“Coci, post:2, topic:27995”]
再服务器推送 就收不到消息
[/quote]

收不到消息的问题,排查: 常见问题 - JPush 合集(持续更新)

4、超时问题检查你们服务端的网络设置


(Coci) #6

我日志都没收到你们返回得 MessageID ,现在链接超时 我这边只要开通443端口就行了是把


(Coci) #7

是开通我们服务器的443端口 还是 访问你们的443端口?


#8

1、开通你们的 443 端口!

2、根据上述链接一步步的排查,除了端口之外的防火墙等网络设置也需要注意


(Coci) #9

请问为什么要开通我们服务器的443端口 ?


#10

HTTPS 服务要求


(Coci) #12

请问下极光后台设置的应用 服务器所在地 选择南方机房 或 北京机房 有什么区别?选择南方机房需不需要开通443端口


#13

都需要,都是 HTTPS 的,北京机房的有新的 URL 地址,可以选择使用新的 URL


(Coci) #14

你说的新的url是什么?我下了jar包 之后没有填url的地方


(Coci) #15

直接导入jar包 用你们的demo就可以调用了


(Coci) #16
public static void testSendPush(Audience audience,String alert,String title) {
		ClientConfig clientConfig = ClientConfig.getInstance();
        final JPushClient jpushClient = new JPushClient(MASTER_SECRET, APP_KEY, null, clientConfig);
        // Here you can use NativeHttpClient or NettyHttpClient or ApacheHttpClient.
        // Call setHttpClient to set httpClient,
        // If you don't invoke this method, default httpClient will use NativeHttpClient.
//        ApacheHttpClient httpClient = new ApacheHttpClient(authCode, null, clientConfig);
//        jpushClient.getPushClient().setHttpClient(httpClient);
        final PushPayload payload = buildPushObject_android_and_ios(audience,alert,title);
//        // For push, all you need do is to build PushPayload object.
//        PushPayload payload = buildPushObject_all_alias_alert();
        try {
            PushResult result = jpushClient.sendPush(payload);
            LOG.warn("GotResult:" + result);
            // 如果使用 NettyHttpClient,需要手动调用 close 方法退出进程
            // If uses NettyHttpClient, call close when finished sending request, otherwise process will not exit.
            // jpushClient.close();
        } catch (APIConnectionException e) {
            LOG.error("Connection error. Should retry later. ", e);
            LOG.error("Sendno: " + payload.getSendno());

        } catch (APIRequestException e) {
            LOG.error("Error response from JPush server. Should review and fix it. ", e);
            LOG.error("HTTP Status: " + e.getStatus());
            LOG.error("Error Code: " + e.getErrorCode());
            LOG.error("Error Message: " + e.getErrorMessage());
            LOG.error("Msg ID: " + e.getMsgId());
            LOG.error("Sendno: " + payload.getSendno());
        }
    }

(Coci) #17

你说的这个url?
clientConfig.put(ADMIN_HOST_NAME, “https://admin.jpush.cn”);


#18

sdk 里面对 API 地址已经封装过了。


(Coci) #19

那我极光后台设置的是北京机房,项目里用的sdk是 clientConfig.put(ADMIN_HOST_NAME, “https://admin.jpush.cn”);
,这会不会有问题?


#20

1、基本推送没有问题。

2、可能存在的影响见链接,如何修改见上述链接。

3、这跟你请求超时没有关系


(Coci) #21

嗯 这个跟请求超时没有关系,按我怕现在想把应用改为南方机房 极光后台可以改么?我点编辑之后只能看到 修改应用名称和图标。不想改你们提供的jar包