AdMobをアプリに組み込んでいます。開発者ページの手順に従いました。ただし、AdRequest.Builder()には赤で下線が引かれ、次のように表示されます。
AdRequestをタイプに解決できません
そして
AdRequest.Builderをタイプに解決できません。
何が問題なのですか?
import com.google.ads.AdRequest;
import com.google.ads.AdView;
public class FireRoomActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_fire_room);
// Look up the AdView as a resource and load a request.
AdView adView = (AdView)this.findViewById(R.id.adView);
AdRequest adRequest = new AdRequest.Builder().build();
adView.loadAd(adRequest);
}
Xmlで私はadmobをそのように示しました:
<com.google.Android.gms.ads.AdView Android:id="@+id/adView"
Android:layout_width="wrap_content"
Android:layout_height="wrap_content"
ads:adUnitId="bla bla"
ads:adSize="BANNER"/>
あなたのコードは Admob SDK(Google Play) と Android(6.4.1以前のSDK) の組み合わせです
使用する
import com.google.Android.gms.ads.AdRequest;
import com.google.Android.gms.ads.AdView;
AdRequest adRequest = new AdRequest.Builder().build();
そして
<com.google.Android.gms.ads.AdView Android:id="@+id/adView"
Android:layout_width="wrap_content"
Android:layout_height="wrap_content"
ads:adUnitId="bla bla"
ads:adSize="BANNER"/>
admob SDK(Google Play)を使用している場合
または使用する
import com.google.ads.AdRequest;
import com.google.ads.AdView;
AdRequest adRequest = new AdRequest();
そして
<com.google.ads.AdView Android:id="@+id/adView"
Android:layout_width="wrap_content"
Android:layout_height="wrap_content"
ads:adUnitId="bla bla"
ads:adSize="BANNER"/>
初期のSDKを使用する場合
Admob SDK(Google Play)の場合、名前空間を変更することを忘れないでください
xmlns:ads="http://schemas.Android.com/apk/res-auto"
これを試して..
AdRequest adRequest = new AdRequest();
AdView adView = (AdView)this.findViewById(R.id.adView);
adView.loadAd(adRequest);
注:
必要なlibrary
をproject
に、permissionsをmanifest
に含めていることを確認してください。
また、xmlに正しいad-mob
idを指定したかどうかも確認してください。
編集:
テストデバイスを追加するには、
adRequest.addTestDevice(AdRequest.TEST_EMULATOR); //for emulators
adRequest.addTestDevice("device_id"); //for real device, enter device id
おそらく、Eclips
のライブラリ参照バグが発生しています。これは、次の開発者ページの手順でこのタイプのエラーを返します。
プロジェクトのプロパティに移動し、Androidタブをクリックします。
Red
crossマークが存在するかどうかを確認します。
はいの場合、あなたは確かにそれに遭遇しています。
Eclipseは、既存のプロジェクト(google-play-services-lib)をインポートするときに、特にプロジェクトをインポートしてからプロジェクトをワークスペースに自動的に「コピー」できるようにすると、奇妙なことをします。
- ワークスペースからすべてのgoogle-play-servicesプロジェクトを消去します。
- Eclipseを閉じます。
- Google-play-services-libフォルダー(.... sdk\extras\google\google_play_services\libproject\google-play-services_lib)をワークスペースに手動でコピーします。
- Eclipseを開く
ここで、代わりにLibrary From your workspace as existing project
を追加します
....sdk\extras\google\google_play_services\libproject\google-play-services_lib
最後に、以前と同じように、プロジェクトプロパティからプロジェクト参照ライブラリを追加します。
開発者ページの指示は、この単一のバグがなくても完全に完璧であることを忘れないでください。だから、ページが言うように他のすべての指示に従ってください。