web-dev-qa-db-ja.com

AdRequest.Builderをタイプに解決できません

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"/>
11
Nazerke

あなたのコードは 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"
34
itvdonsk

これを試して..

AdRequest adRequest = new AdRequest();   
AdView adView = (AdView)this.findViewById(R.id.adView);           
adView.loadAd(adRequest);

注:

  1. 必要なlibraryprojectに、permissionsmanifestに含めていることを確認してください。

  2. また、xmlに正しいad-mobidを指定したかどうかも確認してください。

編集:

テストデバイスを追加するには、

adRequest.addTestDevice(AdRequest.TEST_EMULATOR);  //for emulators
adRequest.addTestDevice("device_id");              //for real device, enter device id
4
Hariharan

おそらく、Eclipsのライブラリ参照バグが発生しています。これは、次の開発者ページの手順でこのタイプのエラーを返します。

プロジェクトのプロパティに移動し、Androidタブをクリックします。 enter image description here

Redcrossマークが存在するかどうかを確認します。

はいの場合、あなたは確かにそれに遭遇しています。

Eclipseは、既存のプロジェクト(google-play-services-lib)をインポートするときに、特にプロジェクトをインポートしてからプロジェクトをワークスペースに自動的に「コピー」できるようにすると、奇妙なことをします。

これを解決するには

  1. ワークスペースからすべてのgoogle-play-servicesプロジェクトを消去します。
  2. Eclipseを閉じます。
  3. Google-play-services-libフォルダー(.... sdk\extras\google\google_play_services\libproject\google-play-services_lib)をワークスペースに手動でコピーします。
  4. Eclipseを開く

ここで、代わりにLibrary From your workspace as existing projectを追加します

....sdk\extras\google\google_play_services\libproject\google-play-services_lib

最後に、以前と同じように、プロジェクトプロパティからプロジェクト参照ライブラリを追加します。

開発者ページの指示は、この単一のバグがなくても完全に完璧であることを忘れないでください。だから、ページが言うように他のすべての指示に従ってください。

0
S.Ahsan