Telegram Sponsored Messages

· Funktionen

Ab sgcWebSockets 2022.3.0 werden Sponsored Messages unterstützt. Sponsored Messages benötigen Telegram 1.8.0+, daher wurden die Telegram-Bibliotheken aktualisiert, um dieses Feature zu unterstützen.

Sponsored Messages auf Telegram werden in großen öffentlichen One-to-Many-Channels mit über 1000 Abonnenten angezeigt und sind auf 160 Zeichen begrenzt. Sponsored Messages basieren ausschließlich auf dem Thema der öffentlichen Channels, in denen sie angezeigt werden.

Das bedeutet: Für die Anzeige der Werbung werden keine Nutzerdaten ausgewertet oder analysiert, und jeder Nutzer, der einen bestimmten Channel auf Telegram ansieht, sieht dieselben Sponsored Messages.

 Jedes Mal, wenn der Nutzer einen Channel öffnet, muss channels.getSponsoredMessages aufgerufen werden, um die für diesen Channel verfügbaren Sponsored Messages zu erhalten. Das Ergebnis muss 5 Minuten gecached werden.

Sponsored Messages müssen unterhalb aller anderen Beiträge im Channel angezeigt werden, nachdem der Nutzer über die letzte Nachricht hinaus weiter nach unten scrollt. Der beworbene Channel oder Bot, der im Feld from_id angegeben ist, muss als Autor der Nachricht angezeigt werden. Die Nachricht sollte außerdem unten einen der folgenden Buttons enthalten:

Beispiel 

Unten findest du ein Beispiel, wie du Sponsored Messages mit der sgcWebSockets-Bibliothek anforderst und anzeigst.

//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');