iOS实现远程推送原理及过程

2020-01-15 14:40:32于海丽

服务器端(Java服务器)

服务器端我们需要,一个后缀为. p12的证书,以及需要的 jar 包

服务器端的证书生成方式:

打开我们前面下载的证书,在钥匙串中找到它

iOS,远程推送

点击鼠标右键选择导出

iOS,远程推送

导出后缀为.p12的文件保存到自己的电脑上,需要输入一个密码,在 Java 服务器端要用到

iOS,远程推送

Java服务器端需要的 Jar 包

iOS,远程推送

Java 服务器端代码:

 


import javapns.back.PushNotificationManager;
import javapns.back.SSLConnectionHelper;
import javapns.data.Device;
import javapns.data.PayLoad;
public class pushService {
 public static void main(String[] args) {
   
   
  try {
       String deviceToken = "eab6df47eb4f81e0aaa93bb208cffd7dc3884fd346ea0743fcf93288018cfcb6";
       //被推送的iphone应用程序标示符   
       PayLoad payLoad = new PayLoad();
       payLoad.addAlert("测试我的push消息");
       payLoad.addBadge(1);
       payLoad.addSound("default");
           
       PushNotificationManager pushManager = PushNotificationManager.getInstance();
       pushManager.addDevice("iphone", deviceToken);
       
             //测试推送服务器地址:gateway.sandbox.push.apple.com /2195 
      //产品推送服务器地址:gateway.push.apple.com / 2195 
       String host="gateway.sandbox.push.apple.com"; //测试用的苹果推送服务器
       int port = 2195;
       String certificatePath = "/Users/hsw/Desktop/PushTest/PushTest.p12"; //刚才在mac系统下导出的证书
       
       String certificatePass