所以我在黑莓上注册了我的应用程序,我可以收到推送消息,但在一段时间后(3 小时)我尝试再次推送到设备但没有运气,然后我必须再次在黑莓上注册,这样我才能收到推送。
我什么时候需要再次注册,这与我拥有开发证书而不是生产证书有关吗?
所以我在黑莓上注册了我的应用程序,我可以收到推送消息,但在一段时间后(3 小时)我尝试再次推送到设备但没有运气,然后我必须再次在黑莓上注册,这样我才能收到推送。
我什么时候需要再次注册,这与我拥有开发证书而不是生产证书有关吗?
注册应该是持久的。但 RIM 的服务器有时会不稳定:您是否看到这种情况始终如一地发生?
您使用的是 OS 5.0.0 或更早版本吗?如果是较旧的操作系统版本,您需要确保您的侦听线程始终在运行。对于 5.0.0 及更高版本,操作系统会为您处理这些问题。
另一个想法与确认的交付和应用程序确认有关。如果您正在使用此级别的服务(适用于 Push Plus 或 Push Essentials),但您的应用程序未确认通知,RIM 可能会将您的设备标记为暂停,并且不会再发送任何通知。
默认是使用 UNCONFIRMED 交付方法。如果你在 Java 中使用 RIM 的服务器端 SDK,并且你有这样的代码:
pushMessageControl.getQualityOfService().setDeliveryMethod(DeliveryMethod.CONFIRMED);
或者,如果您没有使用他们的 SDK,但在您的推送请求 XML 中有以下内容:
<quality-of-service delivery-method="confirmed"/>
然后您需要在通知处理程序的 BlackBerry 应用程序中调用以下命令:
pushInputStream.accept();
作为 Push SDK 一部分的pushdemo示例设备应用程序支持可选的应用程序确认,因此您应该研究该代码以了解该做什么。