我尝试在一个与Apple相关的项目中使用PushSharp。
我目前的问题是有关passkit的推动。
当我尝试创建我的通知时,它说
设备令牌长度无效(确切的异常消息:无效的DeviceToken长度。
var notif = new ApnsNotification(token, payload);当我注册一个新的passkit优惠券时,它的令牌长度是32。对我来说似乎没问题。
问题应该是什么?PushSharp完全支持passkit吗?据我所见,有些人使用它,但我找不到任何官方的信息。
请注意,我知道PushSharp,因为我使用它来发送正常的推送信息,它已经工作了多年,没有任何问题为我。我的问题是与passkit相关的推动。
非常感谢!
编辑
根据Baris Akar的建议修改代码之后,问题就解决了,但另一个问题出现了:
Apple Notification Failed: ID=1, Code=ConnectionError
2016-11-18 11:07:22。信息停止:等待任务2016-11-18 11:07:22.de。等待所有任务的信息2016-11-18 11:07:22.de。信息APNS 1:发送批处理ID=1,Count=1 2016-11-18 11:07:22.de。信息APNS 1:发送批处理,等待可能的响应..。苹果通知失败: ID=1,Code=ConnectionError 2016-11-18 11:07:22.de。所有任务完成2016-11-18 11:07:22.de。信息通过WhenAll 2016-11-18 11:07:22.de。信息经纪人IsCompleted 2016-11-18 11:07:22.de。调试代理任务结束2016-11-18 11:07:22.de。信息停止:完成等待任务2016-11-18 11:07:22.de。信息APNS 1:完成读取批处理ID=1,重新设置批处理计时器.
发布于 2016-11-17 16:31:01
在旧版中,它应该是这样工作的:
var n = new AppleNotification().WithPasskitUpdate();函数WithPasskitUpdate()不再可用,但这应该是等效的:
var notif = new ApnsNotification();
notif.DeviceToken = token;
notif.Payload = payload;没有测试它,但是在检查了代码之后,也许它可以工作。基本上,您是以这种方式绕过构造函数的(如果令牌对于passkit推送来说比较小的话,这可能是固定的)。
还要确保使用正确的证书(这似乎与常规推送通知的证书不同),并使用生产设置,因为存折似乎没有沙箱环境(请参阅这个答案)。
此外,您需要为false构造函数的validateIsApnsCertificate参数传递ApnsConfiguration,因为有一个检查证书,该证书不处理pushkit证书。
var config = new ApnsConfiguration(ApnsConfiguration.ApnsServerEnvironment.Production, certificateFile, certificateFilePwd, false);https://stackoverflow.com/questions/40595170
复制相似问题