ita
(Ita Gil)
1
Hi there,
I have a SwiftUI app with Realm. I set up Firebase Messaging on the client code.
I’m trying to send a push notification to an iOS client from an Atlas Function.
I added ‘firebase-admin’ dependency.
Here’s the function:
async function sendPushNotification(token, title, body) {
const admin = require('firebase-admin');
const credentials = {
projectId: '<project id>',
clientEmail: '<client email>',
privateKey: '<private key>',
};
admin.initializeApp({
credential: admin.credential.cert(credentials)
});
const message = {
notification:{
body: body,
title: title
},
token: token
};
try {
await admin.messaging().send(message);
console.log('Notification sent successfully');
} catch (error) {
console.error('Error sending notification:', error);
}
}
I get the error: Error sending notification: FunctionError: TypeError: Value is not an object: undefined
Any ideas why this is happening?
I printed admin, admin.messaging(), and admin.messaging.send - they’re all fine (not undefined).
I also printed message, message.notification, message.token - also fine (not undefined).
And I tried to change the message’s notification object name to “data” - didn’t help.
Provide full error log which shows line numbers etc.
ita
(Ita Gil)
3
The only log printed (via Atlas Logs) is
Error:
Error sending notification: FunctionError: TypeError: Value is not an object: undefined
I’m using Atlas Function Editor, and I can tell based on debugging that the line where it fails is
await admin.messaging().send(message);
Hello, were you able to solve this i am running into this issue as well
hi, i have the same error:
> error logs:
Error sending notification: FunctionError: TypeError: Value is not an object: undefined
how did you solve this?
hi i found this workaround, download firebase-admin version 10.0.0
npm install firebase-admin@^10.0.0
Hey All, we had the same issue for sendMultiCast. Apparently Firebase deprecated in mid september the legacy support and is forcing the usage of new api which doesn’t support /batch that was used.
Installing the latest versions (12.4) does not work on the realm environment due to lack of full support for promises and the new jsonwebtokens npm package.
I created a customer version that works for the sendMultiCast (which can support sending ofc to a single token by providing an array with a single target token)