我开发了一个与开发人员资料配合良好的应用程序。但是,我现在正在生产中,PUSH通知不再起作用。
我正在使用notnoop的 java-apns
该证书是正确的(就像我在本地笔记本电脑中尝试过的那样)。
但是,它在我的服务器上不起作用。我收到以下错误:
com.notnoop.exceptions.NetworkIOException: java.net.SocketException: Socket closed
我正在使用的代码如下:
try{
//Abrimos el servicio con el certificado
ApnsService service =APNS.newService()
.withCert("cert.p12", "password")
.withProductionDestination()
.build();
String payload="";
payload = APNS.newPayload().sound("default").badge(1).localizedKey("ShoutPushStringWithData").localizedArguments(pUserName, pMessage).build();
String token = pPushURI;
service.push(token, payload);
} catch(RuntimeIOException | InvalidSSLConfig | NetworkIOException e){
WebServiceLogger.getInstance().log(Level.INFO, "[ERROR PUSH]: "+ e);
}
我究竟做错了什么?我该如何解决?
谢谢,
伊拜
最佳答案
我遇到了同样的问题和消息,并最终发现该问题是我使用了证书吗?为沙箱生成的代码,我的代码将APNS服务创建为.withProductionDestination()。build()
我将代码更改为.withSandboxDestination()。build(),现在可以工作了
关于ios - notnoop Java-apns套接字已关闭,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12583639/