I am making an Android app within which I wish to display ads, however I can't get it to work correctly.
When I try to add the configChanges
to the AndroidManifest.xml
, I get the following error, which is likely to be the problem...
error: Error: String types not allowed (at 'configChanges' with value 'keyboard|keyboardHidden|orientation|screenLayout|uiMode|screenSize|smallestScreenSize').
This is my AndroidManifest.xml file...
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.mysoftwaremobileapps.ParachuteHunterLite"
android:versionCode="1"
android:versionName="1.0" >
<uses-sdk android:minSdkVersion="3" />
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
<application
android:icon="@drawable/ic_launcher"
android:label="@string/app_name" >
<activity
android:label="@string/app_name"
android:name=".ParachutehunterActivity" android:screenOrientation="portrait" android:configChanges="orientation">
<intent-filter >
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity android:label="@string/app_name" android:name=".GameScreenActivity" android:screenOrientation="portrait" android:configChanges="orientation"></activity>
<activity android:name=".playerLostMessageActivity" android:label="@string/app_name" android:screenOrientation="portrait" android:configChanges="orientation"></activity>
<activity android:name="com.mysoftwaremobileapps.ParachuteHunterLite.SubmitScoreActivity" android:label="@string/app_name" android:screenOrientation="portrait" android:configChanges="orientation"></activity>
<activity android:configChanges="keyboard|keyboardHidden|orientation" android:label="@string/app_name" android:name=".AdActivity" android:screenOrientation="portrait"></activity>
<activity android:name="com.google.ads.AdActivity" android:configChanges="keyboard|keyboardHidden|orientation|screenLayout|uiMode|screenSize|smallestScreenSize"/>
</application>
</manifest>
And this is my Activity that i'm using to add the ads to my app...
package com.mysoftwaremobileapps.ParachuteHunterLite;
import android.app.Activity;
import android.content.Intent;
import android.net.Uri;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.LinearLayout;
import android.widget.LinearLayout.LayoutParams;
import com.google.ads.AdRequest;
import com.google.ads.AdSize;
import com.google.ads.AdView;
public class AdActivity extends Activity implements OnClickListener{
//Called when the activity is first created
Button AdsButton;
public String value;
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.adscreen);
AdsButton = (Button)findViewById(R.id.AdsButton);
AdsButton.setOnClickListener(this);
AdView myAdView = new AdView(this, AdSize.BANNER, "Your Publish ID");
//get layoutView
LinearLayout rootView = (LinearLayout)this.findViewById(R.id.MainLayout3);
LinearLayout.LayoutParams layoutParams = new LayoutParams(320, 50);
rootView.addView(myAdView, 0, layoutParams);
AdRequest re = new AdRequest();
re.setGender(AdRequest.Gender.UNKNOWN);
//re.setTestDevices(testDevices);
//re.setTesting(testing)
myAdView.loadAd(re);
}
public void onClick(View src) {
switch(src.getId()) {
case R.id.AdsButton:
Uri ParachuteHunterPurchaseSite = Uri.parse("https://play.google.com/store/apps/details?id=com.mysoftwaremobileapps.ParachuteHunter&feature=search_result#?t=W251bGwsMSwyLDEsImNvbS5teXNvZnR3YXJlbW9iaWxlYXBwcy5QYXJhY2h1dGVIdW50ZXIiXQ..");
Intent launchParachuteHunterPurchaseSite = new Intent(Intent.ACTION_VIEW, ParachuteHunterPurchaseSite);
startActivity(launchParachuteHunterPurchaseSite);
break;
}
}
}
Please note that the onClick(AdsButton)
method in the Activity
is not related to the AdView
provided by Google.
For the android:configChanges
error, is it complaining because your application has a minSdkVerion="3"
but some of the values in your configChanges
line do not exist until SDK 13, such as screenSize|smallestScreenSize
.
Refer to http://developer.android.com/reference/android/R.attr.html#configChanges which says that These values must be kept in sync with those in ActivityInfo and include/utils/ResourceTypes.h
If this doesn't solve the problem, could you please tell us what exactly isn't working. For example, are you getting any Exceptions or errors?