所以我用黑莓注册我的应用程序,我可以收到推送消息,但在一段时间后(3小时)我尝试再次推送到设备但没有运气,然后我必须再次注册BlackBerry,所以我可以收到推。
我需要再次注册的时间是什么,并且与我有开发凭证而不是生产凭证有关吗?
答案 0 :(得分:1)
注册应该是持久的。但是RIM的服务器有时会不稳定:你是否看到这种情况持续发生?
您使用的是OS 5.0.0或更早版本吗?如果是较旧的OS版本,则需要确保您的监听线程始终在运行。对于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
示例设备应用程序支持可选的应用程序确认,因此您应该研究该代码以查看要执行的操作。