Skip to content

Commit fa73a5b

Browse files
2semclaude
andauthored
fix: reprepare reward ad after dismissal (#16)
Reward units never set intervals[], so the shared reprepare(adObject:) guard was returning early and never reloading the ad. Move the interval guard inside the interstitial/opening branches only, so reward ads always reload after dismissal. Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
1 parent 1829ee4 commit fa73a5b

1 file changed

Lines changed: 4 additions & 2 deletions

File tree

GADManager/GADManager.swift

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -362,15 +362,17 @@ public class GADManager<E : RawRepresentable> : NSObject, GoogleMobileAds.FullSc
362362
}
363363

364364
func reprepare(adObject: NSObject, isTesting: Bool = false){
365-
guard let name = self.name(forAdObject: adObject), let unit = E.init(rawValue: name), let interval = self.intervals[unit] else{
365+
guard let name = self.name(forAdObject: adObject), let unit = E.init(rawValue: name) else{
366366
return;
367367
}
368-
368+
369369
let isTesting = self.isTesting[unit] ?? isTesting;
370370

371371
if adObject is GoogleMobileAds.InterstitialAd{
372+
guard self.intervals[unit] != nil else { return }
372373
self.reprepare(interstitialUnit: unit, isTesting: isTesting);
373374
}else if adObject is GoogleMobileAds.AppOpenAd{
375+
guard self.intervals[unit] != nil else { return }
374376
self.reprepare(openingUnit: unit, isTesting: isTesting);
375377
}else if adObject is GoogleMobileAds.RewardedAd{
376378
self.reprepare(rewardUnit: unit, isTesting: isTesting);

0 commit comments

Comments
 (0)