跳过内容

开始使用

GitHub

安装

安装

您可以使用我们的AI辅助设置来安装插件。使用以下命令将Capgo技能添加到您的AI工具中:

终端窗口
npx skills add https://github.com/Cap-go/capgo-skills --skill capacitor-plugins

然后使用以下提示:

Use the `capacitor-plugins` skill from `Cap-go/capgo-skills` to install the `@capgo/capacitor-firebase-messaging` plugin in my project.

如果您更喜欢手动设置,请运行以下命令并按照以下平台特定的说明进行操作:

终端窗口
bun add @capgo/capacitor-firebase-messaging
bunx cap sync
import { FirebaseMessaging } from '@capgo/capacitor-firebase-messaging';

API概述

API 简介

checkPermissions

检查权限

检查接收推送通知的权限。

On Android在 Android 13+ 上调用此方法时,只需调用此方法。

import { FirebaseMessaging } from '@capgo/capacitor-firebase-messaging';
const result = await FirebaseMessaging.checkPermissions();
console.log(result);

requestPermissions

requestPermissions

请求接收推送通知的权限。

On Android在 Android 13+ 上调用此方法时,只需调用此方法。

import { FirebaseMessaging } from '@capgo/capacitor-firebase-messaging';
const result = await FirebaseMessaging.requestPermissions();
console.log(result);

检查所有所需API是否存在。

始终返回 true 在Android和iOS上。

import { FirebaseMessaging } from '@capgo/capacitor-firebase-messaging';
const result = await FirebaseMessaging.isSupported();
console.log(result);

注册应用程序以接收推送通知。 返回一个FCM令牌,可以用来向该Messaging实例发送推送消息。

此方法还重新启用了FCM自动初始化。

import { FirebaseMessaging } from '@capgo/capacitor-firebase-messaging';
const result = await FirebaseMessaging.getToken();
// The result holds sensitive values: use it without logging it.

删除FCM令牌并注销应用程序以停止接收推送通知。 例如,可以在用户注销时调用此方法。

import { FirebaseMessaging } from '@capgo/capacitor-firebase-messaging';
await FirebaseMessaging.deleteToken();

getDeliveredNotifications

标题:获取已交付通知

获取可见于通知屏幕上的通知列表。

注意:此操作将返回所有已交付的通知,包括本地通知和FCM通知,但不仅限于FCM通知。

在Android上,FCM通知的data字段将不会被包含。

import { FirebaseMessaging } from '@capgo/capacitor-firebase-messaging';
const result = await FirebaseMessaging.getDeliveredNotifications();
console.log(result);

removeDeliveredNotifications

标题:移除已交付通知

移除通知屏幕上的特定通知。

import { FirebaseMessaging } from '@capgo/capacitor-firebase-messaging';
await FirebaseMessaging.removeDeliveredNotifications({ notifications: [] });

removeAllDeliveredNotifications

标题:移除所有已交付通知

移除所有通知屏幕上的通知。

注意:此操作将移除所有已交付的通知,包括本地通知和FCM通知,但不仅限于FCM通知。

import { FirebaseMessaging } from '@capgo/capacitor-firebase-messaging';
await FirebaseMessaging.removeAllDeliveredNotifications();

subscribeToTopic

订阅主题

在后台订阅主题。

仅适用于 Android 和 iOS。

import { FirebaseMessaging } from '@capgo/capacitor-firebase-messaging';
await FirebaseMessaging.subscribeToTopic({ topic: 'topic' });

unsubscribeFromTopic

取消订阅主题

在后台取消订阅主题。

仅适用于 Android 和 iOS。

import { FirebaseMessaging } from '@capgo/capacitor-firebase-messaging';
await FirebaseMessaging.unsubscribeFromTopic({ topic: 'topic' });

createChannel

创建通知频道

仅适用于 Android (26+).

SDK

import { FirebaseMessaging } from '@capgo/capacitor-firebase-messaging';
await FirebaseMessaging.createChannel({
id: 'id-123',
name: 'example',
});

deleteChannel

删除频道

删除通知频道。

仅适用于 Android (SDK 26+)。

import { FirebaseMessaging } from '@capgo/capacitor-firebase-messaging';
await FirebaseMessaging.deleteChannel({ id: 'id-123' });

listChannels

通知频道列表

列出可用的通知频道。

仅适用于 Android (SDK 26+)。

import { FirebaseMessaging } from '@capgo/capacitor-firebase-messaging';
const result = await FirebaseMessaging.listChannels();
console.log(result);

类型参考

类型参考

PermissionStatus

权限状态
export interface PermissionStatus {
/**
* @since 0.2.2
*/
receive: PermissionState;
}
export interface IsSupportedResult {
/**
* @since 0.3.1
*/
isSupported: boolean;
}
export interface GetTokenOptions {
/**
* Your VAPID public key, which is required to retrieve the current registration token on the web.
*
* Only available for Web.
*/
vapidKey?: string;
/**
* The service worker registration for receiving push messaging.
* If the registration is not provided explicitly, you need to have a `firebase-messaging-sw.js` at your root location.
*
* Only available for Web.
*/
serviceWorkerRegistration?: ServiceWorkerRegistration;
}
export interface GetTokenResult {
/**
* @since 0.2.2
*/
token: string;
}

GetDeliveredNotificationsResult

标题:GetDeliveredNotificationsResult
export interface GetDeliveredNotificationsResult {
/**
* @since 0.2.2
*/
notifications: Notification[];
}

RemoveDeliveredNotificationsOptions

标题:RemoveDeliveredNotificationsOptions
export interface RemoveDeliveredNotificationsOptions {
/**
* @since 0.4.0
*/
notifications: Notification[];
}

SubscribeToTopicOptions

标题:SubscribeToTopicOptions
export interface SubscribeToTopicOptions {
/**
* The name of the topic to subscribe.
*
* @since 0.2.2
*/
topic: string;
}

UnsubscribeFromTopicOptions

标题:取消订阅主题选项
export interface UnsubscribeFromTopicOptions {
/**
* The name of the topic to unsubscribe from.
*
* @since 0.2.2
*/
topic: string;
}

CreateChannelOptions

标题:创建频道选项
export type CreateChannelOptions = Channel;

DeleteChannelOptions

标题:删除频道选项
export interface DeleteChannelOptions {
/**
* The channel identifier.
*
* @since 1.4.0
*/
id: string;
}

ListChannelsResult

标题:列出频道结果
export interface ListChannelsResult {
channels: Channel[];
}

接收令牌事件的回调函数

export type TokenReceivedListener = (event: TokenReceivedEvent) => void;

本页面是根据插件的 src/definitions.ts当公共 API 在上游发生变化时,请重新运行同步。

如果您正在使用 开始使用 来规划仪表板和 API 操作,请将其与 API 简介 连接以获取在 API Overview 中的实现细节 介绍 为《介绍》中实现细节的说明 API 键 为《API Keys》中实现细节的说明 设备 context Bundles 为《设备》中实现细节的说明,