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.
Sponsored Messages abrufen
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 anzeigen
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:
- View Bot — wenn ein Bot beworben wird. Beim Tippen muss der Chat mit dem Bot geöffnet werden. Ist
start_paramangegeben, muss die App den Deep-Linking-Mechanismus nutzen, um den Bot zu öffnen. - View Channel — wenn ein Channel beworben wird. Beim Tippen muss der Channel geöffnet werden.
- View Post — wenn ein Channel beworben wird und
channel_postangegeben ist. Beim Tippen muss der konkrete Channel-Beitrag geöffnet werden.
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');
