zoukankan      html  css  js  c++  java
  • Java实现IOS推送(Javapns2.2)

    此程序需要Javapns 2.2版本。

    import java.util.ArrayList;
    import java.util.List;
    
    import javapns.Push;
    import javapns.devices.Device;
    import javapns.devices.implementations.basic.BasicDevice;
    import javapns.notification.AppleNotificationServerBasicImpl;
    import javapns.notification.PushNotificationManager;
    import javapns.notification.PushNotificationPayload;
    import javapns.notification.PushedNotification;
    import org.apache.commons.lang.StringUtils;
    
    public class ApnsSend
    {
        public static void main(String[] args) throws Exception
        {
            String deviceToken = "d7e6132895b388cf016433167c9e2d97fe4b76ca5a1692209a3b6e3cb3fdcd9c";
            String alert = "我的push测试";//push的内容
            int badge = 100;//图标小红圈的数值
            String sound = "default";//铃音
    
            List<String> tokens = new ArrayList<String>();
            tokens.add(deviceToken);
            String certificatePath = "D:/PushDev.p12";
            String certificatePassword = "123456";//此处注意导出的证书密码不能为空因为空密码会报错
            boolean sendCount = true;
    
            try
            {
                PushNotificationPayload payLoad = new PushNotificationPayload();
                payLoad.addAlert(alert); // 消息内容
                payLoad.addBadge(badge); // iphone应用图标上小红圈上的数值
                if (!StringUtils.isBlank(sound))
                {
                    payLoad.addSound(sound);//铃音
                }
                PushNotificationManager pushManager = new PushNotificationManager();
                //true:表示的是产品发布推送服务 false:表示的是产品测试推送服务
                pushManager.initializeConnection(new AppleNotificationServerBasicImpl(certificatePath, certificatePassword, false));
                List<PushedNotification> notifications = new ArrayList<PushedNotification>();
                // 发送push消息
                if (sendCount)
                {
                    Device device = new BasicDevice();
                    device.setToken(tokens.get(0));
                    PushedNotification notification = pushManager.sendNotification(device, payLoad, true);
                    notifications.add(notification);
                }
                else
                {
                    List<Device> device = new ArrayList<Device>();
                    for (String token : tokens)
                    {
                        device.add(new BasicDevice(token));
                    }
                    notifications = pushManager.sendNotifications(payLoad, device);
                }
                List<PushedNotification> failedNotifications = PushedNotification.findFailedNotifications(notifications);
                List<PushedNotification> successfulNotifications = PushedNotification.findSuccessfulNotifications(notifications);
                int failed = failedNotifications.size();
                int successful = successfulNotifications.size();
                pushManager.stopConnection();
            }
            catch (Exception e)
            {
                e.printStackTrace();
            }
        }
    }
  • 相关阅读:
    c#常用正则表达式
    亲密接触Discuz!NT之架构篇:优良架构 方便网站整合与二次开发
    即时对话,在线对话,QQ,MSN,UC,popo
    C#事务处理
    正则表达式中的特殊字符
    9:38 2009729
    16:43 200981 缓解疲劳的七大唱片 免费短信
    复选框 全选
    9:05 2009721
    9:34 2009728
  • 原文地址:https://www.cnblogs.com/lihaozy/p/2957904.html
Copyright © 2011-2022 走看看