首页 > 解决方案 > Web浏览器上的离子角度测试PushNotifications

问题描述

我正在构建将用于移动和网络的应用程序。我想使用 firebase 推送消息发送用户消息,因为我正在使用 PushNotifications 库。

从'@capacitor/core'导入{插件,PushNotification,PushNotificationToken,PushNotificationActionPerformed,};

它在移动设备上运行良好,但在网络浏览器上它给出 ERROR: Uncaught (in promise): PushNotifications does not have web implementation。

我确实理解该消息的含义,但我找不到 PushNotifications 是否有 Web 实现,或者我应该使用另一个库吗?

标签: angularfirebaseionic-framework

解决方案


通知

在 Web 上推送通知最接近的功能是 Progressive Web Apps / service workers 提供的通知。如果您已经看到那些“此网站想要向您发送通知”批准/阻止通知,那么您已经在网络上体验过通知。

这是关于如何启用它们的两个很棒的深入教程:

Angular 还提供了一个很棒的 service worker 库,这里概述了它的启用。

请记住,浏览器对通知的支持是有限的,即并非所有浏览器都支持这一点。最值得注意的是,Safari 没有(截至本文发表时)。

错误

至于错误,您可以这样处理,以确保它不会在浏览器中抛出:

import { Capacitor } from '@capacitor/core';

const isPushNotificationsAvailable = Capacitor.isPluginAvailable('PushNotifications');

if (isPushNotificationsAvailable) {
   this.initPushNotifications();
}

推荐阅读