我们正在内部实施 MDM 解决方案。我们已注册为 MDM 供应商,并按照该站点的步骤操作并获得了最终的 APNS 证书。我们还在设备中安装了一个 MDM 配置文件,该配置文件指向我们的后端服务器,该服务器能够接收/发送有效负载到设备。
然后我们使用java-apns库来发送一个示例通知。下面是相同的示例代码。
ApnsService service =
APNS.newService()
.withCert("test.p12", "xxxxxxx")
.withProductionDestination()
.build();
String pushMagic = "xxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx";
String mdmPayload = APNS.newPayload().mdm(pushMagic).build();
service.push(pushMagic, mdmPayload);
以上执行成功。但设备没有收到任何通知。有人可以对此有所了解吗?提前致谢。
更新: 在我们的实施中发现了几个问题。push API 接受设备令牌和有效负载。我们在推送 API 中错误地使用了 pushmagic 作为令牌。此外,设备在初始签入期间以 base64 格式发送设备令牌。因此需要将其转换为 hexa 格式并在 push API 中使用。
有了这两个变化,我们就领先了一步。现在反馈服务正在返回一条消息,说明相应的设备处于非活动状态。我们尝试重新安装配置文件并使用最新的推送魔法和设备令牌。仍然反馈服务返回相同的消息。