Skip to content

[Messaging] Unable to get messaging to validate APNS payload with apns-push-type header field #2362

Open
@devandanger

Description

[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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions