[英]Integrate firebase notificaiton in nest js
我正在嘗試使用我在顫振中使用的 nest js 創建 fcm API。 我是 Nest js 的新手,我已經使用this實現了代碼。 我的代碼沒有錯誤,但我的手機上沒有收到通知下面是我在其中實現了推送通知的服務文件
async sendMessageToUser(registrationToken) {
var message = {
android: {
ttl: 3600 * 1000, // 1 hour in milliseconds
data: {
title: "hiii",
body: "hello",
}
},
apns: {
headers: {
'apns-priority': '10'
},
payload: {
"aps": {
"alert": {
"body": "hii",
"title": "hello"
},
"sound": "dafault",
}
}
},
token: registrationToken
};
// Send a message to the device corresponding to the provided
// registration token with the provided options.
try{
Logger.log("FIrst try catch");
await admin.messaging().send(message);
try {
Logger.log("second try catch");
} catch (error) {
Logger.error(error);
}
}catch (error) {
Logger.error(error);
}
}
main.ts 文件
import { NestFactory } from '@nestjs/core';
import { AppModule } from './app.module';
import { ValidationPipe } from '@nestjs/common';
import admin, { ServiceAccount } from 'firebase-admin';
async function bootstrap() {
const app = await NestFactory.create(AppModule);
app.useGlobalPipes(new ValidationPipe());
// Set the config options
const adminConfig: ServiceAccount = {
"projectId":"my firebase projetId",
"privateKey": "private key".replace(/\\n/g, '\n'),
"clientEmail": "firebase client email",
};
// Initialize the firebase admin app
admin.initializeApp({
credential: admin.credential.cert(adminConfig),
databaseURL: "db url",
});
app.enableCors();
await app.listen(3000);
}
bootstrap();
誰能告訴我我的代碼有什么問題,為什么我沒有在手機上收到通知?
創建一個模塊來初始化 Firebase 應用 firebase.module.ts
import {ApiConfigService} from '@config/config.service'
import {Module} from '@nestjs/common'
import * as admin from 'firebase-admin'
@Module({})
export class FirebaseModule {
constructor(configService: ApiConfigService) {
admin.initializeApp({
credential: admin.credential.cert(adminConfig),
databaseURL: "db URL",
})
}
}
然后以這種方式使用它 app.module.ts
@Module({
imports: [
FirebaseModule,
...
],
})
export class AppModule {}
之后,您可以像在代碼中一樣在任何您想要的服務中使用它作為 admin.messaging().sendtodevice
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.