Reputation: 3084
Hi I'm working on a phonegap application for android. I'm having trouble integrating the admob script since it doesn't show any ads. I think I have all the permissions in the manifest:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="eu.mauriziopz.disegna"
android:versionCode="1"
android:versionName="1.0" >
<supports-screens
android:largeScreens="true"
android:normalScreens="true"
android:smallScreens="true"
android:resizeable="true"
android:anyDensity="true"
/>
<uses-permission android:name="android.permission.CAMERA" />
<uses-permission android:name="android.permission.VIBRATE" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_LOCATION_EXTRA_COMMANDS" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.RECEIVE_SMS" />
<uses-permission android:name="android.permission.RECORD_AUDIO" />
<uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" />
<uses-permission android:name="android.permission.READ_CONTACTS" />
<uses-permission android:name="android.permission.WRITE_CONTACTS" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> <uses-permission android:name="android.permission.GET_ACCOUNTS" />
<uses-sdk android:minSdkVersion="7" />
<application
android:icon="@drawable/ic_launcher"
android:label="@string/app_name" >
<activity
android:name=".DisegnaActivity"
android:label="@string/app_name" android:configChanges="keyboardHidden|orientation|screenLayout">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
</manifest>
This is my test page, which doesn't work
<!DOCTYPE HTML>
<html>
<head>
<title>PhoneGap</title>
<script type="text/javascript" charset="utf-8" src="phonegap-1.3.0.js"></script>
<script type="text/javascript">
var admob_vars = {
pubid: 'MY_ID', // publisher id
test: true, // test mode, set to false if non-test mode
manual_mode: true
};
</script>
<script type="text/javascript" src="http://mmv.admob.com/static/iphone/iadmob.js"></script>
<script type="text/javascript" charset="utf-8">
// Wait for PhoneGap to load
//
document.addEventListener("deviceready", onDeviceReady, false);
// PhoneGap is ready
//
function onDeviceReady() {
var a = _admob.fetchAd(document.getElementById('admob_ad'));
}
</script>
</head>
<body>
<div id="container">
Test
<div id='admob_ad'></div>
</div>
</body>
</html>
I Tried both in manual mode and not, but never was able to get it working. Any ideas? Thanks
Upvotes: 2
Views: 934
Reputation: 434
@MaurizioPz: You need to add an activity in the android manifest file for Admob as follows:
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity android:name="com.google.ads.AdActivity" android:configChanges="keyboard|keyboardHidden|orientation|screenLayout|uiMode|screenSize|smallestScreenSize" />
</application>
Also make sure you are using the latest Admob SDK.
Upvotes: 0
Reputation: 672
I'm not an expert on this, but i think you have to execute your var a.
function onDeviceReady() {
var a = _admob.fetchAd(document.getElementById('admob_ad'));
//trigger the var
a;
}
and add body onLoad to execute
<body onLoad="onDeviceReady()">
It's working here, like this:
<body onLoad="doIt()">
<div id="admob_ad"></div>
<script type="text/javascript">
function doIt() {
_admob.fetchAd(document.getElementById('admob_ad'));
//document.addEventListener("deviceready", onDeviceReady, false);
}
</script>
Upvotes: 2