@nativescript/firebase-in-app-messaging
NativeScript Firebase - 应用内消息
npm i --save @nativescript/firebase-in-app-messaging

@nativescript/firebase-in-app-messaging

内容

简介

此插件允许您在 NativeScript 应用中使用 Firebase 应用内消息 SDK。

image

为您的应用配置 Firebase

在使用 Firebase 应用内消息之前,您需要为您的应用配置 Firebase。要为您的 NativeScript 应用设置和初始化 Firebase,请遵循@nativescript/firebase-core 插件的文档中的说明。

将 Firebase 应用内消息 SDK 添加到您的应用

要将 Firebase 应用内消息 SDK 添加到您的应用,请按照以下步骤操作

  1. 通过在项目的根目录中运行以下命令安装 @nativescript/firebase-in-app-messaging 插件。
npm install @nativescript/firebase-in-app-messaging
  1. 通过在您的应用的主文件中(例如 app.tsmain.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 属性设置为 truefalse。通过在 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.tsmain.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