2012-04-10 17 views
0

Ich mache eine Android-App, in der ich Anzeigen anzeigen möchte, aber ich kann es nicht richtig funktionieren.Anzeigen in Android App funktioniert nicht richtig

Wenn ich versuche, die configChanges zum AndroidManifest.xml hinzuzufügen, ich die folgenden Fehlermeldung erhalten, die das Problem wahrscheinlich ist ...

error: Error: String types not allowed (at 'configChanges' with value 'keyboard|keyboardHidden|orientation|screenLayout|uiMode|screenSize|smallestScreenSize'). 

Das ist meine AndroidManifest.xml Datei ...

<?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> 

Und das ist meine Tätigkeit, die ich verwende die Anzeigen zu meiner App hinzufügen ...

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; 
    } 
} 
} 

Bitte beachten Sie, dass die onClick(AdsButton) Methode in der Activity nicht mit der AdView von Google zur Verfügung gestellt wird.

+0

Siehe für die Antwort http://stackoverflow.com/questions/7902121/admob-cant-display-ads-because-of-configchanges – Tomik

Antwort

0

Für die android:configChanges Fehler ist es beschwert, weil Ihre Anwendung ein minSdkVerion="3" hat aber einige der Werte in Ihrer configChanges Linie nicht existieren, bis SDK 13, wie screenSize|smallestScreenSize.

-http://developer.android.com/reference/android/R.attr.html#configChanges Siehe die besagt, dass Diese Werte synchron mit den in ActivityInfo und include/utils/ResourceTypes.h

gehalten werden müssen, wenn dies das Problem nicht lösen, könnten Sie uns bitte sagen, was genau funktioniert nicht. Zum Beispiel, erhalten Sie irgendwelche Ausnahmen oder Fehler?

+0

Das Problem ist nicht minSdkVersion (es muss mindestens Level 3 sein), aber die Build Target (benötigt Kompilation gegen mindestens Android 3.2). – Tomik

+0

Danke dafür, das scheint logischer, ich hatte es nicht aufgegriffen, weil es nicht in der AndroidManifest.xml in der Frage angegeben wurde :-) – wattostudios

+0

Vielen Dank! Keine Fehler mehr, aber keine Werbung? Ich habe app auf meinem Handy 3 mal runed Zauberstab jedes Mal 3 Minuten gewartet. Ist es nur, dass keine Anzeigen für den Moment/die Situation verfügbar sind oder mache ich etwas falsch? Ich habe meine Publisher-ID noch nicht hinzugefügt. – user1183066

Verwandte Themen