Ads Not Show

Discussion in 'How Can I...?' started by adamls, Sep 26, 2019.

  1. adamls

    adamls Boxer

    Joined:
    Jul 31, 2018
    Messages:
    2
    Likes Received:
    0
    hi every one i make a game when put admob ad id into my game but ads not show when i build app to apk thanks for helping me

    this is my PTAdAdMobBridge.java
    package com.secrethq.ads;

    import java.lang.ref.WeakReference;

    import org.cocos2dx.lib.Cocos2dxActivity;

    import android.util.Log;
    import android.view.View;
    import android.widget.FrameLayout;
    import android.widget.LinearLayout;
    import android.widget.RelativeLayout;

    import com.google.android.gms.ads.*;

    public class PTAdAdMobBridge {
    private static final String TAG = "PTAdAdMobBridge";
    private static Cocos2dxActivity activity;
    private static WeakReference<Cocos2dxActivity> s_activity;
    private static AdView adView;
    private static InterstitialAd interstitial;
    private static LinearLayout layout;

    private static native String bannerId();
    private static native String interstitialId();
    private static native void interstitialDidFail();
    private static native void bannerDidFail();

    private static boolean isBannerScheduledForShow = false;
    private static boolean isInterstitialScheduledForShow = false;

    public static void initBridge(Cocos2dxActivity activity){
    Log.v(TAG, "PTAdAdMobBridge -- INIT");


    PTAdAdMobBridge.s_activity = new WeakReference<Cocos2dxActivity>(activity);
    PTAdAdMobBridge.activity = activity;

    MobileAds.initialize(PTAdAdMobBridge.activity, PTAdAdMobBridge.bannerId());

    PTAdAdMobBridge.initBanner();
    PTAdAdMobBridge.initInterstitial();

    }

    public static void initBanner(){
    Log.v(TAG, "PTAdAdMobBridge -- initBanner");
    PTAdAdMobBridge.s_activity.get().runOnUiThread( new Runnable() {
    public void run() {

    if(PTAdAdMobBridge.adView != null){
    return;
    }

    FrameLayout frameLayout = (FrameLayout)PTAdAdMobBridge.activity.findViewById(android.R.id.content);
    RelativeLayout layout = new RelativeLayout( PTAdAdMobBridge.activity );
    frameLayout.addView( layout );

    RelativeLayout.LayoutParams adViewParams = new RelativeLayout.LayoutParams(
    AdView.LayoutParams.WRAP_CONTENT,
    AdView.LayoutParams.WRAP_CONTENT);
    adViewParams.addRule(RelativeLayout.ALIGN_PARENT_BOTTOM);
    adViewParams.addRule(RelativeLayout.CENTER_IN_PARENT, RelativeLayout.TRUE);

    PTAdAdMobBridge.adView = new AdView( PTAdAdMobBridge.activity );
    PTAdAdMobBridge.adView.setAdSize(AdSize.SMART_BANNER);
    PTAdAdMobBridge.adView.setAdUnitId( PTAdAdMobBridge.bannerId() );

    layout.addView(PTAdAdMobBridge.adView, adViewParams);
    PTAdAdMobBridge.adView.setVisibility( View.INVISIBLE );

    AdRequest adRequest = getAdRequest();
    PTAdAdMobBridge.adView.loadAd( adRequest );
    }
    });

    }

    public static boolean isBannerVisible(){
    if(PTAdAdMobBridge.adView == null){
    return false;
    }
    else{
    if(PTAdAdMobBridge.adView.getVisibility() == View.VISIBLE){
    return true;
    }
    else{
    return false;
    }
    }
    }

    public static void initInterstitial(){
    Log.v(TAG, "PTAdAdMobBridge -- initInterstitial");
    PTAdAdMobBridge.s_activity.get().runOnUiThread( new Runnable() {
    public void run() {

    if(PTAdAdMobBridge.interstitial != null){
    return;
    }

    AdRequest adRequest = getAdRequest();

    PTAdAdMobBridge.interstitial = new InterstitialAd( PTAdAdMobBridge.activity );
    PTAdAdMobBridge.interstitial.setAdUnitId( PTAdAdMobBridge.interstitialId() );
    PTAdAdMobBridge.interstitial.setAdListener(new AdListener() {
    @Override
    public void onAdLoaded() {
    if(PTAdAdMobBridge.isInterstitialScheduledForShow){
    PTAdAdMobBridge.showFullScreen();
    }
    }

    @Override
    public void onAdClosed() {
    AdRequest adRequest = new AdRequest.Builder().build();
    PTAdAdMobBridge.interstitial.loadAd(adRequest);
    }

    @Override
    public void onAdFailedToLoad(int errorCode) {
    if ( !isInterstitialScheduledForShow )
    return;

    PTAdAdMobBridge.interstitialDidFail();
    }
    });

    PTAdAdMobBridge.interstitial.loadAd(adRequest);
    }
    });
    }



    public static void showFullScreen(){
    Log.v(TAG, "showFullScreen");

    isInterstitialScheduledForShow = true;

    if(PTAdAdMobBridge.interstitial != null){
    PTAdAdMobBridge.s_activity.get().runOnUiThread( new Runnable() {
    public void run() {
    if(PTAdAdMobBridge.interstitial.isLoaded()){
    PTAdAdMobBridge.interstitial.show();
    PTAdAdMobBridge.isInterstitialScheduledForShow = false;
    }
    else{
    PTAdAdMobBridge.isInterstitialScheduledForShow = true;
    }
    }
    });
    }
    }



    public static void showBannerAd(){
    Log.v(TAG, "showBannerAd");

    isBannerScheduledForShow = true;

    if(PTAdAdMobBridge.adView != null){
    PTAdAdMobBridge.s_activity.get().runOnUiThread( new Runnable() {
    public void run() {
    AdRequest adRequest = getAdRequest();

    PTAdAdMobBridge.adView.loadAd(adRequest);
    PTAdAdMobBridge.adView.setAdListener(new AdListener() {
    @Override
    public void onAdFailedToLoad(int errorCode) {
    if ( !isBannerScheduledForShow )
    return;

    Log.v(TAG, "Banner Ad Failed To Load");
    PTAdAdMobBridge.bannerDidFail();
    }

    @Override
    public void onAdLoaded() {
    Log.v(TAG, "Banner Ad Loaded");
    PTAdAdMobBridge.adView.setVisibility( isBannerScheduledForShow ? View.VISIBLE : View.INVISIBLE );
    }
    });
    PTAdAdMobBridge.adView.setVisibility( View.VISIBLE );
    }
    });
    }



    }

    public static void hideBannerAd(){
    Log.v(TAG, "hideBannerAd");

    isBannerScheduledForShow = false;

    if(PTAdAdMobBridge.adView != null){
    PTAdAdMobBridge.s_activity.get().runOnUiThread( new Runnable() {
    public void run() {
    PTAdAdMobBridge.adView.setVisibility( View.INVISIBLE );
    }
    });
    }
    }

    private static AdRequest getAdRequest(){
    // Create an ad request. Check your logcat output for the hashed device ID to
    // get test ads on a physical device. e.g.
    // "Use AdRequest.Builder.addTestDevice("ABCDEF012345") to get test ads on this device."
    AdRequest adRequest = new AdRequest.Builder()
    // uncomment to get test ads
    //.addTestDevice("YOUR_DEVICE_ID")
    .build();
    return adRequest;
    }

    }
     

Share This Page