【问题标题】:Apple Push Notifications from WebApi app来自 WebApi 应用程序的 Apple 推送通知
【发布时间】:2014-10-17 20:29:14
【问题描述】:

我将PushSharp 用于 Apple 推送通知,它在 Windows 8 和 Windows Server 2008R2 上的控制台应用程序和 Windows 服务中运行,但在同一台计算机上传输到 WebApi 应用程序的相同代码不起作用。我已经通过 mmc 在 Personal(私钥可用,授予 IIS_USRS 的权限)和受信任的根证书颁发机构中安装了证书和私钥。 代码有点明显,但以防万一:

var push = PushBroker();
var appleCert = File.ReadAllBytes("C:\Users\Documents\Certificates\Push.p12");
push.RegisterAppleService(new PushSharp.Apple.ApplePushChannelSettings(false, appleCert, "pwd"));
PushSharp.Apple.AppleNotification notif = new PushSharp.Apple.AppleNotification()
    .ForDeviceToken("xxx")
    .WithAlert("Updated...")
    .WithBadge(1)
    .WithSound("default");
push.QueueNotification(notif);
//Wait for queue to finish
push.StopAllServices(true);

没有错误/异常等,只是 iPhone 设备在 WebApi 应用程序中启动时没有收到通知。

【问题讨论】:

    标签: ios asp.net-web-api apple-push-notifications pushsharp


    【解决方案1】:

    您是否检查了所有事件句柄是否有错误? PushBroker 实例上有很多它们,您可以在其中订阅以拦截错误(如果有的话)。

    订阅:OnServiceExceptionOnNotificationFailed

    检查 IIS|app|users|roles 是否拥有访问网络的所有权限。

    【讨论】:

    • 看起来 [stackoverflow.com/questions/23115394/… 包含答案。将 PushSharp 更新到 2.2.1 后问题解决了。
    • 好消息!几天后,我将发布一个 git repo,其中包含在服务器和客户端上的完整 PushSharp 演示实现,我将在此处发布,以便您稍后查看。
    【解决方案2】:

    当我遇到此错误时,这是​​一个证书问题。确保您使用正确的证书进行生产,因为 ApplePushChannelSettings 中的第一个参数为 false,否则消息将无法传递。还可以单步执行代码,看看是否有任何错误正在生成但没有被记录。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-07-24
      • 2013-02-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-05-16
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多