Począwszy od wersji sgcWebSockets 2022.3.0 obsługiwane są sponsorowane wiadomości. Wymagają one Telegram 1.8.0+, więc biblioteki Telegram zostały zaktualizowane, aby obsługiwać tę funkcję.
Sponsorowane wiadomości na Telegram są wyświetlane w dużych publicznych kanałach nadawczych z ponad 1000 subskrybentami i są ograniczone do 160 znaków. Sponsorowane wiadomości opierają się wyłącznie na tematyce publicznych kanałów, w których są wyświetlane.
Oznacza to, że żadne dane użytkownika nie są zbierane ani analizowane w celu wyświetlania reklam, a każdy użytkownik oglądający dany kanał na Telegram widzi te same sponsorowane wiadomości.
Pobieranie sponsorowanych wiadomości
Za każdym razem, gdy użytkownik otwiera kanał, należy wywołać channels.getSponsoredMessages, aby pobrać dostępne dla tego kanału sponsorowane wiadomości. Wynik należy buforować przez 5 minut.
Wyświetlanie sponsorowanych wiadomości
Sponsorowane wiadomości muszą być wyświetlane poniżej wszystkich innych postów w kanale, gdy użytkownik przewinie w dół za ostatnią wiadomość. Promowany kanał lub bot określony w polu from_id musi być wyświetlany jako autor wiadomości. Wiadomość powinna zawierać jeden z poniższych przycisków na dole:
- View Bot — gdy promowany jest bot. Kliknięcie przycisku musi otworzyć czat z botem. Jeśli podano
start_param, aplikacja musi użyć mechanizmu deep linkingu do otwarcia bota. - View Channel — gdy promowany jest kanał. Kliknięcie przycisku musi otworzyć kanał.
- View Post — gdy promowany jest kanał i podano
channel_post. Kliknięcie przycisku musi otworzyć konkretny post w kanale.
Przykład
Poniżej znajdziesz przykład żądania i wyświetlania sponsorowanych wiadomości za pomocą biblioteki 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');
