Vanaf sgcWebSockets 2022.3.0 worden gesponsorde berichten ondersteund. Gesponsorde berichten vereisen Telegram 1.8.0+, dus de Telegram-bibliotheken zijn bijgewerkt om deze functie te ondersteunen.
Gesponsorde berichten op Telegram worden weergegeven in grote publieke één-op-veel-kanalen met 1000+ abonnees en zijn beperkt tot 160 tekens. Gesponsorde berichten zijn uitsluitend gebaseerd op het onderwerp van de publieke kanalen waarin ze worden getoond.
Dit betekent dat er geen gebruikersgegevens worden verzameld of geanalyseerd om advertenties te tonen, en elke gebruiker die een bepaald kanaal op Telegram bekijkt, ziet dezelfde gesponsorde berichten.
Gesponsorde berichten ophalen
Telkens wanneer de gebruiker een kanaal opent, moet channels.getSponsoredMessages worden aangeroepen om gesponsorde berichten te ontvangen die beschikbaar zijn voor dit kanaal. Het resultaat moet 5 minuten worden gecachet.
Gesponsorde berichten weergeven
Gesponsorde berichten moeten worden weergegeven onder alle andere posts in het kanaal, nadat de gebruiker verder naar beneden heeft gescrolld, voorbij het laatste bericht. Het gepromote kanaal of de bot opgegeven in het from_id-veld moet worden weergegeven als de auteur van het bericht. Het bericht moet ook een van de volgende knoppen onderaan bevatten:
- Bot bekijken — als er een bot wordt gepromoot. Door op de knop te tikken, moet de chat met de bot worden geopend. Als
start_paramis opgegeven, moet de app het deeplinking-mechanisme gebruiken om de bot te openen. - Kanaal bekijken — als er een kanaal wordt gepromoot. Door op de knop te tikken, moet het kanaal worden geopend.
- Post bekijken — als er een kanaal wordt gepromoot en
channel_postis opgegeven. Door op de knop te tikken, moet de specifieke kanaalpost worden geopend.
Voorbeeld
Vind hieronder een voorbeeld om gesponsorde berichten op te vragen en te tonen met de sgcWebSockets-bibliotheek.
//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');
