Skip to content

Commit 1ddcce3

Browse files
committed
feat(ads): implement interstitial ad triggering on article navigation
- Add InterstitialAdManager import to headline_details_page.dart - Integrate onPotentialAdTrigger call before navigating to entity details - Implement interstitial ad trigger for similar headline taps
1 parent 970c073 commit 1ddcce3

File tree

1 file changed

+40
-15
lines changed

1 file changed

+40
-15
lines changed

lib/headline-details/view/headline_details_page.dart

Lines changed: 40 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ import 'package:flutter/material.dart';
88
import 'package:flutter_bloc/flutter_bloc.dart';
99
import 'package:flutter_news_app_mobile_client_full_source_code/account/bloc/account_bloc.dart';
1010
import 'package:flutter_news_app_mobile_client_full_source_code/ads/ad_service.dart';
11+
import 'package:flutter_news_app_mobile_client_full_source_code/ads/interstitial_ad_manager.dart';
1112
import 'package:flutter_news_app_mobile_client_full_source_code/ads/models/ad_theme_style.dart';
1213
import 'package:flutter_news_app_mobile_client_full_source_code/ads/widgets/in_article_ad_loader_widget.dart';
1314
import 'package:flutter_news_app_mobile_client_full_source_code/app/bloc/app_bloc.dart';
@@ -521,6 +522,9 @@ class _HeadlineDetailsPageState extends State<HeadlineDetailsPage> {
521522
..add(
522523
InkWell(
523524
onTap: () {
525+
context
526+
.read<InterstitialAdManager>()
527+
.onPotentialAdTrigger(context: context);
524528
context.pushNamed(
525529
Routes.entityDetailsName,
526530
pathParameters: {
@@ -549,6 +553,9 @@ class _HeadlineDetailsPageState extends State<HeadlineDetailsPage> {
549553
..add(
550554
InkWell(
551555
onTap: () {
556+
context
557+
.read<InterstitialAdManager>()
558+
.onPotentialAdTrigger(context: context);
552559
context.pushNamed(
553560
Routes.entityDetailsName,
554561
pathParameters: {
@@ -577,6 +584,9 @@ class _HeadlineDetailsPageState extends State<HeadlineDetailsPage> {
577584
..add(
578585
InkWell(
579586
onTap: () {
587+
context
588+
.read<InterstitialAdManager>()
589+
.onPotentialAdTrigger(context: context);
580590
context.pushNamed(
581591
Routes.entityDetailsName,
582592
pathParameters: {
@@ -662,29 +672,44 @@ class _HeadlineDetailsPageState extends State<HeadlineDetailsPage> {
662672
case HeadlineImageStyle.hidden:
663673
tile = HeadlineTileTextOnly(
664674
headline: similarHeadline,
665-
onHeadlineTap: () => context.pushNamed(
666-
Routes.globalArticleDetailsName,
667-
pathParameters: {'id': similarHeadline.id},
668-
extra: similarHeadline,
669-
),
675+
onHeadlineTap: () {
676+
context
677+
.read<InterstitialAdManager>()
678+
.onPotentialAdTrigger(context: context);
679+
context.pushNamed(
680+
Routes.globalArticleDetailsName,
681+
pathParameters: {'id': similarHeadline.id},
682+
extra: similarHeadline,
683+
);
684+
},
670685
);
671686
case HeadlineImageStyle.smallThumbnail:
672687
tile = HeadlineTileImageStart(
673688
headline: similarHeadline,
674-
onHeadlineTap: () => context.pushNamed(
675-
Routes.globalArticleDetailsName,
676-
pathParameters: {'id': similarHeadline.id},
677-
extra: similarHeadline,
678-
),
689+
onHeadlineTap: () {
690+
context
691+
.read<InterstitialAdManager>()
692+
.onPotentialAdTrigger(context: context);
693+
context.pushNamed(
694+
Routes.globalArticleDetailsName,
695+
pathParameters: {'id': similarHeadline.id},
696+
extra: similarHeadline,
697+
);
698+
},
679699
);
680700
case HeadlineImageStyle.largeThumbnail:
681701
tile = HeadlineTileImageTop(
682702
headline: similarHeadline,
683-
onHeadlineTap: () => context.pushNamed(
684-
Routes.globalArticleDetailsName,
685-
pathParameters: {'id': similarHeadline.id},
686-
extra: similarHeadline,
687-
),
703+
onHeadlineTap: () {
704+
context
705+
.read<InterstitialAdManager>()
706+
.onPotentialAdTrigger(context: context);
707+
context.pushNamed(
708+
Routes.globalArticleDetailsName,
709+
pathParameters: {'id': similarHeadline.id},
710+
extra: similarHeadline,
711+
);
712+
},
688713
);
689714
}
690715
return tile;

0 commit comments

Comments
 (0)