首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >发送passkit时DeviceToken长度无效,PushSharp推送

发送passkit时DeviceToken长度无效,PushSharp推送
EN

Stack Overflow用户
提问于 2016-11-14 18:12:24
回答 1查看 822关注 0票数 12

我尝试在一个与Apple相关的项目中使用PushSharp。

我目前的问题是有关passkit的推动。

当我尝试创建我的通知时,它说

设备令牌长度无效(确切的异常消息:无效的DeviceToken长度。

代码语言:javascript
复制
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,重新设置批处理计时器.

EN

回答 1

Stack Overflow用户

发布于 2016-11-17 16:31:01

旧版中,它应该是这样工作的:

代码语言:javascript
复制
var n = new AppleNotification().WithPasskitUpdate();

函数WithPasskitUpdate()不再可用,但这应该是等效的:

代码语言:javascript
复制
var notif = new ApnsNotification();
notif.DeviceToken = token;
notif.Payload = payload;

没有测试它,但是在检查了代码之后,也许它可以工作。基本上,您是以这种方式绕过构造函数的(如果令牌对于passkit推送来说比较小的话,这可能是固定的)。

还要确保使用正确的证书(这似乎与常规推送通知的证书不同),并使用生产设置,因为存折似乎没有沙箱环境(请参阅这个答案)。

此外,您需要为false构造函数的validateIsApnsCertificate参数传递ApnsConfiguration,因为有一个检查证书,该证书不处理pushkit证书。

代码语言:javascript
复制
var config = new ApnsConfiguration(ApnsConfiguration.ApnsServerEnvironment.Production, certificateFile, certificateFilePwd, false);
票数 8
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40595170

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档