Microsoft Teams自适应卡片iOS推送summary空白及应用名异常问题咨询
问题:Microsoft Teams iOS端自适应卡片推送通知Summary显示异常
我们有一个运行在Node服务器上的Microsoft Teams项目,使用botbuilder v4.14.0开发,通过私信向Teams用户发送自适应卡片,并为每张卡片设置Summary文本,用于用户收到的推送通知展示。
参考相关建议设置消息Summary字段的代码如下:
var response = MessageFactory.Text(string.Empty); response.Attachments.Add(cardAttachment); response.Summary = "Hello custom notification"; await turnContext.SendActivityAsync(response, cancellationToken);
异常现象
- Summary有时能在iOS推送通知中正常显示,有时完全空白
- Summary正常显示时,推送通知的应用名称取自Azure应用服务元数据;Summary缺失时,应用名称来自Teams应用清单文件
- 两种场景下的自适应卡片payload均正常,且通过完全相同的代码发送,未发现卡片内容有实质性差异
关键发现
修改payload大小可让原本无法显示Summary的卡片恢复正常:当为卡片添加额外文本直至字节数超过某个阈值时,Summary就能在iOS推送通知中正常显示。示例如下:
- 某张卡片在1888字节时能显示Summary,1887字节时无法显示
- 另一张结构不同的卡片在1781字节时可显示Summary,1780字节时无法显示
疑问
- 为何Summary需要payload达到特定大小才会在iOS通知中显示?
- 为何不同结构的payload对应的阈值不一致?
- 为何应用名称的来源会随Summary显示状态变化?
需求
如何发送自适应卡片,才能确保Summary始终在iOS端的推送通知中显示?
补充测试信息:Teams网页版、桌面版及安卓版的推送通知Summary显示均正常,仅iOS版存在上述不一致问题。
内容的提问来源于stack exchange,提问作者Matt Collins
相关产品推荐
相关产品推荐

