突然,通知没有从java服务器到达Android

突然,通知没有从java服务器到达Android,java,android,rest,push-notification,Java,Android,Rest,Push Notification,多年来,我一直在毫无问题地发送通知,但突然间就不起作用了 谷歌的回应是: com.google.android.gcm.server.InvalidRequestException:HTTP状态代码:400 我使用的方法是: @POST @Path("sms") @Consumes(MediaType.APPLICATION_JSON) @Produces(MediaType.TEXT_PLAIN) public void sendMensaje(String mensajeJSON){

多年来,我一直在毫无问题地发送通知,但突然间就不起作用了

谷歌的回应是:

com.google.android.gcm.server.InvalidRequestException:HTTP状态代码:400

我使用的方法是:

@POST
@Path("sms")
@Consumes(MediaType.APPLICATION_JSON)
@Produces(MediaType.TEXT_PLAIN)
public void sendMensaje(String mensajeJSON){
    LOGGER.log(Level.ERROR, "zzz Empieza");
    try {
        System.out.println("ENVIO: " + "En Server" + "mensajeJSON:" + mensajeJSON);
        LOGGER.log(Level.ERROR, "zzz " + "En Server" + "mensajeJSON:" + mensajeJSON);
        Mensaje mensaje = new Mensaje().transformJSONStringToMensajeObject(mensajeJSON);
        Gson gson = new GsonBuilder().create();
        LOGGER.log(Level.ERROR, "zzz " + "orden convertida de JSON");
        //TODO get usuario de la base de datos mediante el email
        String usuarioEmail = mensaje.getUsuario();
        LOGGER.log(Level.ERROR, "zzz usuario: " + usuarioEmail);
        DispositivoGestor dispositivoGestor = new DispositivoGestor();
        LOGGER.log(Level.ERROR, "zzz empezamos a buscar codigo");
        String codigoMovilUsuario = dispositivoGestor.selectCodigoDispositivoByEmail(usuarioEmail);
        LOGGER.log(Level.ERROR, "zzz codigo encontrado: " + codigoMovilUsuario);
        if(null!=codigoMovilUsuario){
            String mensajeString = mensaje.getMensaje();
            Sender sender = new Sender( "AIzaSyBwD0z3KU7ShyRsTrP8qeic_KVaaq44CAM"); //TODO HARCODED, pero está bien harcodeado

            LOGGER.log(Level.ERROR, "zzz " + "CREAR message");
            Message message = new Message.Builder()
            .timeToLive(604800)//7 días
            .delayWhileIdle(false)
            .addData("message",
                    mensajeString)
                    .build();

            LOGGER.log(Level.ERROR, "zzz " + "INICIO ENVIO");
            Result result = sender.send(message, codigoMovilUsuario, 1);
            LOGGER.log(Level.ERROR, "zzz " + "FIN ENVIO");


            System.out.println(result.toString());
            LOGGER.log(Level.ERROR, "zzz " + "result.toString():  " + result.toString());
            if(result.toString().contains("error")) {
                LOGGER.log(Level.ERROR, "zzz " + "EROOORRR");
                System.out.println("return false");
//返回“false”; }LOGGER.log(Level.ERROR,“zzz”+“OK”)

我要传达的信息是:

消息(timeToLive=604800,delayWhileIdle=false,数据:{Message={“mExplotacionIdAccess”:6200,“mNIF”:“E05252317”,“mNombre”:“LA SOLANILLA,T.C”,“mDireccion”:“CAMINO DE AVILA,4”,“mTermino”:“SAN ESTEBAN DE LOS PATOS”,“mCEA”:“ES052060000014”,“mTelefono”:“651420376”,“MPProvincia”:“Ila”,“mZona”:“VALLE AMBLES”,“MPincia”:“sila”,“mTerminoCliente”:“SAN ESTEBAN DE LOS PATOS”,“mDireccionCliente”:“CAMINO Ds,4”,“M省级客户”:“5”,“mTerminoClienteId”:“195”,“M省级客户”:“195”,“mTerminoId”:“195”,“Msitacionpoliza”:“ORDEN CREADA MANUALMENTE,NO TIENE SEGURO”,“mEstadoPoliza”:“0”,“mSeguro”:false,“mAvisoBD”:“ORDEN CREADA MANUALMENTE,NO TIENE SEGURO”,“Mplantiid”:1,“mPlanta”“:“SEBERIA CASTELLANA S.L.”,“mPlaNombre.”“SEBERIA CASTELLANA S.L.”,“mPlaNIF”:“B-05150107”,“mPlaDireccion”:“CAMINO DEÁVILA,1”,“mPlaLocalidad”:“PRNOS”,“mPlaProvincia”:“S”,“mPlaRegistro”:“011-05-AI11-05”,“McConductorid”:“100”,“mTranRazon”:“CASTELLANA,S.L.”,“mTranCIF”:“s107”,“mTranAut”:“TS.ES.08.05000002”,“Mtrany”mTranMat”:“Mtranz4MF”:”:,“mTranPrecinto”:“precinto”,“mTelefono2”:“625094253”,“mTranNombre”:“sdsf sdf sfd”,“mEspecie”:“AV”,“mNumero”:1,“mCebo”:false,“mId”:99905009,“mEstado”:“nueva”,“mFechaRecepcion”:“2019年4月24日”,“mHoraRecepcion”:“13:23”,“mFechaRecogida”:“2019年8月6日”,“mColorCode”:5,“mEstadoPoliza2”:“0”,“mSintomas”:false,“mAccesible”:true,“mscarecepcion”:false,“mstrapie”:false,“mBrucelosis”:假,“结核”假,“mOtrasEnfermedades”假,“latitud”:0.0,“longitud”:0.0})

问题在哪里


非常感谢您的回复!对不起,我的英语也有这个问题,我怀疑这与谷歌弃用和禁用GCM API有关。我也有这个问题,我怀疑这与谷歌弃用和禁用GCM API有关

        } else {
            System.out.println("NO se ha encontrado el código del user para enviar la notificación Push");
        }


    } catch (Exception e) {
        e.printStackTrace();
    }
    System.out.println("return true");
    LOGGER.log(Level.ERROR, "zzz " + "FIN");
}