问题标签 [javaapns]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - 计算 APNS 帧大小/格式化字节流
假设这一切都是正确的,那应该给出一个帧数据长度总计:35 + 178 + 7 + 7 + 4
=232
通过对所有帧项总数求和。
但是在查看一些notnoop/java-apns 代码时:
我看不出这是如何正确计算长度的。但是,我的代码不起作用,而这可能起作用。我究竟做错了什么?
ios - 无法向 iPhone 发送推送通知
我正在使用 Java APNs 向 i-phone 发送推送通知。能够向一个应用程序发送通知,但无法向其他应用程序发送通知。对于第一个应用程序(成功发送推送通知)正在使用
并且对于其他应用程序(不成功)正在使用相同的
有什么帮助吗??
ios - 我们可以在向两个不同应用程序发送通知的单台机器上托管两个 API(APN 提供者)吗?
我对 iOS 应用程序开发和 APNs 非常陌生。我开发了两个配置为接收推送通知的应用程序。
在我的测试环境中,我在同一台机器上托管使用 Javapns 库编写的两个 API apiAppX 和 apiAppY。apiAppX 和 apiAppY 分别为 appX 和 appY 生成推送通知(警报)。我为不同的应用程序使用不同的 p12 文件。
问题是,如果我先为 appX 生成 APNs 证书,那么它会收到通知,但 appY 不会。如果我首先为 appY 生成 APNs 证书,那么它会收到通知,但 appX 不会。
我认为这个问题是因为我在一台机器上托管两个提供商而引起的。阅读此文档后,我得出了结论。特别是,在阅读以下段落后:
请注意,提供者连接仅对交付到一个特定应用程序有效,由证书中指定的主题(捆绑 ID)标识。APNs 还维护一个证书撤销列表;如果提供者的证书在此列表中,APN 可能会撤销提供者信任(即拒绝连接)。
我对吗?
谢谢。
ios - iOS 通知 - 如何使用一个 P12 文件管理两个应用 ID
我有一个为 iPhone 和 iPad 构建的通知项目。所以我在 Apple Store 上有 2 个应用程序 ID = 2 个应用程序。
如果我了解 Apple 官方指南(https://developer.apple.com/library/ios/documentation/IDEs/Conceptual/AppDistributionGuide/ConfiguringPushNotifications/ConfiguringPushNotifications.html),我必须为特定应用创建推送通知证书ID。因此,由于我有两个 App ID,最后将创建 2 个通知功能证书。
在我的服务器应用程序上,我必须管理一个 .p12 文件来发送通知。当我有 1 个 APNs 证书(例如与我的 iPhone 应用程序有关的证书)时,它运行良好。当我有一个包含 2 个 APNs 证书(iPhone + iPad)的 .p12 文件时,我无法从服务器端发送通知!错误是“无法发送通知,错误代码为 8”。我正在使用沙盒网关,因为我正在使用 DEV 证书。
如何在一个 .p12 文件中管理 2 个应用程序?可能吗 ?我正在使用https://github.com/notnoop/java-apns库。
感谢您的时间,
java - java-apns INVALID_TOKEN 响应
我正在使用java-apns库来发送推送通知消息。我发送token_id
到 APNS 服务器并接收响应INVALID_TOKEN。所以我的问题是 APNS 服务器对此响应使用什么算法?我认为最好在我这边检查这个 token_id,如果没问题,然后将消息推送到这个令牌。提前致谢。
java - 向 APNS 发送推送通知(AdHoc 部署)
我正在尝试将推送通知从我的 Java 后端发送到我的移动应用程序。为此,我使用 notnoop java-apns 库。我设法设置了所有东西,并且一切都在开发(开发证书和配置文件)上完美运行。
我想尽快发布该应用程序,但首先我想设置所有内容,以便在它上线后做好准备。所以我创建了一个“App Store and Ad Hoc”证书,以及一个“Ad Hoc”配置文件。然后我尝试使用该 P12 文件,该文件应该与应用程序上线后我将使用的文件相同。但不幸的是,我遇到了以下异常:
有谁知道可能会发生什么?怎么可能在开发而不是 AdHoc 上正常工作(我猜也是生产,因为他们使用相同的推送通知证书)?
ios - APNS 无法通宵工作
我曾经通过我的服务器向 iOS 手机发送通知。
我的 APNS 证书自 2014 年 12 月以来没有更改,并且仍然有效。
但是,从昨天开始,当服务器尝试发送任何 APNS 通知时出现此错误:
可能是什么原因?由于我严格没有更改我的后端(没有交付)并且它昨天工作......
这可能是关于 APNS 服务器的临时错误吗?
java - SocketException:推送到生产目的地时,连接被远程主机关闭
我需要向 IOS 设备发送通知,我们使用 Java 作为后端。我正在使用notnoop/java-apns库将通知推送到 IOS 设备。
当我尝试使用生产证书和生产目标推送到 APNS时,出现SocketException:Connection closed by remote host 。
当我使用开发证书和沙盒目的地时,一切正常,设备收到推送通知。
我尝试使用另一个工具和我们的生产证书推送通知,并且推送已收到,因此证书有效。我不明白出了什么问题。我是在做错什么,还是与网络相关的问题或图书馆出了什么问题?
以下是堆栈跟踪:-
重试 3 次后无法发送消息。Message(Id=1; Token=0557A5BE7EEA5718A1064FC138EEE855BBDDE15FC8C5841CEADBAD2716A42AEC; Payload={"aps":{"alert":{"body":"任务已分配给您。","title": “新任务!”},“声音”:“默认”,“徽章”:1}})java.net.SocketException:连接被远程主机在sun.security.ssl.SSLSocketImpl.checkWrite(SSLSocketImpl.java:1490 ) 在 sun.security.ssl.AppOutputStream.write(AppOutputStream.java:123) 在 java.io.OutputStream.write(OutputStream.java:75) 在 com.notnoop.apns.internal.ApnsConnectionImpl.sendMessage(ApnsConnectionImpl.java: 328) 在 com.notnoop.apns.internal.ApnsConnectionImpl.sendMessage(ApnsConnectionImpl.java:312) 在 com.notnoop.apns.internal.ApnsServiceImpl.push(ApnsServiceImpl.java:46) 在 com.notnoop.apns.internal.AbstractApnsService.push(AbstractApnsService.java:89) 在 com.notnoop.apns.internal.ApnsServiceImpl.push(ApnsServiceImpl.java:36) 在 com.mobileinsight.api.service.impl .IOSBroadcastServiceImpl.broadcastNewTaskNotifications(IOSBroadcastServiceImpl.java:125) 在 com.mobileinsight.api.service.impl.IOSBroadcastServiceImpl.broadcastIOSPushNotifications(IOSBroadcastServiceImpl.java:60) 在 com.mobileinsight.api.service.impl.PushNotificationServiceImpl.pushNotificationsInBulk(PushNotificationServiceImpl.java) :29) 在 sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) 在 sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 在 sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 在 java.lang。反射.Method.invoke(Method.java:606) 在 org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:183) 在 org.springframework.aop.framework.ReflectiveMethodInvocation 的 org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:319) .proceed(ReflectiveMethodInvocation.java:150) 在 org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:110) 在 org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172) 在 org. springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:202) at com.sun.proxy.$Proxy136.pushNotificationsInBulk(Unknown Source) at com.mobileinsight.api.quartz.PushNotificationBatchRunner.doWork(PushNotificationBatchRunner.java:24)在 sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 在 sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) 在 sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 在 java.lang.reflect.Method.invoke(Method. java:606) at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:64) at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:53) at java.util.concurrent.Executors $RunnableAdapter.call(Executors.java:471) at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:304) at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:178) at java .util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask。在 java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) 在 java.lang.Thread 的 java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) 运行 (ScheduledThreadPoolExecutor.java:293) .run(Thread.java:745)
ios - 如何获取所有注册设备(APNS)的设备令牌?
我有一个托管在 Apple Store 中的 iPhone 应用程序,最近由于数据库故障(损坏),该应用程序的所有注册设备令牌都已损坏,现在我无法向设备推送通知。
有什么方法可以从 Apple Servers 再次获取注册的设备令牌?
java - APNS - 无法使用 Java 向 iOS 设备发送通知
我需要让这个工作,但我完全没有选择......任何帮助将不胜感激。
我正在尝试使用 Java 向我的 iOS 设备发送通知,并遵循了许多教程和论坛帖子,主要是这些: raywenderlich.com、JavaPNS 基本示例和下面显示的 java-apns 示例。
但是,我能够使用 PHP 发送通知。有人能看到我做错了什么吗?我已经为此工作了几天,但无法弄清楚问题出在 b/c 我已经复制了其他人声称有效的确切代码。这是我的代码:
这是我得到的例外:
当我包含错误的密码时,我会收到密码错误的异常,因此我知道它正在查找 .p12 文件。我可以使用我在网上找到的 PHP 示例发送通知,但 Java 代码肯定缺少一些东西。我已经尝试了 java-apns 库(如上所示)和 JavaPNS 库,我得到了相同的结果。