From sgcWebSockets 2022.3.0, Messages sponsorisés sont pris en charge. Messages sponsorisés requires Telegram 1.8.0+, donc les bibliothèques Telegram ont été mises à jour pour prend en charge cette fonctionnalité.
Les messages sponsorisés sur Telegram sont affichés in large public one-to-many channels avec 1000+ subscribers et sont limités to 160 characters. Messages sponsorisés sont basés solely sur le topic des canaux publics dans lesquels ils sont affichés.
This means que no user data n'est extraite ou analyzed to display ads, et chaque utilisateur consultant un canal particulier sur Telegram sees la même messages sponsorisés.
Obtenir les messages sponsorisés
Chaque fois que l'utilisateur ouvre un canal, channels.getSponsoredMessages doit être called to recevoir messages sponsorisés disponibles pour ce canal. Le result doit être cached for 5 minutes.
Afficher les messages sponsorisés
Les messages sponsorisés doivent être affichés en dessous de tous les autres posts in le canal, après que l'utilisateur fait défiler plus bas, au-delà du dernier message. Le canal ou bot promu spécifié dans le from_id field doit être affiché comme auteur du message. Le message doit aussi contenir l'un des boutons suivants en bas:
- View Bot — si un bot est promu. Tapping le button doit ouvrir le chat avec le bot. Si
start_paramest spécifié, le app doit utiliser le deep linking mechanism pour ouvrir le bot. - View Channel — si un canal est promu. Appuyer sur le bouton doit ouvrir le canal.
- View Post — si un canal est promu et
channel_postest spécifié. Appuyer sur le bouton doit ouvrir le particular channel post.
Exemple
Voici unn exemple to request et show Messages sponsorisés en utilisant la bibliothèque 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');
