Last updated:
0 purchases
knt base monetized
knt_base_monetized #
Helper blocs for handling common in-app-purchase & admob flow.
Getting Started #
Config your admob ID
Make sure you had completed platform setup followed this reference Platform Admob Setup.
Recommends using get_it & injectable for dependencies injection.
Refer section Registering third party types for
create instances of BLoC & service classes in this package.
These Bloc & service need to be singleton (refer @singleton annotation with injectable).
BLoC pattern knowledge, refer library fluter_bloc.
Use fluter_bloc library:
Create BlocProvider at application level for this package's blocs.
Use BlocBuilder & BlocListener for handling state from these blocs.
Common flow #
For Admob:
Step 1: Create instances of AdmobConfig & AdmobService & FrequentlyAdsBloc and/or StaticAdsBloc.
Step 2: At main() top-level function, initialize MobileAd by inserting this code:
Future<void> main() async {
WidgetsFlutterBinding.ensureInitialized();
await getIt<AdmobService>().init();
runApp(App());
}
copied to clipboard
Step 3: Assume that SplashPage is your app's first page, then insert these code inside initState():
Future.delayed(Duration.zero, () {
context.read<FrequentlyAdsBloc>().add(PrepareFrequentlyAdEvent());
}
copied to clipboard
Step 4: Whenever you need to show InterstitialAd, just call:
context.read<FrequentlyAdsBloc>().add(ShowFrequentlyAdEvent(_adTag));
copied to clipboard
(I recommend create a unique _adTag to identify which screen had requested ad unit. This is helpful when handle state with BlocListener.)
For in-app-purchase
Step 1: Create instances of a SubscriptionBloc that extends BaseSubscriptionBloc.
Step 2: Overrides all needed methods with the correspond functions from your in app purchase library.
Step 3: Create PremiumPage which shows UI for premium-feature, contains SKU list / restore purchase option / term & privacy.
Step 4:
For showing SKU list: Using SubscriptionBloc#FetchListSkuEvent.
For request subscription on SKU item: Using SubscriptionBloc#RequestSubscriptionEvent.
For request restore purchase: Using SubscriptionBloc#RestoreSubscriptionEvent.
Step 4 (Optional): Create instances of FreeUsageCounterBloc to handle user's free usage flow.
Note #
This package included app_tracking_transparency for handling privacy iOS about admob.
For personal and professional use. You cannot resell or redistribute these repositories in their original state.
There are no reviews.