java - How to integrate Google Ads in Android application? -
i'm integrating google ads in android application. i'm implementing example of google ad mob, have getting example net. , have add external jar file of google-play-service_lib.jar , add element of
<activity android:name="com.google.ads.adactivity" android:configchanges="keyboard|keyboardhidden|orientation"/> </application> and when run app application crashes. i'm getting error this:
= 04-15 12:16:33.713: w/ads(545): invalid unknown request error: cannot determine request type. ad unit id correct? there problem getting ad response. errorcode: 1 failed load ad: 1 04-15 12:16:04.713: w/googleplayservicesutil(545): google play services missing.
here code.
the code of banneradlistener
public class banneradlistener extends activity { /** ad unit id*/ private static final string ad_unit_id = "insert_your_ad_unit_id_here"; /** log tag. */ private static final string log_tag = "banneradlistener"; /** view show ad. */ private adview adview; /** called when activity first created. */ @override public void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); setcontentview(r.layout.main); // create ad. adview = new adview(this); adview.setadsize(adsize.banner); adview.setadunitid(ad_unit_id); // set adlistener. adview.setadlistener(new adlistener() { /** called when ad clicked , return application. */ @override public void onadclosed() { log.d(log_tag, "onadclosed"); toast.maketext(banneradlistener.this, "onadclosed", toast.length_short).show(); } /** called when ad failed load. */ @override public void onadfailedtoload(int error) { string message = "onadfailedtoload: " + geterrorreason(error); log.d(log_tag, message); toast.maketext(banneradlistener.this, message, toast.length_short).show(); } /** * called when ad clicked , going start new activity * leave application (e.g. breaking out browser or maps * application). */ @override public void onadleftapplication() { log.d(log_tag, "onadleftapplication"); toast.maketext(banneradlistener.this, "onadleftapplication", toast.length_short).show(); } /** * called when activity created in front of app (e.g. * interstitial shown, or ad clicked , launches new activity). */ @override public void onadopened() { log.d(log_tag, "onadopened"); toast.maketext(banneradlistener.this, "onadopened", toast.length_short).show(); } /** called when ad loaded. */ @override public void onadloaded() { log.d(log_tag, "onadloaded"); toast.maketext(banneradlistener.this, "onadloaded", toast.length_short).show(); } }); // add adview view hierarchy. linearlayout layout = (linearlayout) findviewbyid(r.id.linearlayout); layout.addview(adview); // create ad request. check logcat output hashed device id // test ads on physical device. adrequest adrequest = new adrequest.builder() .addtestdevice(adrequest.device_id_emulator) .addtestdevice("insert_your_hashed_device_id_here") .build(); // start loading ad in background. adview.loadad(adrequest); } @override public void onresume() { super.onresume(); if (adview != null) { adview.resume(); } } @override public void onpause() { if (adview != null) { adview.pause(); } super.onpause(); } /** called before activity destroyed. */ @override public void ondestroy() { if (adview != null) { // destroy adview. adview.destroy(); } super.ondestroy(); } /** gets string error reason error code. */ private string geterrorreason(int errorcode) { string errorreason = ""; switch(errorcode) { case adrequest.error_code_internal_error: errorreason = "internal error"; break; case adrequest.error_code_invalid_request: errorreason = "invalid request"; break; case adrequest.error_code_network_error: errorreason = "network error"; break; case adrequest.error_code_no_fill: errorreason = "no fill"; break; } return errorreason; } } here manifest file
<?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.google.example.gms.ads.banneradlistener" android:versioncode="1" android:versionname="1.0"> <uses-sdk android:minsdkversion="9" android:targetsdkversion="18" /> <uses-permission android:name="android.permission.access_network_state"/> <uses-permission android:name="android.permission.internet"/> <application android:icon="@drawable/icon" android:label="@string/app_name"> <activity android:name=".banneradlistener" android:label="@string/app_name"> <intent-filter> <action android:name="android.intent.action.main" /> <category android:name="android.intent.category.launcher" /> </intent-filter> </activity> <activity android:name="com.google.android.gms.ads.adactivity" android:configchanges="keyboard|keyboardhidden|orientation|screenlayout|uimode|screensize|smallestscreensize"/> <meta-data android:name="com.google.android.gms.version" android:value="@integer/google_play_services_version" /> </application> </manifest> and log cat information here.
04-15 12:16:04.473: d/dalvikvm(545): dexopt: couldn't find field landroid/content/res/configuration;.smallestscreenwidthdp 04-15 12:16:04.502: w/dalvikvm(545): vfy: unable resolve instance field 21 04-15 12:16:04.503: d/dalvikvm(545): vfy: replacing opcode 0x52 @ 0x0012 04-15 12:16:04.503: d/dalvikvm(545): vfy: dead code 0x0014-0018 in lcom/google/android/gms/common/googleplayservicesutil;.b (landroid/content/res/resources;)z 04-15 12:16:04.534: e/dalvikvm(545): not find class 'android.support.v4.app.fragmentactivity', referenced method com.google.android.gms.common.googleplayservicesutil.showerrordialogfragment 04-15 12:16:04.534: w/dalvikvm(545): vfy: unable resolve instanceof 132 (landroid/support/v4/app/fragmentactivity;) in lcom/google/android/gms/common/googleplayservicesutil; 04-15 12:16:04.543: d/dalvikvm(545): vfy: replacing opcode 0x20 @ 0x0008 04-15 12:16:04.563: e/dalvikvm(545): not find class 'android.support.v4.app.fragmentactivity', referenced method com.google.android.gms.common.googleplayservicesutil.showerrordialogfragment 04-15 12:16:04.563: w/dalvikvm(545): vfy: unable resolve check-cast 132 (landroid/support/v4/app/fragmentactivity;) in lcom/google/android/gms/common/googleplayservicesutil; 04-15 12:16:04.563: d/dalvikvm(545): vfy: replacing opcode 0x1f @ 0x000c 04-15 12:16:04.563: i/dalvikvm(545): not find method android.app.activity.getfragmentmanager, referenced method com.google.android.gms.common.googleplayservicesutil.showerrordialogfragment 04-15 12:16:04.563: w/dalvikvm(545): vfy: unable resolve virtual method 9: landroid/app/activity;.getfragmentmanager ()landroid/app/fragmentmanager; 04-15 12:16:04.563: d/dalvikvm(545): vfy: replacing opcode 0x6e @ 0x0023 04-15 12:16:04.563: d/dalvikvm(545): vfy: dead code 0x000e-001c in lcom/google/android/gms/common/googleplayservicesutil;.showerrordialogfragment (ilandroid/app/activity;ilandroid/content/dialoginterface$oncancellistener;)z 04-15 12:16:04.563: d/dalvikvm(545): vfy: dead code 0x0026-0030 in lcom/google/android/gms/common/googleplayservicesutil;.showerrordialogfragment (ilandroid/app/activity;ilandroid/content/dialoginterface$oncancellistener;)z 04-15 12:16:04.713: w/googleplayservicesutil(545): google play services missing. 04-15 12:16:05.428: i/dalvikvm(545): total arena pages jit: 11 04-15 12:16:05.428: i/dalvikvm(545): total arena pages jit: 12 04-15 12:16:05.562: d/dalvikvm(545): dexopt: --- begin 'ads-1292075482.jar' (bootstrap=0) --- 04-15 12:16:07.143: d/dalvikvm(545): dexopt: --- end 'ads-1292075482.jar' (success) --- 04-15 12:16:07.165: d/dalvikvm(545): dex prep '/data/data/com.google.example.gms.ads.banneradlistener/cache/ads-1292075482.jar': unzip in 14ms, rewrite 1622ms 04-15 12:16:07.655: i/ads(545): use adrequest.builder.addtestdevice("b3eeabb8ee11c2be770b684d95219ecb") test ads on device. 04-15 12:16:07.674: i/ads(545): starting ad request. 04-15 12:16:18.945: w/googleplayservicesutil(545): google play services missing. 04-15 12:16:18.980: e/googleplayservicesutil(545): googleplayservices not available due error 1 04-15 12:16:21.044: d/dalvikvm(545): gc_external_alloc freed 343k, 49% free 2925k/5703k, external 2032k/2137k, paused 171ms 04-15 12:16:21.044: d/webviewglue(545): nativedestroy view: 0x36ab88 04-15 12:16:33.713: w/ads(545): invalid unknown request error: cannot determine request type. ad unit id correct? 04-15 12:16:33.763: w/ads(545): there problem getting ad response. errorcode: 1 04-15 12:16:33.763: w/ads(545): failed load ad: 1 04-15 12:16:33.763: d/banneradlistener(545): onadfailedtoload: invalid request
you need provide your adunitid.
private static final string ad_unit_id = "insert_your_ad_unit_id_here"; is not valid adunitid. go admob dashboard , adunitid , plug code above.
Comments
Post a Comment