You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过编程方式发送Firebase应用内消息?相关技术疑问咨询

问题1:推送通知关闭/未授权时,Firebase应用内消息能否正常运行?

Firebase应用内消息(In-App Messaging)完全不依赖推送通知权限。它的触发逻辑基于App内的用户行为、属性或应用前后台状态,直接在App内部展示消息,不走APNs(iOS)或FCM推送通道。所以哪怕用户关闭了推送通知,或者App从未请求过推送权限,只要用户打开App且满足你设置的触发条件,应用内消息就能正常显示。

问题2:能否通过后端API或AWS SNS发送Firebase应用内消息?

通过Firebase Admin API发送

完全可以,不需要依赖控制台操作。你可以在后端服务中集成Firebase Admin SDK,调用对应API定向发送应用内消息,支持按用户ID、用户属性或自定义条件触发。以下是Node.js环境的示例代码:

const admin = require('firebase-admin');
admin.initializeApp();

// 构建应用内消息内容
const message = {
  token: '目标用户的FCM令牌', // 也可替换为topic、condition实现批量发送
  inAppNotification: {
    title: '后端触发的消息',
    body: '这是通过Admin API发送的Firebase应用内消息',
    action: {
      actionUrl: 'app://your-deep-link'
    }
  }
};

// 执行发送
admin.messaging().send(message)
  .then((response) => {
    console.log('应用内消息发送成功:', response);
  })
  .catch((error) => {
    console.log('发送失败:', error);
  });

注意:inAppNotification字段需匹配你预设的消息模板,或直接构建完整的消息展示内容。

通过AWS SNS发送

AWS SNS本身不原生支持Firebase应用内消息的直接触发,但可以通过两种间接方式实现:

  • SNS触发Lambda调用Firebase API:将SNS作为消息触发源,当SNS收到发送请求时,触发AWS Lambda函数,在Lambda中集成Firebase Admin SDK,调用API发送应用内消息。
  • SNS推送消息到FCM,App端转应用内展示:这种方式需要App端配合,当收到SNS通过FCM推送的特定标识消息时,不展示系统通知,而是在App内部弹出自定义的应用内消息。但该方式本质依赖FCM推送通道,需要用户授权推送权限,和原生Firebase应用内消息的运行逻辑不同。

内容的提问来源于stack exchange,提问作者walruz

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.15 20:12:03