我使用Azure Notification Hub作为我的服务,向移动设备发送推送通知。
我开发了一个简单的节点服务器来注册和发送推送通知。
我已经完成了推送通知,移动客户端现在可以从我的服务器接收推送,但专门针对SANDBOX和PRODUCTION。
我的服务器是否可以在一个请求中同时在SANDBOX和PRODUCTION(一起)中发送推送通知?
这是我在SANDBOX / PRODUCTION
中发送推送通知的代码var payLoad = {
aps: {
alert: data
}
};
azure.apns.send(tag, payLoad, function (err, reps){
if(!err){
cb({error: false});
}else{
cb({error: true, error_log: err});
}
})
答案 0 :(得分:2)
没有理由这样做。这是两个故意分离和隔离的环境。
这里的an older blog post概述了关于这两者的基本事实:
一般经验法则:
请记住,沙箱(开发)环境完全是 与生产环境分开。让我再说一遍:记住 沙盒(开发)环境完全独立于 生产环境。混合设备令牌和认证 环境将导致很多东西(即非 响应)。服务器需要来自配置的推送证书 门户。客户通过推送服务注册自己 与Apple服务器通信。这两个环境都有项目 他们需要特定的。更具体地说:
服务器需要单独的开发人员证书和生产 证书。注册时,客户端会获得不同的设备令牌 他们自己在开发构建与从下载的应用程序 应用商店。因此,存在以下规则(除非您执行某些操作 hackery我目前还没有意识到):
您的客户的开发版本(即,您的客户端上的任何构建版本) 来自开发环境的设备,包括Ad Hoc)将获得 注册APNS时的开发设备令牌。意思是 您无法在开发版本的基础上测试生产服务器设置 你的客户。试图这样做会导致混乱和浪费时间。 生产构建(即,实际从App下载的应用程序 Store)将获得生产设备令牌。这些必须进行测试 生产APNS服务器设置。