极光推送出现Read timed out

图片说明

这应该是注册id没设置好

请检查注册ID设置问题

个人代码例子

package com.lchy.xwx.mq.common.Jdpush;

import java.util.HashMap;

import java.util.Map;

import org.slf4j.Logger;

import org.slf4j.LoggerFactory;

import com.lchy.xwx.mq.util.ReadConfigUtil;

import cn.jpush.api.JPushClient;

import cn.jpush.api.common.TimeUnit;

import cn.jpush.api.common.resp.APIConnectionException;

import cn.jpush.api.common.resp.APIRequestException;

import cn.jpush.api.push.PushResult;

import cn.jpush.api.push.model.Message;

import cn.jpush.api.push.model.Platform;

import cn.jpush.api.push.model.PushPayload;

import cn.jpush.api.push.model.audience.Audience;

import cn.jpush.api.push.model.notification.AndroidNotification;

import cn.jpush.api.push.model.notification.IosNotification;

import cn.jpush.api.push.model.notification.Notification;

import cn.jpush.api.push.model.notification.WinphoneNotification;

import cn.jpush.api.report.ReceivedsResult;

import cn.jpush.api.report.ReceivedsResult.Received;

import cn.jpush.api.report.UsersResult;

public class Jdpush {

protected static final Logger log = LoggerFactory.getLogger(Jdpush.class);

// demo App defined in resources/jpush-api.conf  
private static final ReadConfigUtil config = ReadConfigUtil.getInstance();  
private static final String APPKEY = config.getValue("jpush.appkey");  
private static final String MASTERSECRET = config.getValue("jpush.mastersecret");  
private static final String DAY = config.getValue("jpush.offlineday");  
public static JPushClient jpushClient = null;  

/** 
 * 推送通知接口 
 * @param alias 别名 
 * @param tags tag数组 
 * @param title 推送标题 
 * @param btype 推送类型 
 * @param content 推送内容 
 */  
public static void sendPushNotice(String alias, String[] tags, String title, String btype, String content) {  
    jpushClient = new JPushClient(MASTERSECRET, APPKEY, Integer.valueOf(DAY));  
    PushPayload payload = null;  
    // 生成推送的内容,这里我们先测试全部推送  
    // 通知提示信息  
    if (content != null) {  
        Map<String, String> map = new HashMap<String, String>();  
        map.put("btype", btype);  
        // 根据别名推送  
        if (alias != null && tags == null) {  
            payload = buldPushObject_all_all_alias(alias, title, content, map);  
        } else if (alias == null && tags != null) { // 根据tag[]推送  
            payload = buldPushObject_all_all_tag(tags, title, content, map);  
        } else if (alias != null && tags != null) { // 别名和tags[] 推送通知  
            payload = buldPushObject_all_all_aliasAndTag(alias, tags, title, content, map);  
        } else if (alias == null && tags == null) {  
            payload = buldPushObject_all_all(title, content, map);  
        }  
    } else {  
        log.info("No notification - " + content);  
    }  
    try {  
        System.out.println(payload.toString());  
        PushResult result = jpushClient.sendPush(payload);  
        System.out.println(result.msg_id+ "................................");  
        log.info("Got result - " + result);  
    } catch (APIConnectionException e) {  
        log.error("Connection error. Should retry later. ", e);  
    } catch (APIRequestException e) {  
        log.error("Error response from JPush server. Should review and fix it. ", e);  
        log.info("HTTP Status: " + e.getStatus());  
        log.info("Error Code: " + e.getErrorCode());  
        log.info("Error Message: " + e.getErrorMessage());  
        log.info("Msg ID: " + e.getMsgId());  
    }  
}  

/** 
 * 推送自定义消息接口.根据别名修改标签(tag) 
 * @param alias 别名 
 * @param content 推送内容 
 */  
public static void sendPushMessage(String alias, String content) {  
    jpushClient = new JPushClient(MASTERSECRET, APPKEY, Integer.valueOf(DAY));  
    PushPayload payload = null;  
    // For push, all you need do is to build PushPayload object.  
    // PushPayload payload = buildPushObject_all_all_alert();  
    // 判断用户别名和tag不为空的情况下才推送修改标签(tag)  
    if (content != null && alias != null) {  
        payload = PushPayload.newBuilder()  
                .setAudience(Audience.alias(alias))  
                .setPlatform(Platform.all())  
                .setMessage(Message.content(content)).build();  
    } else {  
        log.info("No notification - " + content);  
    }  
    try {  
        System.out.println(payload.toString());  
        PushResult result = jpushClient.sendPush(payload);  
        System.out.println(result + "................................");  
        log.info("Got result - " + result);  
    } catch (APIConnectionException e) {  
        log.error("Connection error. Should retry later. ", e);  
    } catch (APIRequestException e) {  
        log.error("Error response from JPush server. Should review and fix it. ", e);  
        log.info("HTTP Status: " + e.getStatus());  
        log.info("Error Code: " + e.getErrorCode());  
        log.info("Error Message: " + e.getErrorMessage());  
        log.info("Msg ID: " + e.getMsgId());  
    }  
}  

/** 
 * 查询记录推送成功条数 
 * @param mid 
 */  
public static void countPush(String mid) {  
    jpushClient = new JPushClient(MASTERSECRET, APPKEY, Integer.valueOf(DAY));  
    PushPayload payload = null;  
    try {  
        ReceivedsResult result = jpushClient.getReportReceiveds(mid);  
        Received received = result.received_list.get(0);  
        System.out.println("android_received:" + received.android_received  
                + "\nios:" + received.ios_apns_sent);  
        log.debug("Got result - " + result);  
    } catch (APIConnectionException e) {  
        // Connection error, should retry later  
        log.error("Connection error, should retry later", e);  
    } catch (APIRequestException e) {  
        // Should review the error, and fix the request  
        log.error("Should review the error, and fix the request", e);  
        log.info("HTTP Status: " + e.getStatus());  
        log.info("Error Code: " + e.getErrorCode());  
        log.info("Error Message: " + e.getErrorMessage());  
    }  
}  

/** 
 * 统计用户数据。需要vip用户才能访问 
 */  
public static void getReportUser() {  
    jpushClient = new JPushClient(MASTERSECRET, APPKEY, Integer.valueOf(DAY));  
    PushPayload payload = null;  
    try {  
        UsersResult result = jpushClient.getReportUsers(TimeUnit.DAY, "2015-04-28", 8);  
        // Received received =result  
        // System.out.println("android_received:"+received.android_received+"\nios:"+received.ios_apns_sent);  
        log.debug("Got result - " + result);  
    } catch (APIConnectionException e) {  
        // Connection error, should retry later  
        log.error("Connection error, should retry later", e);  
    } catch (APIRequestException e) {  
        // Should review the error, and fix the request  
        log.error("Should review the error, and fix the request", e);  
        log.info("HTTP Status: " + e.getStatus());  
        log.info("Error Code: " + e.getErrorCode());  
        log.info("Error Message: " + e.getErrorMessage());  
    }  
}  

/** 
 * 根据别名通知推送 
 * @param alias 别名 
 * @param alert 推送内容 
 * @return 
 */  
public static PushPayload buldPushObject_all_all_alias(String alias, String title, String content, Map<String, String> map) {  
    return PushPayload  
            .newBuilder()  
            .setPlatform(Platform.all())  
            .setAudience(Audience.alias(alias))  
            .setNotification(  
                    Notification  
                            .newBuilder()  
                            .addPlatformNotification(  
                                    IosNotification.newBuilder()  
                                            .setAlert(content)  
                                            .addExtras(map).build())  
                            .addPlatformNotification(  
                                    AndroidNotification.newBuilder()  
                                            .setAlert(content)  
                                            .setTitle(title).addExtras(map)  
                                            .build())  
                            .addPlatformNotification(  
                                    WinphoneNotification.newBuilder()  
                                            .setAlert(content)  
                                            .addExtras(map).build())  
                            .build()).build();  
}  

/** 
 * 根据tag通知推送 
 * @param alias 别名 
 * @param alert 推送内容 
 * @return 
 */  
public static PushPayload buldPushObject_all_all_tag(String[] tags, String title, String content, Map<String, String> map) {  
    return PushPayload  
            .newBuilder()  
            .setPlatform(Platform.all())  
            .setAudience(Audience.tag(tags))  
            .setNotification(  
                    Notification  
                            .newBuilder()  
                            .addPlatformNotification(  
                                    IosNotification.newBuilder()  
                                            .setAlert(content)  
                                            .addExtras(map).build())  
                            .addPlatformNotification(  
                                    AndroidNotification.newBuilder()  
                                            .setAlert(content)  
                                            .setTitle(title).addExtras(map)  
                                            .build())  
                            .addPlatformNotification(  
                                    WinphoneNotification.newBuilder()  
                                            .setAlert(content)  
                                            .addExtras(map).build())  
                            .build()).build();  
}  

/** 
 * 根据tag通知推送  
 * @param alias  别名 
 * @param alert  推送内容 
 * @return 
 */  
public static PushPayload buldPushObject_all_all_aliasAndTag(String alias, String[] tags, String title, String content, Map<String, String> map) {  
    return PushPayload  
            .newBuilder()  
            .setPlatform(Platform.all())  
            .setAudience(Audience.alias(alias))  
            .setAudience(Audience.tag(tags))  
            .setNotification(  
                    Notification  
                            .newBuilder()  
                            .addPlatformNotification(  
                                    IosNotification.newBuilder()  
                                            .setAlert(content)  
                                            .addExtras(map).build())  
                            .addPlatformNotification(  
                                    AndroidNotification.newBuilder()  
                                            .setAlert(content)  
                                            .setTitle(title).addExtras(map)  
                                            .build())  
                            .addPlatformNotification(  
                                    WinphoneNotification.newBuilder()  
                                            .setAlert(content)  
                                            .addExtras(map).build())  
                            .build()).build();  
}  

/** 
 * 根据通知推送 
 * @param alias 别名 
 * @param alert 推送内容 
 * @return 
 */  
public static PushPayload buldPushObject_all_all(String title, String content, Map<String, String> map) {  
    return PushPayload  
            .newBuilder()  
            .setPlatform(Platform.all())  
            .setAudience(Audience.all())  
            .setNotification(  
                    Notification  
                            .newBuilder()  
                            .addPlatformNotification(  
                                    IosNotification.newBuilder()  
                                            .setAlert(content)  
                                            .addExtras(map).build())  
                            .addPlatformNotification(  
                                    AndroidNotification.newBuilder()  
                                            .setAlert(content)  
                                            .setTitle(title).addExtras(map)  
                                            .build())  
                            .addPlatformNotification(  
                                    WinphoneNotification.newBuilder()  
                                            .setAlert(content)  
                                            .addExtras(map).build())  
                            .build()).build();  
}  

}

MASTERSECRET、APPKEY //在Jpush申请应用时产生的
Integer.valueOf(DAY) //离线天数
jpushClient = new JPushClient(MASTERSECRET, APPKEY, Integer.valueOf(DAY)); //创建jpush对象

PushPayload
.newBuilder()
.setPlatform(Platform.all()) //推送设备类型,比如android、ios、Winphone等设备
.setAudience(Audience.alias(alias)) //设备的别名
.setNotification( //推送通知消息的几种设备中,需要提供标题(title),内容(content),以及附加字段(map)。
Notification
.newBuilder()
.addPlatformNotification(
IosNotification.newBuilder()
.setAlert(content)
.addExtras(map).build())
.addPlatformNotification(
AndroidNotification.newBuilder()
.setAlert(content)
.setTitle(title).addExtras(map)
.build())
.addPlatformNotification(
WinphoneNotification.newBuilder()
.setAlert(content)
.addExtras(map).build())
.build()).build();

极光api

你看看极光在项目中注册了吗,然后是id是不是错了

这应该是注册id出错