I have been trying to set up a reward video for a week I don't know what im doing wrong im using latest version of buildbox 2 and have done various changes and tried many diff methods but they don't seem to work can some me plz kind enough to give working code for it this it the latest changes I tried and this is just one example I also tried many other things but it doesnot seem to work can anyone help plz public class AdIntegrator { public static native boolean rewardedVideoDidEnd(); private static RewardedVideoAd mRewardedVideoAd; private static WeakReference<Cocos2dxActivity> activity; public static void initBridge(Cocos2dxActivity act){ activity = new WeakReference<Cocos2dxActivity>(act); } public static void initAds(){ activity.get().runOnUiThread( new Runnable() { public void run() { FrameLayout frameLayout = (FrameLayout)activity.get().findViewById(android.R.id.content); RelativeLayout layout = new RelativeLayout( activity.get() ); frameLayout.addView( layout ); RelativeLayout.LayoutParams adViewParams = new RelativeLayout.LayoutParams( FrameLayout.LayoutParams.WRAP_CONTENT, FrameLayout.LayoutParams.WRAP_CONTENT); adViewParams.addRule(RelativeLayout.ALIGN_PARENT_BOTTOM); adViewParams.addRule(RelativeLayout.ALIGN_PARENT_BOTTOM); adViewParams.addRule(RelativeLayout.CENTER_IN_PARENT, RelativeLayout.TRUE); // moPubView = new MoPubView( activity.get() ); // moPubView.setLayoutParams( adViewParams ); // moPubView.setAdUnitId(bannerID); // moPubView.loadAd(); // moPubView.setVisibility(View.INVISIBLE); // layout.addView(moPubView); // // //Interstitials // mInterstitial = new MoPubInterstitial(activity.get(), interstitialID); // mInterstitial.setInterstitialAdListener(AdIntegratorHelper.getInstance()); // mInterstitial.load(); //RewardedVideo //MoPubRewardedVideos.loadRewardedVideo(rewardedVideoId); //MoPubRewardedVideos.setRewardedVideoListener(AdIntegratorHelper.getInstance()); mRewardedVideoAd = MobileAds.getRewardedVideoAdInstance(activity.get()); mRewardedVideoAd.loadAd("ca-app-pub-3940256099942544/5224354917", new AdRequest.Builder().build()); mRewardedVideoAd.setRewardedVideoAdListener(AdIntegratorHelper.getInstance()); } }); } public static void showBanner(){ } public static void hideBanner(){ } public static boolean isBannerVisible(){ return true; } public static boolean isRewardedVideoAvialable(){ return true; } public static void showInterstitial(){ } public static void showRewardedVideo(){ if (mRewardedVideoAd.isLoaded()) { mRewardedVideoAd.show(); }else { Log.d("TAG", "The Reward Video wasn't loaded yet."); } } public static void buttonActivated(){ } public static boolean buttonVisible(){ return true; } } public class AdIntegratorHelper implements RewardedVideoAdListener { private static AdIntegratorHelper instance = null; public static AdIntegratorHelper getInstance() { if (instance == null) instance = new AdIntegratorHelper(); return instance; } @Override public void onRewardedVideoAdLoaded() { } @Override public void onRewardedVideoAdOpened() { } @Override public void onRewardedVideoStarted() { } @Override public void onRewardedVideoAdClosed() { } @Override public void onRewarded(RewardItem rewardItem) { } @Override public void onRewardedVideoAdLeftApplication() { } @Override public void onRewardedVideoAdFailedToLoad(int i) { } @Override public void onRewardedVideoCompleted() { AdIntegrator.rewardedVideoDidEnd(); } } <?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.hc.mine.cube" android:versionCode="6" android:versionName="1.5"> <supports-screens android:anyDensity="true" android:largeScreens="true" android:normalScreens="true" android:smallScreens="true" /> <!-- INMOBI --> <!-- <uses-permission android:name="android.permission.READ_LOGS" /> <uses-permission android:name="android.permission.VIBRATE"/> <uses-permission android:name="android.permission.CALL_PHONE" /> <uses-permission android:name="android.permission.READ_CALENDAR"/> <uses-permission android:name="android.permission.WRITE_CALENDAR"/> <uses-permission android:name="android.permission.RECORD_AUDIO"/> <uses-permission android:name="android.permission.GET_TASKS" /> <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" /> <uses-permission android:name="com.google.android.gms.permission.ACTIVITY_RECOGNITION"/> --> <!-- INMOBI --> <uses-permission android:name="android.permission.INTERNET" /> <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" /> <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" /> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> <uses-permission android:name="android.permission.READ_PHONE_STATE" /> <application android:name="android.support.multidex.MultiDexApplication" android:allowBackup="true" android:hardwareAccelerated="true" android:icon="@drawable/icon" android:label="@string/app_name" android:largeHeap="true"> <activity android:name=".SplashActivity" android:screenOrientation="portrait" android:theme="@Style/Theme.AppCompat.DayNight.NoActionBar"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> <meta-data android:name="com.google.android.gms.ads.APPLICATION_ID" android:value="ca-app-pub-4228694059392933~6550419494" /> <meta-data android:name="com.google.android.gms.version" android:value="@integer/google_play_services_version" /> <meta-data android:name="com.google.android.gms.games.APP_ID" android:value="@string/app_id" /> <activity android:name=".PTPlayer" android:configChanges="orientation" android:label="@string/app_name" android:screenOrientation="portrait" android:theme="@android:style/Theme.NoTitleBar.Fullscreen"> </activity> <!-- FACEBOOK SDK --> <!-- <activity android:name="com.facebook.ads.InterstitialAdActivity" android:configChanges="keyboardHidden|orientation" android:screenOrientation="portrait"/> --> <!-- FACEBOOK SDK --> <activity android:name="com.google.android.gms.ads.AdActivity" android:configChanges="keyboard|keyboardHidden|orientation|screenLayout|uiMode|screenSize|smallestScreenSize" android:theme="@android:style/Theme.Translucent" /> </application> </manifest> buildscript { repositories { google() jcenter() maven { url "https://s3.amazonaws.com/moat-sdk-builds" } } dependencies { classpath 'com.android.tools.build:gradle:3.2.1' } } allprojects { repositories { google() jcenter() maven { url "https://s3.amazonaws.com/moat-sdk-builds" } } } apply plugin: 'com.android.application' android { compileSdkVersion 26 buildToolsVersion "28.0.3" defaultConfig { applicationId "com.companyname.gamename" minSdkVersion 16 targetSdkVersion 26 multiDexEnabled true ndk { moduleName "player_shared" } } buildTypes { release { minifyEnabled false proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt' } } dexOptions { javaMaxHeapSize "4g" } } dependencies { implementation 'com.google.android.gmslay-services-auth:16.0.1' implementation 'com.google.android.gmslay-services-games:17.0.0' implementation 'com.android.support:multidex:1.0.3' implementation fileTree(dir: 'libs', include: ['*.jar', '*.aar']) implementation 'com.google.android.gmslay-services-ads:17.2.0' // More deps here // implementation 'com.android.support:support-v4:26.1.0' implementation 'com.android.support:recyclerview-v7:26.1.0' }