sgcWebSockets 2022.3.0 sürümünden itibaren Sponsorlu Mesajlar desteklenir. Sponsorlu Mesajlar Telegram 1.8.0+ sürümünü gerektirir, bu nedenle Telegram kütüphaneleri bu özelliği destekleyecek şekilde güncellendi.
Telegram'daki sponsorlu mesajlar, 1000+ aboneye sahip büyük herkese açık birden çoğa kanallarda görüntülenir ve 160 karakterle sınırlıdır. Sponsorlu Mesajlar yalnızca gösterildikleri herkese açık kanalların konusuna dayanır.
Bu, reklamları göstermek için hiçbir kullanıcı verisinin toplanmadığı veya analiz edilmediği ve Telegram'da belirli bir kanalı görüntüleyen her kullanıcının aynı sponsorlu mesajları gördüğü anlamına gelir.
Sponsorlu mesajları alma
Kullanıcı bir kanalı her açtığında, bu kanal için kullanılabilir sponsorlu mesajları almak için channels.getSponsoredMessages çağrılmalıdır. Sonuç 5 dakika önbelleğe alınmalıdır.
Sponsorlu mesajları görüntüleme
Sponsorlu mesajlar, kullanıcı daha aşağı kaydırıp son mesajı geçtikten sonra kanaldaki diğer tüm gönderilerin altında görüntülenmelidir. from_id alanında belirtilen tanıtılan kanal veya bot, mesajın yazarı olarak görüntülenmelidir. Mesaj ayrıca altta aşağıdaki düğmelerden birini içermelidir:
- View Bot — bir bot tanıtılıyorsa. Düğmeye dokunmak, botla sohbeti açmalıdır.
start_parambelirtilmişse, uygulama botu açmak için deep linking mekanizmasını kullanmalıdır. - View Channel — bir kanal tanıtılıyorsa. Düğmeye dokunmak kanalı açmalıdır.
- View Post — bir kanal tanıtılıyorsa ve
channel_postbelirtilmişse. Düğmeye dokunmak ilgili kanal gönderisini açmalıdır.
Örnek
sgcWebSockets kütüphanesini kullanarak Sponsorlu Mesajları istemek ve göstermek için bir örneği aşağıda bulabilirsiniz.
//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');
