Hi,
Thank you for providing your code snippets.
Please make sure that Limit Ad Tracking (Go to Settings > Privacy > Advertising) is turned off on your iOS device for your Rewarded Ads to load successfully.
You are indeed correct that if Rewarded Ads are displaying in your Android build, then it's safe to assume that the same Unity code implementation should work even if you build it for iOS. Also, looking at your code snippets, it should have worked as expected. However, though your code snippets doesn't really tell when the ShowAdd() method is called, I wouldn't really suggest that you call RequestRewardBasedVideo() if rewardBasedVideo.IsLoaded() = false when calling ShowAdd() method. Depending on when you are triggering the ShowAdd() method, you might call it during the time when the AdRequest is still being processed and haven't successfully returned an ad yet so you don't necessarily need to send a new AdRequest for this. I suggest that you refer to
this guide on when it is a best time to send a new AdRequest for your Rewarded Video Ad.
That said, could you provide to us the following information privately (using Reply privately to author option) so we can have a closer look on this on our end?
- Rewarded Ad Unit Id in question
- Complete device logs particularly the error logs and error code captured when ads failed to load (using OnAdFailedToLoad)
Regards,
Ivan Bautista
Mobile Ads SDK Team