[Messaging] Unable to get messaging to validate APNS payload with apns-push-type header field #2362
Open
Description
opened on Nov 8, 2023
[READ] Step 1: Are you in the right place?
Cloud Firestore support is provided by the @google-cloud/firestore
library. Therefore the easiest and most efficient way to get Firestore issues resolved is by directly reporting them at the nodejs-firestore GitHub repo.
If you still think the problem is related to the code in this repository, then read on.
- For issues or feature requests related to the code in this repository
file a Github issue. - For general technical questions, post a question on StackOverflow
with the firebase tag. - For general Firebase discussion, use the firebase-talk
google group. - For help troubleshooting your application that does not fall under one
of the above categories, reach out to the personalized
Firebase support channel.
[REQUIRED] Step 2: Describe your environment
- Operating System version: iOS
- Firebase SDK version: 11.11.0
- Firebase Product: Messaging
- Node.js version: 16.13.1
- NPM version: 8.10.1
[REQUIRED] Step 3: Describe the problem
I'm attempting to set more particular fields into the messaging send() function, however I continue to get failures as messaging().send() validates the JSON.
Steps to reproduce:
What happened? How can we make the problem occur?
Any time I add apns-push-type
I seem to get these failures
This will print Firestore logs to the console.
> {"severity":"ERROR","message":"Unhandled error FirebaseMessagingError: Invalid [apns-push-type] set for apns platform\n at Function.fromServerError (/Users/evananger/Developer/blazebite-functions/functions/node_modules/firebase-admin/lib/utils/error.js:254:16)\n at createFirebaseError (/Users/evananger/Developer/blazebite-functions/functions/node_modules/firebase-admin/lib/messaging/messaging-errors-internal.js:35:47)\n at /Users/evananger/Developer/blazebite-functions/functions/node_modules/firebase-admin/lib/messaging/messaging-api-request-internal.js:79:75\n at processTicksAndRejections (node:internal/process/task_queues:96:5)\n at async /Users/evananger/Developer/blazebite-functions/functions/node_modules/firebase-functions/lib/common/providers/https.js:458:26\n at async runFunction (/Users/evananger/.nvm/versions/node/v16.13.1/lib/node_modules/firebase-tools/lib/emulator/functionsEmulatorRuntime.js:506:9)\n at async runHTTPS (/Users/evananger/.nvm/versions/node/v16.13.1/lib/node_modules/firebase-tools/lib/emulator/functionsEmulatorRuntime.js:531:5)\n at async /Users/evananger/.nvm/versions/node/v16.13.1/lib/node_modules/firebase-tools/lib/emulator/functionsEmulatorRuntime.js:694:21 {\n errorInfo: {\n code: 'messaging/invalid-argument',\n message: 'Invalid [apns-push-type] set for apns platform'\n },\n codePrefix: 'messaging'\n}"}
Relevant Code:
function sendOrderReady(token) {
const date = new Date();
return admin.messaging().send({
token,
apns: {
headers: {
'apns-push-type': 'liveactivity',
'apns-priority': '10'
},
payload: {
aps: {
timestamp: date.getTime(),
event: 'update',
'content-state': {
orderCompleteDate: date.toISOString(),
orderReady: true
}
}
}
}
})
}
Activity