#android #angular #ionic-framework #capacitor
#Android #угловой #ионный каркас #конденсатор
Вопрос:
Мне нужно реализовать push-уведомление для приложения. Я создал службу FCM следующим образом, поскольку я также получаю сообщения, отправляя их с сервера приложений. Но никаких предупреждений об уведомлениях не отображается. Я могу проверять сообщения только тогда, когда открываю папку «Входящие» для проверки. можете сказать, что не так?
fcm.service.ts
import { Plugins, PushNotification, PushNotificationToken, PushNotificationActionPerformed, Capacitor, } from "@capacitor/core"; import { Router } from "@angular/router"; const { PushNotifications } = Plugins; @Injectable({ providedIn: "root", }) export class FcmService { constructor(private router: Router) {} initPush() { if (Capacitor.platform !== "web") { this.registerPush(); } } private registerPush() { PushNotifications.requestPermission().then((permission) =gt; { if (permission.granted) { // Register with Apple / Google to receive push via APNS/FCM PushNotifications.register(); } else { // No permission for push granted } }); PushNotifications.addListener( "registration", (token: PushNotificationToken) =gt; { console.log("My token: " JSON.stringify(token)); } ); PushNotifications.addListener("registrationError", (error: any) =gt; { console.log("Error: " JSON.stringify(error)); }); PushNotifications.addListener( "pushNotificationReceived", async (notification: PushNotification) =gt; { console.log("Push received: " JSON.stringify(notification)); } ); PushNotifications.addListener( "pushNotificationActionPerformed", async (notification: PushNotificationActionPerformed) =gt; { const data = notification.notification.data; console.log( "Action performed: " JSON.stringify(notification.notification) ); } ); } }
app.component.ts
initializeApp() { this.platform.ready().then(() =gt; { // Trigger the push setup this.fcmService.initPush(); } }
Комментарии:
1. Регистрируется ли устройство? Вы возвращаете токен FCM? Действительно ли » console.log(«Мой токен:» JSON.stringify(токен));» зарегистрирован??