Skip to content

[bug] urgent_app 加急推送锁屏内容兜底为「请升级至最新版本客户端」,与非加急同卡片表现不一致 #188

@leviyuan

Description

@leviyuan

问题

PATCH /open-apis/im/v1/messages/:message_id/urgent_app 给一条 msg_type: interactive 的卡片加急后,接收方手机锁屏推送通知的 body 强制显示:

[⚡加急⚡]<sender>: 请升级至最新版本客户端,以查看内容

卡片的 config.summary.content

锁屏截图(bug 现场)

lockscreen-fallback

两条通知都来自同一个机器人,都是 Schema 2.0 卡片(msg_type: interactive),只是分别发往不同群。锁屏 body 一致兜底成「请升级至最新版本客户端,以查看内容」。

关键对比 —— 同一张卡片、同一台手机、加急 vs 不加急

场景 锁屏 body
加急 (urgent_app) 请升级至最新版本客户端,以查看内容
不加急(常规推送) <config.summary.content 真值>

→ 问题不在客户端版本,而是 server 侧 urgent_app 推送 body 的生成逻辑跟普通推送不同。

复现

// 1. 发 Schema 2.0 卡片
const card = {
  schema: '2.0',
  config: {
    update_multi: true,
    summary: { content: '这条 summary 锁屏应该显示' }
  },
  header: { title: { tag: 'plain_text', content: '即使带 header.title 也无效' }, template: 'blue' },
  body: { elements: [{ tag: 'markdown', content: 'body' }] },
}
// POST /open-apis/im/v1/messages?receive_id_type=chat_id
//   { receive_id, msg_type: 'interactive', content: JSON.stringify(card) }

// 2. 对返回的 message_id 加急
// PATCH /open-apis/im/v1/messages/{message_id}/urgent_app?user_id_type=open_id
//   { user_id_list: [open_id] }

亲测下面三种变体锁屏 body 均兜底为「请升级至最新版本客户端」:

  • 有 / 无 header.title
  • 有 / 无 streaming_mode: true
  • 不同 summary 内容

预期

锁屏 body 应等于 config.summary.content(与非加急一致)。

环境

  • 接收端飞书 V7.68.10-715532895(Android,中国电信)—— 截图证明:

    about-version

  • 调用端 @larksuiteoapi/node-sdk(本 bug 不在 SDK 层,SDK 只透传)

文档差距

《流式更新 OpenAPI 概述》 只提到:

当使用 JSON 2.0 结构的卡片发送至低于 7.20 版本的客户端时,…内容将展示兜底的升级提示文案

7.68.10 一样触发、且只在 urgent_app 路径触发 —— 文档没披露这种场景。

期望处理

任一即可:

  1. urgent_app 服务端按非加急路径,用 config.summary.content 生成锁屏 body
  2. 文档补充说明 "urgent_app + 卡片 → 锁屏强制兜底",并给出官方推荐的卡片加急模式

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions