Quantcast
Viewing all articles
Browse latest Browse all 941

Problem with loading Interstitial Ad

hi, I work on android studio and I've tried to add ads to a basic processing code application. But, I haven't succeeded with that. How can I show an Interstitial ad in processing class which is a fragment in the main activity? Here's my code that I'm working on:

package com.example.processingexample;

import com.google.android.gms.ads.AdListener;
import com.google.android.gms.ads.AdRequest;
import com.google.android.gms.ads.InterstitialAd;

import processing.core.PApplet;
import android.app.Activity;
import android.content.Context;
import android.os.Vibrator;
import android.content.SharedPreferences;
import android.preference.PreferenceManager;

public class Sketch extends PApplet {
    public float a=100, b=100;
    public float n=2;
    Activity act;
    SharedPreferences sharedPreferences;
            SharedPreferences.Editor editor;
            boolean adLoaded=false;
            InterstitialAd mInterstitialAd;

        public void settings() {fullScreen(); }

        public void setup() {
            act=getActivity();
            sharedPreferences=PreferenceManager.getDefaultSharedPreferences(act.getApplicationContext());
            editor=sharedPreferences.edit();

            mInterstitialAd=newInterstitialAd();
            loadInterstitial();

            n=sharedPreferences.getFloat("n", 2);


        }

        public void draw() {
            background(51);

            translate(width/2,height/2);
            noFill();
            stroke(255);

            beginShape();
            for(float angle=0; angle<TWO_PI; angle+=0.1) {
                float na=2/n;
                float x=5*pow(abs(cos(angle)),na)*a*sgn(cos(angle));
                float y=5*pow(abs(sin(angle)),na)*a*sgn(sin(angle));
                vertex(x,y);
            }
            endShape(CLOSE);

            if (mousePressed) {
                Vibrator viber=(Vibrator) act.getSystemService(Context.VIBRATOR_SERVICE);
                viber.vibrate(100);
            editor.putFloat("n", n).commit();
            if (mouseX>0) {
                n = map(mouseX, 0, width, PI / 50, 5);
            } if (mouseX<width/5) {
                    println("loading");
                }
        }
            if (adLoaded) {
                showInterstitial();
            }
    }

    public void mousePressed() {

    }

    public float sgn(float a){
        if(a>0)
            return 1;
        else if(a<0)
            return -1;
        else
            return 0;
    }

    private InterstitialAd newInterstitialAd() {
        InterstitialAd interstitialAd = new InterstitialAd(act.getApplicationContext());
        interstitialAd.setAdUnitId(getString(R.string.interstitial_ad_unit_id));
        interstitialAd.setAdListener(new AdListener() {
            @Override
            public void onAdLoaded() {
                adLoaded=true;
            }

            @Override
            public void onAdFailedToLoad(int errorCode) {
                adLoaded=true;
            }

            @Override
            public void onAdClosed() {
                adLoaded=false;
                mInterstitialAd = newInterstitialAd();
                loadInterstitial();
            }
        });
        return interstitialAd;
    }

    private void showInterstitial() {
        // Show the ad if it's ready. Otherwise toast and reload the ad.
        if (mInterstitialAd != null && mInterstitialAd.isLoaded()) {
            mInterstitialAd.show();
        }
    }

    private void loadInterstitial() {
        // Disable the next level button and load the ad
        AdRequest adRequest = new AdRequest.Builder()
                .setRequestAgent("android_studio:ad_template").build();
       // System.out.println(adRequest);
        if (mInterstitialAd!=null && adRequest!=null)
         mInterstitialAd.loadAd(adRequest);
    }
}

When I run the application on my phone, it crashes and give me lot of errors:

java.lang.RuntimeException: Can't create handler inside thread that has not called Looper.prepare()
                                                                                 at android.os.Handler.<init>(Handler.java:200)
                                                                                 at android.os.Handler.<init>(Handler.java:114)
                                                                                 at com.google.android.gms.ads.internal.prefetch.b.<init>(:com.google.android.gms.DynamiteModulesA:37)
                                                                                 at com.google.android.gms.ads.internal.prefetch.b.<init>(:com.google.android.gms.DynamiteModulesA:31)
                                                                                 at com.google.android.gms.ads.internal.c.<init>(:com.google.android.gms.DynamiteModulesA:106)
                                                                                 at com.google.android.gms.ads.internal.c.<init>(:com.google.android.gms.DynamiteModulesA:92)
                                                                                 at com.google.android.gms.ads.internal.g.<init>(:com.google.android.gms.DynamiteModulesA:55)
                                                                                 at com.google.android.gms.ads.internal.ad.<init>(:com.google.android.gms.DynamiteModulesA:132)
                                                                                 at com.google.android.gms.ads.ChimeraAdManagerCreatorImpl.newAdManagerByType(:com.google.android.gms.DynamiteModulesA:77)
                                                                                 at com.google.android.gms.ads.internal.client.al.onTransact(:com.google.android.gms.DynamiteModulesA:91)
                                                                                 at android.os.Binder.transact(Binder.java:387)
                                                                                 at com.google.android.gms.ads.internal.client.am.newAdManagerByType(:com.google.android.gms:170)
                                                                                 at com.google.android.gms.ads.AdManagerCreatorImpl.newAdManagerByType(:com.google.android.gms:90)
                                                                                 at com.google.android.gms.ads.internal.client.al.onTransact(:com.google.android.gms:91)
                                                                                 at android.os.Binder.transact(Binder.java:387)
                                                                                 at com.google.android.gms.ads.internal.client.zzv$zza$zza.zza(Unknown Source)
                                                                                 at com.google.android.gms.ads.internal.client.zze.zza(Unknown Source)
                                                                                 at com.google.android.gms.ads.internal.client.zzl$3.zzim(Unknown Source)
                                                                                 at com.google.android.gms.ads.internal.client.zzl$3.zzin(Unknown Source)
                                                                                 at com.google.android.gms.ads.internal.client.zzl.zza(Unknown Source)
                                                                                 at com.google.android.gms.ads.internal.client.zzl.zzb(Unknown Source)
                                                                                 at com.google.android.gms.ads.internal.client.zzaf.zzam(Unknown Source)
                                                                                 at com.google.android.gms.ads.internal.client.zzaf.zza(Unknown Source)
                                                                                 at com.google.android.gms.ads.InterstitialAd.loadAd(Unknown Source)
                                                                                 at com.example.processingexample.Sketch.loadInterstitial(Sketch.java:119)
                                                                                 at com.example.processingexample.Sketch.setup(Sketch.java:31)
                                                                                 at processing.core.PApplet.handleDraw(PApplet.java:2122)
                                                                                 at processing.core.PGraphicsAndroid2D.requestDraw(PGraphicsAndroid2D.java:172)
                                                                                 at processing.core.PApplet.run(PApplet.java:2013)
                                                                                 at java.lang.Thread.run(Thread.java:818)

Viewing all articles
Browse latest Browse all 941

Trending Articles