diff --git a/ios/RNGoogleMobileAds/RNGoogleMobileAdsAppOpenModule.mm b/ios/RNGoogleMobileAds/RNGoogleMobileAdsAppOpenModule.mm
index 0fe36bae..d290eade 100644
--- a/ios/RNGoogleMobileAds/RNGoogleMobileAdsAppOpenModule.mm
+++ b/ios/RNGoogleMobileAds/RNGoogleMobileAdsAppOpenModule.mm
@@ -54,6 +54,10 @@ - (dispatch_queue_t)methodQueue {
   return dispatch_get_main_queue();
 }
 
++ (BOOL)requiresMainQueueSetup {
+  return YES;
+}
+
 RCT_EXPORT_METHOD(appOpenLoad
                   : (double)requestId adUnitId
                   : (NSString *)adUnitId requestOptions
diff --git a/ios/RNGoogleMobileAds/RNGoogleMobileAdsInterstitialModule.mm b/ios/RNGoogleMobileAds/RNGoogleMobileAdsInterstitialModule.mm
index 75957dfc..03cacbec 100644
--- a/ios/RNGoogleMobileAds/RNGoogleMobileAdsInterstitialModule.mm
+++ b/ios/RNGoogleMobileAds/RNGoogleMobileAdsInterstitialModule.mm
@@ -56,6 +56,10 @@ - (dispatch_queue_t)methodQueue {
   return dispatch_get_main_queue();
 }
 
++ (BOOL)requiresMainQueueSetup {
+  return YES;
+}
+
 RCT_EXPORT_METHOD(interstitialLoad
                   : (double)requestId adUnitId
                   : (NSString *)adUnitId requestOptions
diff --git a/ios/RNGoogleMobileAds/RNGoogleMobileAdsModule.mm b/ios/RNGoogleMobileAds/RNGoogleMobileAdsModule.mm
index a24d31be..37a24542 100644
--- a/ios/RNGoogleMobileAds/RNGoogleMobileAdsModule.mm
+++ b/ios/RNGoogleMobileAds/RNGoogleMobileAdsModule.mm
@@ -36,6 +36,10 @@ - (dispatch_queue_t)methodQueue {
   return dispatch_get_main_queue();
 }
 
++ (BOOL)requiresMainQueueSetup {
+  return YES;
+}
+
 #pragma mark -
 #pragma mark Google Mobile Ads Methods
 
diff --git a/ios/RNGoogleMobileAds/RNGoogleMobileAdsRewardedInterstitialModule.mm b/ios/RNGoogleMobileAds/RNGoogleMobileAdsRewardedInterstitialModule.mm
index cc1b938b..1ecc70bc 100644
--- a/ios/RNGoogleMobileAds/RNGoogleMobileAdsRewardedInterstitialModule.mm
+++ b/ios/RNGoogleMobileAds/RNGoogleMobileAdsRewardedInterstitialModule.mm
@@ -56,6 +56,10 @@ - (dispatch_queue_t)methodQueue {
   return dispatch_get_main_queue();
 }
 
++ (BOOL)requiresMainQueueSetup {
+  return YES;
+}
+
 RCT_EXPORT_METHOD(rewardedInterstitialLoad
                   : (double)requestId adUnitId
                   : (NSString *)adUnitId requestOptions
diff --git a/ios/RNGoogleMobileAds/RNGoogleMobileAdsRewardedModule.mm b/ios/RNGoogleMobileAds/RNGoogleMobileAdsRewardedModule.mm
index 172d0262..0cc171fe 100644
--- a/ios/RNGoogleMobileAds/RNGoogleMobileAdsRewardedModule.mm
+++ b/ios/RNGoogleMobileAds/RNGoogleMobileAdsRewardedModule.mm
@@ -54,6 +54,10 @@ - (dispatch_queue_t)methodQueue {
   return dispatch_get_main_queue();
 }
 
++ (BOOL)requiresMainQueueSetup {
+  return YES;
+}
+
 RCT_EXPORT_METHOD(rewardedLoad
                   : (double)requestId adUnitId
                   : (NSString *)adUnitId requestOptions