8.7 发布—WinterCG 兼容性 第 1 部分
了解更多

在 GitHub 上查看

@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 插件。
cli
npm install @nativescript/firebase-in-app-messaging
  1. 通过在应用的主文件中(例如 app.tsmain.ts)导入 @nativescript/firebase-in-app-messaging 模块来添加 SDK。
ts
import '@nativescript/firebase-in-app-messaging'

Firebase 应用内消息限制

根据 github 问题 https://github.com/firebase/firebase-ios-sdk/issues/4768,Firebase 应用内消息每天仅允许在应用前台或应用启动时进行 1 次活动。此限制是为了防止您意外地向用户发送过多不相关的消息。但是,如果您使用上下文触发器(例如 Analytics 事件或以编程方式触发的应用内消息活动),则没有每日速率限制。

创建消息活动

要创建消息活动,请转到 Firebase 控制台 中的“应用内消息”页面,并按照那里的说明操作。您可以创建活动并自定义元素,例如图像、横幅、模态和卡片,以显示在预定义事件(例如购买)上。

从 Firebase 控制台发布的任何活动都会自动处理并在用户的设备上显示。

控制消息显示

要控制是否显示消息,请将 InAppMessaging 实例的 isMessagesDisplaySuppressed 属性设置为 truefalseInAppMessaging 实例是通过在 FirebaseApp 实例上调用 inAppMessaging() 返回的。默认情况下,isMessagesDisplaySuppressed 设置为 false,这意味着将显示消息。

ts
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 控制台上配置的任何消息的显示。

ts
import { firebase } from '@nativescript/firebase-core'

firebase().inAppMessaging().triggerEvent('purchase')

API

InAppMessaging 类

app

ts
inAppMessagingApp = firebase().inAppMessaging().app

app 属性返回当前 InAppMessaging 实例关联的 FirebaseApp 实例。


isAutomaticDataCollectionEnabled

ts
firebase().inAppMessaging().isAutomaticDataCollectionEnabled = true

有关此属性的说明,请参阅 Firebase 文档上的 isAutomaticDataCollectionEnabled


isMessagesDisplaySuppressed

ts
firebase().inAppMessaging().isMessagesDisplaySuppressed = true
// or
firebase().inAppMessaging().isMessagesDisplaySuppressed = false

有关此属性的说明,请参阅 Firebase 文档上的 areMessagesSuppressed


triggerEvent()

ts
firebase().inAppMessaging().triggerEvent(eventId)
参数类型描述
eventId字符串要触发的事件的名称。

有关此方法的说明,请参阅 Firebase 文档上的 triggerEvent


许可证

Apache 许可证 2.0 版

上一页
函数
下一页
安装