`

java 批量推送 ios

    博客分类:
  • java
 
阅读更多

此程序需要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();

        }

    }

}

分享到:
评论

相关推荐

    苹果ios推送java服务端耗码demo

    7. **批量推送**: - 如果需要同时向多个设备推送,可以创建一个设备Token列表,然后循环调用`push`方法。 8. **关闭连接**: - 当完成推送后,记得关闭ApnsService,释放资源。 ```java service.shutdown(); ``...

    ios推送java写的后台

    4. **推送策略**:推送策略包括批量推送、单个推送、定时推送等。批量推送可以减少网络请求次数,提高效率;单个推送适用于特定用户的消息;定时推送则可以设置在特定时间发送通知。 5. **错误处理**:在Java后台,...

    Java向苹果服务器推送消息(Java实现HTTP/2协议发送APNS)

    实际应用中,你可能还需要考虑消息队列、批量推送、错误重试机制以及设备令牌管理等高级功能。确保遵循最佳实践,以提高推送的成功率和效率。同时,要时刻关注Apple的文档更新,因为APNs的规则和规范可能会随着版本...

    苹果消息推送 java端

    6. **批量推送**: - 为了提高效率,可以一次发送多条推送消息。Java程序需要处理并发推送,同时监控APNs服务器的响应,以防止因过多请求导致的连接被关闭。 7. **自定义通知扩展**: - 自iOS 8开始,可以使用...

    java进行苹果APNS消息推送

    Java进行苹果APNS(Apple Push Notification Service)消息推送是一项在iOS和macOS应用程序中实现远程通知功能的关键技术。本文将详细介绍如何使用Java实现这一过程,同时关注`javapns`库和`bcprov-jdk`加密组件的...

    java调用apns推送的实现

    - **批量推送**:为了提高效率,可以考虑一次性发送多个推送消息。但要注意,不要一次性发送过多,以免被APNs服务器拒绝。 - **性能优化**:保持长连接以减少每次推送时的连接建立时间,同时,可以使用多线程或异步...

    最新java整合APNS推送服务

    在实际开发中,你可能还需要考虑错误处理、批量推送、重试机制、日志记录等高级功能。同时,为了优化性能,可以使用连接池和线程池来管理多个并发连接。注意,APNS有严格的推送策略,例如,不要频繁发送无效的设备...

    iOS信息推送总结

    在iOS平台上,信息推送服务(通常称为Remote Notifications或Push Notifications)是开发者用来向用户设备发送消息、更新或提醒的关键技术。这项服务允许应用程序在后台运行时接收数据,并且即使应用程序未打开,...

    极光推送后台java代码demo

    【极光推送后台Java代码Demo】是针对极光推送服务的一个示例代码,它展示了如何在Java后端环境中集成和使用极光推送服务。...在实际应用中,还可以根据需求进一步定制消息内容、设置定时推送、实现批量推送等高级功能。

    java apns 推送示例

    Java APNS推送是Java开发中实现向iOS设备发送推送通知的一种技术。APNS(Apple Push Notification ...在实际应用中,你可能还需要考虑如何优化推送策略,如批量推送、错误重试、缓存设备令牌等,以提高性能和用户体验。

    极光推送 java后台 例子

    可以指定单个设备,也可以批量推送,甚至可以根据标签、别名等条件筛选目标用户。 5. 处理推送反馈:极光推送提供了消息送达状态的反馈机制,开发者可以通过监听反馈接口,获取推送消息的送达情况,如成功、失败或...

    iphone 推送通知 服务器端java 实现

    值得注意的是,为了提高推送效率和处理大量设备,可以考虑使用APNs的批量推送功能,一次发送多个设备的通知。同时,对于错误处理,建议采用幂等性设计,避免因网络问题导致的重复推送。 最后,为了优化用户体验,推...

    ios消息推送 使用notnoop消息推送

    在实际应用中,你可能还需要考虑批量推送、消息队列、重试策略以及错误日志记录等功能。Notnoop库通过其丰富的API和可扩展性,使得这些实现变得相对容易。 总的来说,Notnoop是一个强大的工具,它帮助开发者简化了...

    JavaPush消息推送

    5. **多平台兼容**:考虑到不同设备和操作系统,JavaPush服务需要支持多种推送协议,如APNs(Apple Push Notification service)用于iOS,FCM(Firebase Cloud Messaging)用于Android,以及可能的其他平台。...

    阿里云EAMS消息推送Java异步接入,给Android和IOS推送消息

    3. 用户分组:利用标签功能,将用户分组,进行批量推送,降低服务器压力。 4. 通知优先级:根据消息的重要性和紧急程度,设置不同的通知优先级。 五、监控与调试 为了保证推送服务的稳定运行,阿里云EAMS提供了详尽...

    IOS推送Java实现

    根据提供的信息,我们可以总结出以下关于“iOS推送Java实现”的相关知识点: ### 一、概述 在移动应用开发中,消息推送是与用户保持互动的关键技术之一。对于iOS平台而言,Apple提供了自己的推送通知服务(APNs,...

    极光推送JAVA服务端集成 jpush-api-java-client-master

    极光推送API提供了多种功能,如单设备推送、批量设备推送、标签推送、别名推送等。开发者可以通过HTTP RESTful API或者SDK来调用这些功能,实现与客户端的即时通讯。 2. **jpush-api-java-client**: 这个SDK是...

    IOS 消息推送 java服务端和客户端源码

    5. **性能优化**:批量推送可以提高效率,同时要注意连接管理和错误重试策略。 iOS客户端方面,主要包括以下部分: 1. **注册推送**:在应用启动时,需要请求用户授权接收推送,并通过`UNUserNotificationCenter`...

    ios推送jar包

    本资源提供的“ios推送jar包”正是这样一个工具,它包含了一组Java类和库文件,用于简化服务端与iOS设备之间推送通知的实现过程。 1. **APNs概念理解** - APNs是苹果公司提供的一个远程通知服务,使得服务器能够向...

    极光推送服务端(java)所需jar

    此外,还要关注推送的性能优化,例如批量推送、合理的错误重试策略等。 最后,开发者应该遵循极光推送的使用规范,定期更新SDK以获取最新的功能和安全修复,确保服务的稳定性和安全性。同时,对于推送效果的监控和...

Global site tag (gtag.js) - Google Analytics