- 版本: 3.3.2
- GitHub: https://github.com/NativeScript/firebase
- NPM: https://npmjs.net.cn/package/%40nativescript%2Ffirebase-in-app-messaging
- 下载
- 昨日: 18
- 上周: 155
- 上个月: 943
@nativescript/firebase-in-app-messaging
内容
简介
此插件允许您在 NativeScript 应用中使用 Firebase 应用内消息 SDK。
为您的应用配置 Firebase
在使用 Firebase 应用内消息之前,您需要为您的应用配置 Firebase。要为您的 NativeScript 应用设置和初始化 Firebase,请遵循@nativescript/firebase-core 插件的文档中的说明。
将 Firebase 应用内消息 SDK 添加到您的应用
要将 Firebase 应用内消息 SDK 添加到您的应用,请按照以下步骤操作
- 通过在项目的根目录中运行以下命令安装
@nativescript/firebase-in-app-messaging
插件。
npm install @nativescript/firebase-in-app-messaging
- 通过在您的应用的主文件中(例如
app.ts
或main.ts
)导入@nativescript/firebase-in-app-messaging
模块来添加 SDK。
import '@nativescript/firebase-in-app-messaging';
Firebase 应用内消息限制
根据 github issue https://github.com/firebase/firebase-ios-sdk/issues/4768,Firebase 应用内消息仅允许每天在应用前台或应用启动时进行一次活动。此限制是为了防止您无意中用非上下文相关消息压倒您的用户。但是,如果您使用上下文触发器(例如 Analytics 事件或程序性触发的应用内消息活动),则没有每日配额限制。
创建消息活动
要创建消息活动,请转到 Firebase 控制台 中的 应用内消息
页面,并遵循那里的说明。您可以在预定义事件(例如购买)上创建活动和自定义元素(例如图像、横幅、模态和卡片)。
从 Firebase 控制台发布的任何活动都会自动处理并在用户的设备上显示。
控制消息显示
要控制是否显示消息,请将 InAppMessaging
实例的 isMessagesDisplaySuppressed
属性设置为 true
或 false
。通过在 FirebaseApp 实例上调用 inAppMessaging()
返回 InAppMessaging
实例。默认情况下,isMessagesDisplaySuppressed
设置为 false
,这意味着消息将被显示。
import { firebase } from '@nativescript/firebase-core';
import '@nativescript/firebase-in-app-messaging';
async function bootstrap() {
firebase().inAppMessaging().isMessagesDisplaySuppressed = true;
}
async function onSetup(user) {
await setupUser(user);
// Allow user to receive messages now setup is complete
firebase().inAppMessaging().isMessagesDisplaySuppressed = false;
}
注意:抑制状态在重启之间不会持久化,因此请确保尽早调用它,理想情况下在应用启动文件(
app.ts
或main.ts
)中。
触发上下文消息
要触发上下文消息,请使用事件名称作为参数调用 InAppMessaging
实例的 triggerEvent()
方法。这将触发在 Firebase 控制台上配置的任何消息的显示。
import { firebase } from '@nativescript/firebase-core';
firebase().inAppMessaging().triggerEvent('purchase');
API
InAppMessaging 类
app
inAppMessagingApp = firebase().inAppMessaging().app;
app
属性返回与当前 InAppMessaging
实例关联的 FirebaseApp
实例。
isAutomaticDataCollectionEnabled
firebase().inAppMessaging().isAutomaticDataCollectionEnabled = true;
有关此属性的说明,请参阅 Firebase 文档中的 isAutomaticDataCollectionEnabled。
isMessagesDisplaySuppressed
firebase().inAppMessaging().isMessagesDisplaySuppressed = true;
// or
firebase().inAppMessaging().isMessagesDisplaySuppressed = false;
关于此属性的描述,请参阅Firebase文档中的areMessagesSuppressed。
triggerEvent()
firebase().inAppMessaging().triggerEvent(eventId);
参数 | 类型 | 描述 |
---|---|---|
eventId |
字符串 |
触发事件的名称。 |
关于此方法的描述,请参阅Firebase文档中的triggerEvent。
许可证
Apache License Version 2.0