Pushsharp Apns通知错误:“ InvalidToken”

时间:2019-01-03 12:46:53

标签: c# push-notification apple-push-notifications pushsharp

我目前正在为存折(钱包)票进行自动更新,并且在使用Redth的Pushsharp库时遇到了一些麻烦。

我正在使用来自Apple开发人员门户的推送通知证书。

我尝试将证书导出为.p12,.pem,并尝试仅使用私钥作为.12或.pem,但没有任何效果。这是我的完整证书(出于安全原因信息被清空): https://cdn.pbrd.co/images/HUJtb7b.png 我没有足够的声誉来发布图像,所以我只能提供一个链接。

            var succeeded = 0;
            var failed = 0;
            var attempted = 0;
            var config = new ApnsConfiguration(ApnsConfiguration.ApnsServerEnvironment.Sandbox, ConfigManager.CertPath + "PushCertificateV2.p12", ConfigManager.lvppass, false);

            var broker = new ApnsServiceBroker(config);
            broker.OnNotificationFailed += (notification, exception) =>
            {
                failed++;
            };
            broker.OnNotificationSucceeded += (notification) =>
            {
                succeeded++;
            };
            broker.Start();
            attempted++;
            broker.QueueNotification(new ApnsNotification
            {
                DeviceToken = pushtoken,
                Payload = JObject.Parse("{ \"aps\" : { \"alert\" : \"Test notification\" } }")
            });
            broker.Stop();

目的是向APNS发送推送通知并接收答案,遗憾的是,我仅收到错误:Apns通知错误:“ InvalidToken”。 如果这表示我从设备发送的Pushtoken不正确,那会很奇怪,因为我使用的是从iPhone接收到的Pushtoken,并进行了多次检查以确保。 我曾尝试在网络上搜索解决方案,但到目前为止仍未找到可行的解决方案,因此将不胜感激。

谢谢。

1 个答案:

答案 0 :(得分:0)

好吧,对于将来遇到同样问题的任何人,事实证明,我需要使用我用于签署通行证和更新通行证的相同证书。而且您不能使用沙盒APNS,因为所有存折令牌都是生产令牌。