Admob Rewarded Ads without any plugin

UE4’s Blueprints system supports both Banner and Interstitial Ads, but I don’t see any option for Rewarded Ads even if it’s an ad format we can select in AdMob. Is it possible to implement Rewarded Ads in my Android project without use any plugin?

If it isn’t possible, how much extra memory will have the packaged version for a plugin like that https://github.com/feixuwu/UnrealEngine4-EZ-Mobile-Ads ? (Mobile games shouldn’t occupy too much memory, that’s my doubt about add a plugin just for ads)

memory depends on the plugin itself,
and you might be able to create a system ingame where you reward the player if the ad is successfully shown

thank you for the answer, I read it but it didn’t really help me so I was waiting for other answers. The problem is that the blueprint system doesn’t even have a “Show RewardedAd” function.
I opted to use the plugin EZ Mobile Ads but if you start the game without connection and then you switch on it seems to not show ads, you’re obliged to restart the game… I will update if I find a solution.

Anyway, I still think that mobile support is missing massive things (not only ads but also multiplayer).

Hey, did you find any solutions for rewarded videos please?

After all this time, I’m leaving this reply for someone who might need it.

This is a guide on how to implement android rewarded ad in Unreal Engine 5.2.

You can implement rewarded ad in Android simply by using JNI.

This might be a stretch for some who just want it to work like it does in the plugins, but i tend to rig things a lot so i thought id share this. I have a timer by event running that checks for the status of several variables. At the moment, i dont have any “reward style” ads, but i plan to add them. I was thinking that i add a var right here:

This is where the ad has loaded and im assured that it will play. Set the var to true here. There is a do once on a timer by event running in a loop that fires off a widget showing the reward received and supplys the reward, only when that var flips to true. Then it sets that var back to false and loads the next interstitial ad. Does that sound like madness? I plan to test it tomorrow.

Just to update, this works flawlessly. For anyone else that wants to do it the screwy way, here is how:

In my char BP-
image

The two events on begin play outlined below:

In my char BP-

The above puts an ad in the chamber so it can be called whenever.

In my char BP-

This is the timer. Essentially when the Var trips over to true (the moment an ad can play and reward is requested by the user), this fires once and then sets the var back to false. The ad plays and the game auto-pauses. After the ad, this logic fires off. I show a reward widget that lasts a few seconds and then it gives a diamond reward (yours can be whatever). I have tested closing the game during the ad and the reward is not received, so that’s a plus.

The second branch at the bottom will be a different reward, so yes, I would need to duplicate all this logic and have a different var for each. :frowning: I will accept criticism on that method. maybe I could do it with a struct? Another experiment for another time…

This is what is in my UI -
image

That fires off this event:

In my char BP-

Here is where the var trips to true. I throw up a widget that is just black background because ads don’t take up the notch area and I don’t want part of the game showing on phone notch areas. If there is a better way, I’m all ears. You can see I’m doing the “load advert” event everywhere and all the time. I don’t know why, but if I don’t, I’m not always guaranteed an ad.

So, I would need to duplicate the ShowAdvertUI event and put a new bool var in there for the second reward. Then, as I said already above, add to the second branch on the rewards event/timer whatever widget and reward, then set the second var back to false.

Note that all of the rewards I’m working with here are consumable. My cloud game saves restore whatever progress they have made from Google. My only non-consumable is a “remove ads” purchase, so That’s the only thing I have to worry about in terms of restoring purchases.

I don’t know if any of that make sense, but it works for me, and hopefully it helps someone else do it the crazy way. :upside_down_face:

Ps @happyfun3280 - I’m not trying to overrule you. your way looks to be the better, more stable way. I’m just giving an alternative as a newer dev.

I made some simple plugin for Rewarded Ads only.

Plugin Github Link

This plugin may be unstable but it worked on me.