When Push Notification from Nodejs Express server by firebase -admin.
Your Error::
(node:internal/process/task_queues:95:5) {
errorInfo: {
code: 'messaging/third-party-auth-error',
message: 'Auth error from APNS or Web Push Service'
},
codePrefix: 'messaging'
}
Old Code::
import * as admin from 'firebase-admin';
// import path from 'path';
import ApiError from '../../../errors/ApiError';
import httpStatus from 'http-status';
import config from '../../../config';
admin.initializeApp({
credential: admin.credential.cert(
// path.join(
// __dirname,
// './jornee-66109-firebase-adminsdk-tf0wd-f34c47323d.json',
// ),
firebaseConfig as any,
),
});
type NotificationPayload = {
title: string;
body: string;
data?: { [key: string]: string };
};
export const sendNotification = async (
fcmToken: string,
payload: NotificationPayload,
): Promise<any> => {
// console.log(fcmToken, 'fcmTokenfcmToken');
// console.log(payload, 'payload');
try {
const response = await admin.messaging().send({
token: fcmToken,
notification: {
title: payload.title,
body: payload.body,
},
// data: payload?.data,
});
// console.log('Successfully sent message:', response);
return response;
} catch (error: any) {
console.error('Error sending message:', error);
if (error?.code === 'messaging/third-party-auth-error') {
// console.error('Skipping iOS token due to auth error:', error);
return null;
} else {
console.error('Error sending message:', error);
throw new ApiError(
httpStatus.NOT_IMPLEMENTED,
'Failed to send notification',
);
}
}
};
Solve-1 :
Update your code for multiple users fcmToken.
**
Get a better response without error::
Solve-2 :
- check your Firebase app settings and create Android and iOS apps.
- enable cloud messaging
- to provide correct fcmToken
- generate fcmToken from the production iOs app.
Top comments (0)