Tom*_*Tom 12 c# apple-push-notifications pushsharp passkit
我尝试在Apple passkit相关项目中使用PushSharp.
我目前的问题是关于passkit推送.
当我尝试创建我的通知时,它说
device tokent length无效(确切的异常消息:无效的DeviceToken长度.
var notif = new ApnsNotification(token, payload);
Run Code Online (Sandbox Code Playgroud)
当我注册一个新的passkit优惠券时,它的令牌长度是32.对我来说似乎没问题.
应该是什么问题?PushSharp是否支持passkit?正如我所见,有些人使用它,但我找不到任何关于它的官方信息.
请注意,我知道PushSharp使用它发送普通推送消息,它已经工作多年没有任何问题.我的问题是与passkit相关的推动.
非常感谢!
编辑
在Baris Akar的建议改变代码之后,问题得到解决,但另一个问题出现了:
Apple Notification Failed: ID=1, Code=ConnectionError
2016-11-18 11:07:22.de.[INFO]停止:等待任务2016-11-18 11:07:22.de.[INFO]等待所有任务1 2016-11-18 11:07:22.de.[INFO] APNS-Client [1]:发送批次ID = 1,Count = 1 2016-11-18 11:07:22.de.[INFO] APNS-Client [1]:已发送批处理,等待可能的响应... Apple Notification Failed:ID = 1,Code = ConnectionError 2016-11-18 11:07:22.de.[INFO]所有任务完成2016-11-18 11:07:22.de.[INFO]通过时所有2016-11-18 11:07:22.de.[INFO] Broker IsCompleted 2016-11-18 11:07:22.de.[DEBUG]经纪人任务结束2016-11-18 11:07:22.de.[INFO]停止:完成等待任务2016-11-18 11:07:22.de.[INFO] APNS-Client [1]:批量读取= 1,重置批量计时器...
看起来像旧版本,它会像这样工作:
var n = new AppleNotification().WithPasskitUpdate();
Run Code Online (Sandbox Code Playgroud)
该功能WithPasskitUpdate()不再可用,但这应该是等效的:
var notif = new ApnsNotification();
notif.DeviceToken = token;
notif.Payload = payload;
Run Code Online (Sandbox Code Playgroud)
没有测试它,但在检查代码后,也许它可以工作.基本上你是以这种方式绕过构造函数中的令牌长度检查ApnsNotification(如果令牌对于passkit推送而言较小,则应该可能已修复).
还要确保使用正确的证书(这似乎与常规推送通知的证书不同)并使用生产设置,因为似乎没有存折的沙箱环境(请参阅此答案).
此外,您需要传递构造函数false的validateIsApnsCertificate参数ApnsConfiguration,因为检查了不处理pushkit证书的证书.
var config = new ApnsConfiguration(ApnsConfiguration.ApnsServerEnvironment.Production, certificateFile, certificateFilePwd, false);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
591 次 |
| 最近记录: |