Telegram スポンサードメッセージ

· 機能

sgcWebSockets 2022.3.0 より、スポンサードメッセージがサポートされました。スポンサードメッセージには Telegram 1.8.0+ が必要なため、Telegram ライブラリはこの機能をサポートするよう更新されました。

Telegram のスポンサードメッセージは 1000 人以上のサブスクライバーがいる大型パブリック 1 対多チャネルに表示され、160 文字に制限されています。スポンサードメッセージは、表示されるパブリックチャネルのトピックのみに基づいています。

これは、広告表示のためにユーザーデータは収集・分析されないことを意味し、特定のチャネルを閲覧するすべての Telegram ユーザーは同じスポンサードメッセージを目にします。

スポンサードメッセージの取得 

 ユーザーがチャネルを開くたびに、そのチャネルで利用可能なスポンサードメッセージを受信するために channels.getSponsoredMessages を呼び出す必要があります。結果は 5 分間キャッシュしなければなりません。

スポンサードメッセージの表示 

スポンサードメッセージはチャネル内の他のすべての投稿の下、ユーザーが最後のメッセージを過ぎてさらにスクロールした後に表示されなければなりません。from_id フィールドで指定されたプロモーション対象のチャネルまたはボットをメッセージの作成者として表示する必要があります。メッセージの下部には以下のいずれかのボタンも含める必要があります:

サンプル 

以下に、sgcWebSockets ライブラリを使用してスポンサードメッセージをリクエストして表示するサンプルを示します。

//Send a request to the channel asking if there are sponsored messages available, just call the method GetChatSponsoredMessage.
oTelegram := TsgcTDLib_Telegram.Create(nil);
oTelegram.Telegram.API.ApiHash := 'ABCDEFGHIJKLMN';
oTelegram.Telegram.API.ApiId := '1234';
oTelegram.PhoneNumber := '008745744155';
oTelegram.Active := true;
oTelegram.getChatSponsoredMessage('100');
//If the chat has sponsored messages, the event OnMessageSponsored is called with the content of the Sponsored message. 
//If there are no messages, a 404 error is returned.
procedure(Sender: TObject; MessageSponsored: TsgcTelegramMessageSponsored);
begin
  DoLog(MessageSponsored.Text);
end;
//Call the method ViewMethod after the Sponsored Messages has been shown to the user.
oTelegram.ViewMessage('100', '54653256245');