小编use*_*999的帖子

当一个PushSharp消息失败时,它们都会失败

我正在使用Push Sharp库将推送通知发送到Apple APN服务器.代码效果很好,我可以发送1000个通知.

问题是,如果我尝试发送带有无效设备令牌的通知,我会收到来自push sharp框架的失败消息,pushsharp.apple.notificationfailureexception并且不会发送在该点之后排队的每个消息.基本上,如果单个通知失败,PushSharp将清除其队列.

例如,如果我排队4个通知(1,2,3,4)并且通知2具有无效的设备令牌,则将发送通知1,2将失败,并且不发送3和4(并且不会触发任何事件通知这个的).

我知道带有无效设备令牌的通知将不会被发送,但是不能接受将其他N个排队通知丢弃在地板上.

这有什么变通方法吗?

这是我的代码:

_appleSettings = new ApplePushChannelSettings(!NOTIFICATION_SERVICE_USE_DEVELOPMENT,
     NOTIFICATION_SERVICE_USE_DEVELOPMENT 
     ? SSL_CERTIFICATE_NAME_DEV : SSL_CERTIFICATE_NAME_PROD, 
     SSL_CERTIFICATE_PASSWORD);

_appleSettings.ConnectionTimeout = NOTIFICATION_SERVICE_CONNECTION_TIMEOUT;
_appleSettings.FeedbackIntervalMinutes = 0; /*WE WILL HANDLE THE FEEDBACK EXTERNALLY*/
_appleSettings.MaxConnectionAttempts = NOTIFICATION_SERVICE_RETRY_ATTEMPS;

_serviceSettings = new PushServiceSettings();
_serviceSettings.MaxAutoScaleChannels = NOTIFICATION_SERVICE_NUM_CONNECTIONS;

_pushBroker = new PushBroker();
_pushBroker.OnChannelCreated += _pushBroker_OnChannelCreated;
_pushBroker.OnChannelDestroyed += _pushBroker_OnChannelDestroyed;
_pushBroker.OnChannelException += _pushBroker_OnChannelException;
_pushBroker.OnDeviceSubscriptionChanged += _pushBroker_OnDeviceSubscriptionChanged;
_pushBroker.OnDeviceSubscriptionExpired += _pushBroker_OnDeviceSubscriptionExpired;
_pushBroker.OnNotificationFailed += _pushBroker_OnNotificationFailed;
_pushBroker.OnNotificationRequeue += _pushBroker_OnNotificationRequeue;
_pushBroker.OnNotificationSent += _pushBroker_OnNotificationSent;
_pushBroker.OnServiceException += _pushBroker_OnServiceException; …
Run Code Online (Sandbox Code Playgroud)

apple-push-notifications pushsharp

5
推荐指数
1
解决办法
956
查看次数

无法注册推送通知(Xcode 7,iOS9)

我已将设备升级到iOS 9,将Xcode环境升级到7.0(7A220).我的app通过以下方式注册通知:

[[UIApplication sharedApplication] registerForRemoteNotifications];
Run Code Online (Sandbox Code Playgroud)

但是,既没有调用"didRegisterForRemoteNotificationWithDeviceToken"或"didFailToRegisterForRemoteNotificationsWithError".此外,我的应用程序没有出现在设置 - >通知部分(它告诉我它甚至没有尝试注册远程/推送通知)

我的应用程序ID启用了以下应用程序服务:

  • 游戏中心
  • 在应用程序内购买
  • 推送通知

在Xcode中,启用了以下功能:

  • 推送通知

  • 后台模式(远程通知)

这适用于iOS 8,应用程序使用Xcode 6构建.此外,当使用Xcode 7构建时,它不再适用于iOS 8设备.

push-notification apple-push-notifications ios9 xcode7

3
推荐指数
2
解决办法
1万
查看次数