赞助信息

收到赞助信息

sponsoredMessage#7dbf8673 flags:# recommended:flags.5?true can_report:flags.12?true random_id:bytes url:string title:string message:string entities:flags.1?Vector<MessageEntity> photo:flags.6?Photo media:flags.14?MessageMedia color:flags.13?PeerColor button_text:string sponsor_info:flags.7?string additional_info:flags.8?string min_display_duration:flags.15?int max_display_duration:flags.15?int = SponsoredMessage;messages.sponsoredMessages#ffda656d flags:# posts_between:flags.0?int start_delay:flags.1?int between_delay:flags.2?int messages:Vector<SponsoredMessage> chats:Vector<Chat> users:Vector<User> = messages.SponsoredMessages;---functions---messages.getSponsoredMessages#3d6ce850 flags:# peer:InputPeer msg_id:flags.0?int = messages.SponsoredMessages;

每次用户打开频道或与机器人聊天时,都必须调用messages.getSponsoredMessages来接收该频道或机器人可用的赞助消息。结果必须缓存5 分钟。

更多关于 Telegram 赞助消息的信息

获取赞助视频广告

sponsoredMessage#7dbf8673 flags:# recommended:flags.5?true can_report:flags.12?true random_id:bytes url:string title:string message:string entities:flags.1?Vector<MessageEntity> photo:flags.6?Photo media:flags.14?MessageMedia color:flags.13?PeerColor button_text:string sponsor_info:flags.7?string additional_info:flags.8?string min_display_duration:flags.15?int max_display_duration:flags.15?int = SponsoredMessage;messages.sponsoredMessages#ffda656d flags:# posts_between:flags.0?int start_delay:flags.1?int between_delay:flags.2?int messages:Vector<SponsoredMessage> chats:Vector<Chat> users:Vector<User> = messages.SponsoredMessages;---functions---messages.getSponsoredMessages#3d6ce850 flags:# peer:InputPeer msg_id:flags.0?int = messages.SponsoredMessages;

每次用户开始全屏观看频道视频时,必须调用messages.getSponsoredMessagesmsg_id并将消息 ID 设置为视频的 ID,以便在视频播放时接收赞助消息,这些消息将显示在视频播放器上的一个小框中。

返回的sponsoredMessage始终是仅包含文本的广告,并设置了`min_display_durationand`max_display_duration标志,并且包含messages.sponsoredMessages构造函数始终会设置`start_delayand`between_delay标志。

返回的视频广告必须按顺序显示,每个广告持续sponsoredMessagemax_display_duration秒,然后自动隐藏。

用户也可以在赞助消息播放min_display_duration几秒钟 后手动隐藏视频广告。

第一个广告必须在messages.sponsoredMessagesstart_delay播放视频.秒后显示。

后续广告必须在前一个广告隐藏后几秒钟内显示between_delay,无论是自动隐藏还是用户手动隐藏。

在全屏播放器中,通过向左或向右滑动切换到频道上的下一个或上一个视频不应触发新的messages.getSponsoredMessages调用,也不应中断任何计时器:实际上,应将广告视为与全屏播放器关联,而不是与特定视频关联(只要我们在同一频道上播放视频,情况就是如此)。

当用户暂停视频时,暂停所有计时器,例如假设:

以及以下时间线:

获取赞助搜索结果

contacts.found#b3134d9d my_results:Vector<Peer> results:Vector<Peer> chats:Vector<Chat> users:Vector<User> = contacts.Found;contacts.sponsoredPeersEmpty#ea32b4b1 = contacts.SponsoredPeers; contacts.sponsoredPeers#eb032884 peers:Vector<SponsoredPeer> chats:Vector<Chat> users:Vector<User> = contacts.SponsoredPeers;sponsoredPeer#c69708d3 flags:# random_id:bytes peer:Peer sponsor_info:flags.0?string additional_info:flags.1?string = SponsoredPeer;---functions---contacts.search#11f812d8 q:string limit:int = contacts.Found;contacts.getSponsoredPeers#b6c8c393 q:string = contacts.SponsoredPeers;

客户还必须支持赞助的同行,以便在通过全局搜索功能搜索同行时显示,以及与contacts.search一起使用。

应该调用contacts.getSponsoredPeers,返回一个赞助对等节点列表, 该列表将在contacts.found的结果之后、contacts.foundmy_results的结果之前显示。results

赞助的同伴应与赞助的消息采取相同的处理方式:

如上所述,受赞助的Peerrandom_id可以传递给与赞助消息相关的方法。

显示赞助商信息

赞助信息必须按以下方式显示:

如果设置,赞助消息/操作栏应使用消息强调色»中指定的color。

统计赞助信息浏览量

---functions---messages.viewSponsoredMessage#269e3643 random_id:bytes = Bool;

当广告的全部文本显示在屏幕上(频道广告的按钮除外)后,必须使用赞助消息的文本调用messages.viewSponsoredMessage 。random_id

点击赞助信息

---functions---messages.clickSponsoredMessage#8235057e flags:# media:flags.0?true fullscreen:flags.1?true random_id:bytes = Bool;

根据用户的操作,必须遵循以下逻辑。

举报赞助信息

sponsoredMessage#7dbf8673 flags:# recommended:flags.5?true can_report:flags.12?true random_id:bytes url:string title:string message:string entities:flags.1?Vector<MessageEntity> photo:flags.6?Photo media:flags.14?MessageMedia color:flags.13?PeerColor button_text:string sponsor_info:flags.7?string additional_info:flags.8?string min_display_duration:flags.15?int max_display_duration:flags.15?int = SponsoredMessage;sponsoredMessageReportOption#430d3150 text:string option:bytes = SponsoredMessageReportOption;channels.sponsoredMessageReportResultChooseOption#846f9e42 title:string options:Vector<SponsoredMessageReportOption> = channels.SponsoredMessageReportResult; channels.sponsoredMessageReportResultAdsHidden#3e3bcf2f = channels.SponsoredMessageReportResult; channels.sponsoredMessageReportResultReported#ad798849 = channels.SponsoredMessageReportResult;---functions---messages.reportSponsoredMessage#12cbf0c4 random_id:bytes option:bytes = channels.SponsoredMessageReportResult;

要向 Telegram 的版主举报赞助消息,请调用messages.reportSponsoredMessage,并传递频道/机器人 ID、random_id赞助消息的 ID 和一个空option字段。

请注意,只有设置了sponsoredMessage.can_report标志的赞助消息才能被举报。

那么,如果结果是:

该方法也可能返回:

测试赞助信息

对于频道https://t.me/SecretAdTestChannel,系统将始终返回赞助消息:推广频道、频道中的特定消息或带有 start 参数的机器人。

作为频道/机器人所有者提取广告收入

Telegram拥有社交媒体史上最慷慨的奖励机制之一。Telegram频道/机器人所有者现在可以获得其频道内广告收入的50% 。

点击此处»查看有关如何提取频道/机器人广告收入的更多信息,以及查看详细的收入统计数据。


第三方应用中的赞助信息

Telegram 在全球范围内持续增长,部分原因在于第三方应用使用了 Telegram API。为了应对增长带来的成本增加,Telegram 推出了赞助消息功能——一种付费且注重隐私的推广机器人和频道的方式。

如果第三方开发者的应用允许用户访问 Telegram 频道的内容,那么使用 Telegram API 的第三方开发者必须在2022 年 1 月 1 日前在其应用中支持并正确显示官方赞助信息。遗憾的是,Telegram 无法在经济上支持不显示赞助信息的第三方应用,这些应用将被终止服务。

所有开发者仍可免费使用 Telegram 的 API。第三方应用的盈利规则保持不变:开发者可以通过自身或其他合法方式投放广告来盈利,但前提是必须在应用商店的描述中显著标明所有盈利方式。