이 오류가 발생했습니다. gcm 푸시 알림을 사용하는 동안받는 사람 키 'registrationTokens'의 거짓 값입니다.수신자 키 'registrationTokens'에 대한 위변조 값
당신이 내 코드를 찾을 수 아래 : 함수 gcmPush의
Device.find({ user: { $in: users }}, function (err, devices) {
if (err) {
logger.error('500 ' + err)
return res.status(500).json({
code: config.errorCode.status500.code,
message: config.errorCode.status500.message
})
}
var androidRegTokens = []
var iOSReqTokens = []
for (var i = 0; i < devices.length; i++) {
if (devices[i].platform == 'Android') {
androidRegTokens.push(devices[i].deviceToken)
} else {
iOSReqTokens.push(devices[i].deviceToken)
}
}
if (androidRegTokens.length > 0) {
gcmPush('Notification is sent.', androidRegTokens)
}
if (iOSReqTokens.length > 0) {
apnsPush('Notification is sent.', iOSReqTokens)
}
return res.json({ msg: 'Operation succeed.'})
})
바디 ('. 알림이 전송됩니다', androidRegTokens)이다
는this.sender.send(message, { registrationTokens: deviceTokens }, function (err, response) {
if (err) {
console.error(err)
}else {
console.log(response)
}
})
누구 잘못이 함께 알고 있나요 내 암호? 첫 번째 푸시 알림이 완벽하게 작동했습니다. 서비스를 호출 할 때마다이 오류가 발생했습니다.
편집 :
나는 루이스 페르난도이 고맙습니다을 해결했다. 그것은 일 수
function GcmPush (title, message, deviceTokens) {
this.sender = new gcm.Sender(config.gcmSender)
this.sendPushNotification(title, message, deviceTokens)
}
답변 해 주셔서 감사합니다. 비동기 제어 흐름 (비동기)으로 시도했지만 동일한 오류가 발생했습니다. 그런 다음 문제가 푸시 된 등록을 사용하는 곳에서 발생한다는 것을 알았습니다. 솔루션으로 내 질문을 업데이트했습니다. – andzaOs