java - Method for know unregistered tokens in APNS server (using Spring Server) -
successfully done push notification in android. , deal ios push notification.
in case of gcm sever push notification, server notify token unregistered or invalid etc. likewise there method in apns server.
please check code send push notification in apns
public void pushmessage() { apnsservice service = null; try { // certificate inputstream certstream = this.getclass().getclassloader().getresourceasstream("your_certificate.p12"); service = apns.newservice().withcert(certstream, "your_cert_password").withsandboxdestination().build(); // or // service = apns.newservice().withcert(certstream, // "your_cert_password").withproductiondestination().build(); service.start(); // read user list list<user> userlist = userdao.readusers(); (user user : userlist) { try { // had daily update here, need know how many //days user hasn't started app // number of updates display badge. int days = (int) ((system.currenttimemillis() - user.getlastupdate()) / 1000 / 60 / 60 / 24); payloadbuilder payloadbuilder = apns.newpayload(); payloadbuilder = payloadbuilder.badge(days).alertbody("some message want send here"); // check if message long (it won't sent if is) //and trim if is. if (payloadbuilder.istoolong()) { payloadbuilder = payloadbuilder.shrinkbody(); } string payload = payloadbuilder.build(); string token = user.gettoken(); service.push(token, payload); } catch (exception ex) { // logging stuff } } } catch (exception ex) { // more logging } { // check if service successfull initialized , stop here, if if (service != null) { service.stop(); } } } and use com.notnoop.apns library send apns push notification.
you have delete devices list no longer , use following codes
map<string, date> inactivedevices = service.getinactivedevices(); (string devicetoken : inactivedevices.keyset()) { // delete table } here service object of apnsservice.
apnsservice service;
Comments
Post a Comment