설명 : - Google의 최신 가이드 라인에 따라 내 앱을 'Google Play 서비스'SDK와 통합합니다. 이전에는 독립형 admob SDK와 통합되었습니다.Google Play 서비스 : 광고로드 문제
문제 : - 중 하나가 표시되면 배너 및 전체 광고가 제대로 표시됩니다. 그러나 둘 다 표시해야 할 때 예기치 않은 결과가 나타납니다.
예기치 않은 결과가 있습니까? 예, 배너 만로드되고 일부는 전체 광고 만 표시됩니다. 둘 다 보여지는 것은 매우 드뭅니다.
FIX : - 1. 나는 배너와 삽입 광고 사이에 약간의 지연을주고 조금 더 나은 결과를 얻었습니다. 그러나 여전히 결과는 대부분 예측할 수 없습니다.
- 전체 광고에는 비동기 작업을 사용했습니다. Background()에서 2 초의 지연을 주었고 PostExecute()에서 광고를로드했습니다. 훨씬 더 나은 결과를 제공합니다. 그러나 여전히 10 회 시도 중 7 회만 광고가 게재됩니다. 배너 또는 전체 중 3 번 중 나머지는로드되지 않습니다.
은 다음 주요 활동
package com.example.adtest_new;
import android.app.Activity;
import android.content.Context;
import android.os.AsyncTask;
import android.os.Bundle;
import android.widget.Toast;
import com.google.android.gms.ads.AdListener;
import com.google.android.gms.ads.AdRequest;
import com.google.android.gms.ads.AdView;
import com.google.android.gms.ads.InterstitialAd;
public class MainActivity extends Activity
{
Context myCont=null;
private InterstitialAd interstitial = null;
AdRequest adr;
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
//Get the view from activity_main.xml
setContentView(R.layout.activity_main);
myCont = this;
//--------------BANNER AD----------------------------------
//Locate the Banner Ad in activity_main.xml
AdView adView = (AdView) this.findViewById(R.id.adView);
// Request for Ads
AdRequest adRequest = new AdRequest.Builder().build();
// Load ads into Banner Ads
adView.loadAd(adRequest);
//--------------BANNER AD----------------------------------
//Fix-1 (Did not work)
try{Thread.sleep(2*1000);}catch(Exception e){}
//Fix-2 (Did not work)
//Called Asynch task here(put delay of 2 seconds in background() and loaded full ad in postexecute())
//--------------FULL AD----------------------------------
//Prepare the Interstitial Ad
interstitial = new InterstitialAd(MainActivity.this);
//Insert the Ad Unit ID
interstitial.setAdUnitId("ca-app-pub-465697675827xxxx/xxxxxxxxxx");
adr = new AdRequest.Builder().build();
//Load ads into Interstitial Ads
//Prepare an Interstitial Ad Listener
interstitial.setAdListener(new AdListener()
{
public void onAdLoaded()
{
//System.out.println("!!! Full Ad loaded !!!");
Toast.makeText(myCont, "!!! Full Ad loaded !!!", Toast.LENGTH_SHORT).show();
//Call displayInterstitial() function
displayInterstitial();
}
});
interstitial.loadAd(adr);
//--------------FULL AD----------------------------------
}
public void displayInterstitial() {
// If Ads are loaded, show Interstitial else show nothing.
if (interstitial.isLoaded())
{
interstitial.show();
}
}
}
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/openedWindows"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="#ffffff"
android:orientation="vertical" >
<TextView
android:id="@+id/completePath"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="left"
android:layout_marginTop="0dp"
android:layout_marginLeft="3dp"
android:text="/mnt/sdcard"
android:textColor="#ff2d8df1"
android:textSize="16dip"
android:textStyle="bold"
android:typeface="sans"/>
<View
android:id="@+id/bar0"
android:layout_width="fill_parent"
android:layout_height="1dp"
android:layout_marginTop="0dp"
android:background="#ffb2cb39"
android:layout_marginBottom="0dp"/>
<View
android:id="@+id/bar1"
android:layout_width="fill_parent"
android:layout_height="1dp"
android:layout_marginTop="0dp"
android:background="#ffb2cb39"
android:layout_marginBottom="1dp"/>
<RelativeLayout
android:id="@+id/temp"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@android:color/transparent"
android:layout_marginTop="5dp"
android:layout_marginBottom="5dp"
android:orientation="vertical">
<Button
android:id="@+id/selectAll"
android:layout_width="wrap_content"
android:layout_height="25dp"
android:layout_gravity="left"
android:layout_marginBottom="1dp"
android:layout_marginLeft="15dp"
android:layout_alignParentLeft="true"
android:background="@drawable/button_green"
android:textSize="15dip"
android:text="BUTTON1"
android:paddingLeft="10px"
android:paddingRight="10px"
android:textColor="#ffffff"
android:textStyle="bold" />
<Button
android:id="@+id/selectBtn"
android:layout_width="wrap_content"
android:layout_height="25dp"
android:layout_marginRight="15dp"
android:layout_marginBottom="1dp"
android:layout_alignParentRight="true"
android:background="@drawable/button_green"
android:textSize="15dip"
android:text="BUTTON2"
android:paddingLeft="10px"
android:paddingRight="10px"
android:textColor="#ffffff"
android:textStyle="bold" />
</RelativeLayout>
<View
android:layout_width="fill_parent"
android:layout_height="1dp"
android:layout_above="@+id/tableRow2"
android:background="#444444"
android:layout_marginBottom="0dp"/>
<TableRow
android:id="@+id/tableRow2"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<com.google.android.gms.ads.AdView
xmlns:ads="http://schemas.android.com/apk/res-auto"
android:id="@+id/adView"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
ads:adSize="BANNER"
ads:adUnitId="ca-app-pub-465697675827xxxx/xxxxxxxxxx"
/>
</TableRow>
</LinearLayout>
매니페스트
activity_main.xml의 코드
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.adtest_new"
android:versionCode="1"
android:versionName="1.0" >
<uses-sdk
android:minSdkVersion="9"
android:targetSdkVersion="21" />
<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<activity
android:name=".MainActivity"
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>
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
</manifest>
이 문제를 해결하는 방법을 알려주세요. ?? 독립형 admob SDK는 두 가지 광고 유형 모두에서 올바르게 작동합니다.