2012-04-10 2 views
0

Я создаю приложение для Android, в котором я хочу показывать рекламу, однако я не могу заставить ее работать правильно.Реклама в приложении для Android работает неправильно

Когда я пытаюсь добавить configChanges к AndroidManifest.xml, я получаю следующее сообщение об ошибке, которая, вероятно, будет проблема ...

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

Это мой файл AndroidManifest.xml ...

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

И это моя активность, что я использую, чтобы добавить объявление в мое приложение ...

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

Обратите внимание, что метод onClick(AdsButton) в Activity не связан с AdView, предоставляемым Google.

+0

См. Ответ http://stackoverflow.com/questions/7902121/admob-cant-display-ads-because-of-configchanges – Tomik

ответ

0

Для ошибки android:configChanges, он жалуется, потому что ваше приложение имеет minSdkVerion="3", но некоторые из значений в configChanges линии не не существует до тех пор, SDK 13, такие как screenSize|smallestScreenSize.

Обратитесь к http://developer.android.com/reference/android/R.attr.html#configChanges, который говорит, что Эти значения должны быть синхронизированы с теми, в ActivityInfo и включают в себя// ResourceTypes.h утилиты

Если это не решает проблему, не могли бы вы сказать нам, что точно не работает. Например, вы получаете какие-либо Исключения или ошибки?

+0

Проблема не в minSdkVersion (она должна быть как минимум на уровне 3), но (требуется компиляция по крайней мере для Android 3.2). – Tomik

+0

Спасибо за это, это кажется более логичным, я не взял его, потому что он не был указан в AndroidManifest.xml, заданном в вопросе :-) – wattostudios

+0

Большое спасибо! Больше ошибок, но объявления не отображаются? Я запустил приложение на своем телефоне 3 раза палочку ждал 3 минуты каждый раз. Это просто, что на данный момент/ситуации нет рекламы, или я делаю что-то неправильно? Я еще не добавил свой идентификатор издателя. – user1183066

Смежные вопросы