initialize method

Future<InitializationStatus> initialize({
  1. List<String>? testDeviceIds,
})

Initializes the Google Mobile Ads SDK. testDeviceIds: Optional list of test device IDs to register for testing.

Implementation

Future<InitializationStatus> initialize({List<String>? testDeviceIds}) async {
  if (_isInitialized && _initializationStatus != null) {
    developer.log(
      'Google Mobile Ads SDK already initialized',
      name: 'AdsManager',
    );
    return _initializationStatus!;
  }

  if (!AdConstants.isPlatformSupported) {
    developer.log(
      'Google Mobile Ads is only supported on Android & iOS. Skipping native SDK initialization.',
      name: 'AdsManager',
    );
    _isInitialized = true;
    _initializationStatus = InitializationStatus({});
    return _initializationStatus!;
  }

  if (testDeviceIds != null && testDeviceIds.isNotEmpty) {
    await setTestDeviceIds(testDeviceIds);
  }

  _initializationStatus = await MobileAds.instance.initialize();
  _isInitialized = true;

  if (kDebugMode) {
    developer.log(
      'Google Mobile Ads SDK initialized successfully: ${_initializationStatus!.adapterStatuses}',
      name: 'AdsManager',
    );
  }

  return _initializationStatus!;
}