initAdNetworks method
Future<void>
initAdNetworks(
{ - required BuildContext context,
- required dynamic onInitComplete(),
})
Implementation
Future<void> initAdNetworks({
required BuildContext context,
required Function() onInitComplete,
}) async {
MainJson mainJson = context.read<MainJson>();
// ATT must run before UMP consent and MobileAds init on iOS.
if (Platform.isIOS) {
final status = await AppTrackingTransparency.trackingAuthorizationStatus;
if (status == TrackingStatus.notDetermined) {
await Future.delayed(const Duration(milliseconds: 500));
await AppTrackingTransparency.requestTrackingAuthorization();
}
}
if (mainJson.data!['version_config'][mainJson.version]['adNetwork']['google'] ?? false) {
// Non-blocking — UMP consent + MobileAds.initialize run in background.
GoogleInit().onInit();
}
if (mainJson.data!['version_config'][mainJson.version]['adNetwork']['appLovin'] ?? false) {
// Run AppLovin init in background — do NOT await to avoid blocking startup
AppLovinMAX.initialize(
(mainJson.data!['ad_config']['applovin_sdk_key'] != null && mainJson.data!['ad_config']['applovin_sdk_key'] != "")
? mainJson.data!['ad_config']['applovin_sdk_key']
: "xiAs_Fs3BiExPelVuawzyDTU2Sy4GL2d6KB1c7C1loiv64T5oquTwRRIJbHC3qO0qRI_65NChIkGy3U2i6rWXn",
);
}
Future.delayed(const Duration(milliseconds: 100), () {
onInitComplete();
});
}