Skip to content

Commit e4c47f3

Browse files
committed
feat(ads): integrate AdMob SDK and implement basic ad functionality
- Add AdProvider and AdService to handle ads - Initialize AdMobAdProvider and AdService early in the app lifecycle - Provide AdService to the app repository
1 parent 7e6ac03 commit e4c47f3

File tree

1 file changed

+10
-1
lines changed

1 file changed

+10
-1
lines changed

lib/bootstrap.dart

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,9 @@ import 'package:data_inmemory/data_inmemory.dart';
99
import 'package:data_repository/data_repository.dart';
1010
import 'package:flutter/material.dart';
1111
import 'package:flutter_bloc/flutter_bloc.dart';
12+
import 'package:flutter_news_app_mobile_client_full_source_code/ads/ad_provider.dart';
13+
import 'package:flutter_news_app_mobile_client_full_source_code/ads/ad_service.dart';
14+
import 'package:flutter_news_app_mobile_client_full_source_code/ads/admob_ad_provider.dart';
1215
import 'package:flutter_news_app_mobile_client_full_source_code/app/app.dart';
1316
import 'package:flutter_news_app_mobile_client_full_source_code/app/config/config.dart'
1417
as app_config;
@@ -38,6 +41,11 @@ Future<Widget> bootstrap(
3841
late final AuthRepository authenticationRepository;
3942
HttpClient? httpClient;
4043

44+
// Initialize AdProvider and AdService
45+
final AdProvider adProvider = AdMobAdProvider(logger: logger);
46+
final AdService adService = AdService(adProvider: adProvider, logger: logger);
47+
await adService.initialize(); // Initialize AdMob SDK early
48+
4149
if (appConfig.environment == app_config.AppEnvironment.demo) {
4250
authClient = AuthInmemory();
4351
authenticationRepository = AuthRepository(
@@ -265,13 +273,14 @@ Future<Widget> bootstrap(
265273
headlinesRepository: headlinesRepository,
266274
topicsRepository: topicsRepository,
267275
countriesRepository: countriesRepository,
268-
sourcesRepository: sourcesRepository,
276+
sourcesRepository: sourcesClient,
269277
userAppSettingsRepository: userAppSettingsRepository,
270278
userContentPreferencesRepository: userContentPreferencesRepository,
271279
remoteConfigRepository: remoteConfigRepository,
272280
userRepository: userRepository,
273281
kvStorageService: kvStorage,
274282
environment: environment,
275283
demoDataMigrationService: demoDataMigrationService,
284+
adService: adService, // Provide the AdService
276285
);
277286
}

0 commit comments

Comments
 (0)