Adjust ad seen processing

This commit is contained in:
Ali 2021-11-05 20:45:04 +04:00
parent cdc04c733c
commit 40011a225a
2 changed files with 11 additions and 8 deletions

View File

@ -4975,8 +4975,17 @@ public final class ChatControllerImpl: TelegramBaseController, ChatController, G
var minOffsetForNavigation: CGFloat = 40.0 var minOffsetForNavigation: CGFloat = 40.0
strongSelf.chatDisplayNode.historyNode.enumerateItemNodes { itemNode in strongSelf.chatDisplayNode.historyNode.enumerateItemNodes { itemNode in
if let itemNode = itemNode as? ChatMessageBubbleItemNode { if let itemNode = itemNode as? ChatMessageBubbleItemNode {
if itemNode.item?.content.firstMessage.adAttribute != nil { if let message = itemNode.item?.content.firstMessage, message.adAttribute != nil {
minOffsetForNavigation += itemNode.bounds.height minOffsetForNavigation += itemNode.bounds.height
switch offset {
case let .known(offset):
if offset <= itemNode.bounds.height / 2.0 {
strongSelf.chatDisplayNode.historyNode.adSeenProcessingManager.add([message.id])
}
default:
break
}
} }
} }
return false return false

View File

@ -469,7 +469,7 @@ public final class ChatHistoryListNode: ListView, ChatHistoryNode {
private let galleryHiddenMesageAndMediaDisposable = MetaDisposable() private let galleryHiddenMesageAndMediaDisposable = MetaDisposable()
private let messageProcessingManager = ChatMessageThrottledProcessingManager() private let messageProcessingManager = ChatMessageThrottledProcessingManager()
private let adSeenProcessingManager = ChatMessageThrottledProcessingManager() let adSeenProcessingManager = ChatMessageThrottledProcessingManager()
private let seenLiveLocationProcessingManager = ChatMessageThrottledProcessingManager() private let seenLiveLocationProcessingManager = ChatMessageThrottledProcessingManager()
private let unsupportedMessageProcessingManager = ChatMessageThrottledProcessingManager() private let unsupportedMessageProcessingManager = ChatMessageThrottledProcessingManager()
private let refreshMediaProcessingManager = ChatMessageThrottledProcessingManager() private let refreshMediaProcessingManager = ChatMessageThrottledProcessingManager()
@ -1563,7 +1563,6 @@ public final class ChatHistoryListNode: ListView, ChatHistoryNode {
let toLaterRange = (historyView.filteredEntries.count - 1 - (visible.firstIndex - 1), historyView.filteredEntries.count - 1) let toLaterRange = (historyView.filteredEntries.count - 1 - (visible.firstIndex - 1), historyView.filteredEntries.count - 1)
var messageIdsWithViewCount: [MessageId] = [] var messageIdsWithViewCount: [MessageId] = []
var messageIdsWithAds: [MessageId] = []
var messageIdsWithLiveLocation: [MessageId] = [] var messageIdsWithLiveLocation: [MessageId] = []
var messageIdsWithUnsupportedMedia: [MessageId] = [] var messageIdsWithUnsupportedMedia: [MessageId] = []
var messageIdsWithRefreshMedia: [MessageId] = [] var messageIdsWithRefreshMedia: [MessageId] = []
@ -1589,8 +1588,6 @@ public final class ChatHistoryListNode: ListView, ChatHistoryNode {
if message.id.namespace == Namespaces.Message.Cloud { if message.id.namespace == Namespaces.Message.Cloud {
messageIdsWithViewCount.append(message.id) messageIdsWithViewCount.append(message.id)
} }
} else if attribute is AdMessageAttribute {
messageIdsWithAds.append(message.id)
} else if attribute is ReplyThreadMessageAttribute { } else if attribute is ReplyThreadMessageAttribute {
if message.id.namespace == Namespaces.Message.Cloud { if message.id.namespace == Namespaces.Message.Cloud {
messageIdsWithViewCount.append(message.id) messageIdsWithViewCount.append(message.id)
@ -1754,9 +1751,6 @@ public final class ChatHistoryListNode: ListView, ChatHistoryNode {
if !messageIdsWithViewCount.isEmpty { if !messageIdsWithViewCount.isEmpty {
self.messageProcessingManager.add(messageIdsWithViewCount) self.messageProcessingManager.add(messageIdsWithViewCount)
} }
if !messageIdsWithAds.isEmpty {
self.adSeenProcessingManager.add(messageIdsWithAds)
}
if !messageIdsWithLiveLocation.isEmpty { if !messageIdsWithLiveLocation.isEmpty {
self.seenLiveLocationProcessingManager.add(messageIdsWithLiveLocation) self.seenLiveLocationProcessingManager.add(messageIdsWithLiveLocation)
} }