Skip to content

Commit 24a3025

Browse files
committed
fix(ads): correct ad placement across paginated content
- Update processedContentItemCount to only count Headline items in feed - Fix ad placement issues in entity details, headlines feed, and search feed screens - Improve accuracy of ad placement rules across paginated loads
1 parent 9e176b1 commit 24a3025

File tree

3 files changed

+13
-3
lines changed

3 files changed

+13
-3
lines changed

lib/entity_details/bloc/entity_details_bloc.dart

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -212,7 +212,10 @@ class EntityDetailsBloc extends Bloc<EntityDetailsEvent, EntityDetailsState> {
212212
feedItems: headlineResponse.items,
213213
user: currentUser,
214214
adConfig: remoteConfig.adConfig,
215-
processedContentItemCount: state.feedItems.length,
215+
// Calculate the count of actual content items (headlines) already in the
216+
// feed. This is crucial for the FeedDecoratorService to correctly apply
217+
// ad placement rules across paginated loads.
218+
processedContentItemCount: state.feedItems.whereType<Headline>().length,
216219
);
217220

218221
emit(

lib/headlines-feed/bloc/headlines_feed_bloc.dart

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -113,7 +113,10 @@ class HeadlinesFeedBloc extends Bloc<HeadlinesFeedEvent, HeadlinesFeedState> {
113113
feedItems: headlineResponse.items,
114114
user: currentUser,
115115
adConfig: remoteConfig.adConfig,
116-
processedContentItemCount: state.feedItems.length,
116+
// Calculate the count of actual content items (headlines) already in the
117+
// feed. This is crucial for the FeedDecoratorService to correctly apply
118+
// ad placement rules across paginated loads.
119+
processedContentItemCount: state.feedItems.whereType<Headline>().length,
117120
);
118121

119122
emit(

lib/headlines-search/bloc/headlines_search_bloc.dart

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -112,7 +112,11 @@ class HeadlinesSearchBloc
112112
feedItems: headlines,
113113
user: currentUser,
114114
adConfig: appConfig.adConfig,
115-
processedContentItemCount: successState.items.length,
115+
// Calculate the count of actual content items (headlines) already in the
116+
// feed. This is crucial for the FeedDecoratorService to correctly apply
117+
// ad placement rules across paginated loads.
118+
processedContentItemCount:
119+
successState.items.whereType<Headline>().length,
116120
);
117121
emit(
118122
successState.copyWith(

0 commit comments

Comments
 (0)