ios 多用户推送问题

发布于 2021-11-15 13:52:27 字数 1338 浏览 645 评论 3

在给多用户推送信息时,当其中一个用户的token有误时,在他之后的用户就无法收到推送信息,何解?

public static void pushToClients(String filePath,String password,String content,List<PushInfo> pushInfos) {
			System.out.println("to pushs");
			try {
				PayLoad payLoad=new PayLoad();
				payLoad.addAlert(content);
				payLoad.addBadge(1);//应用图标上小红圈上的数值     //
				payLoad.addSound("default");
				
				PushNotificationManager pushManager=PushNotificationManager.getInstance();
				
				//链接到APNs  
			    pushManager.initializeConnection("gateway.push.apple.com", 2195, 
			    		filePath, password, SSLConnectionHelper.KEYSTORE_TYPE_PKCS12); 
			    
			    for (int i = 0; i < pushInfos.size(); i++) {System.out.println("iphone" + pushInfos.get(i).getId());
			    	pushManager.addDevice("iphone" + pushInfos.get(i).getId(), pushInfos.get(i).getToken());  
			        Device client = pushManager.getDevice("iphone"+ pushInfos.get(i).getId());  
			        pushManager.sendNotification(client, payLoad);  
				}
			    
			    pushManager.stopConnection();  
			    for (int i = 0; i < pushInfos.size(); i++) {  
			    	pushManager.removeDevice("iphone" + pushInfos.get(i).getId());
			    }
			    
			} catch (Exception e) {
				// TODO: handle exception
				System.out.println(e.getMessage());
			}
		}

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

不乱于心 2021-11-22 09:45:50

一是向苹果的服务推送消息时,如果遇到无效的deviceToken,苹果会断开网络连接,而JavaPNS不会进行重连。苹果原文:

    If you send a notification and APNs finds the notification malformed or otherwise unintelligible, it returns an error-response packet prior to disconnecting. (If there is no error, APNs doesn’t return anything.) Figure 5-3 depicts the format of the error-response packet.

平生欢 2021-11-22 09:06:14

看你代码怎么写了  你是不是遇到错误就队列终止呢

海之角 2021-11-22 07:29:40

try...catch 的问题吧

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文