如何在我的手机/应用上测试AdMob?

时间:2014-03-07 09:17:47

标签: android testing admob

我按照说明here,我正在使用14 API编译我的应用,我已经设置了发布商ID,一切都很好,除了:我无法在我的应用上测试广告,因为我找不到“adRequest”已过滤以查找我的设备ID,并且因为在模拟器上进行测试也不起作用。而且,更糟糕的是:我不确切地知道如何在我的应用活动中调用广告活动。我们走了:

我创建了一个名为“Money”的类:

import android.app.Activity;
import android.os.Bundle;
import android.widget.LinearLayout;
import com.google.android.gms.ads.AdRequest;
import com.google.android.gms.ads.AdSize;
import com.google.android.gms.ads.AdView;

/**
 * Created by EricsonWillians on 07/03/14.
 */
public class Money extends Activity {

    private AdView adView;
    private static final String AD_UNIT_ID = "My Publisher ID 9348923432342";

    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        adView = new AdView(this);
        adView.setAdSize(AdSize.BANNER);
        adView.setAdUnitId(AD_UNIT_ID);

        LinearLayout layout = (LinearLayout) findViewById(R.id.linearLayout);
        layout.addView(adView);

        AdRequest adRequest = new AdRequest.Builder()
                .addTestDevice(AdRequest.DEVICE_ID_EMULATOR)
                .addTestDevice("INSERT_YOUR_HASHED_DEVICE_ID_HERE")
                .build(); // Can't find the bloody "hashed device ID" even filtering the whole logcat (I'm using IntelliJ IDEA).

        // Start loading the ad in the background.
        adView.loadAd(adRequest);
    }

    @Override
    public void onResume() {
        super.onResume();
        if (adView != null) {
            adView.resume();
        }
    }

    @Override
    public void onPause() {
        if (adView != null) {
            adView.pause();
        }
        super.onPause();
    }

    /** Called before the activity is destroyed. */
    @Override
    public void onDestroy() {
        // Destroy the AdView.
        if (adView != null) {
            adView.destroy();
        }
        super.onDestroy();
    }
}

而且,为了让事情再次恶化,我已经改变了代码以尝试使用模拟器:

AdRequest adRequest = new AdRequest.Builder().build();
adRequest.addTestDevices(AdRequest.TEST_EMULATOR); // Does not work.

我从IDE得到“addTestDevices”方法和AdRequest.TEST_EMULATOR无法解析。

如何在该logcat上获取我的设备ID,以及如何在我的应用活动中调用此广告活动?

1 个答案:

答案 0 :(得分:3)

你应该在LogCat

中找到这样的一行
  

03-06 23:11:17.885:I / Ads(3919):使用   获取测试广告的AdRequest.Builder.addTestDevice(“XXXXXXXXXXXXXXXXX”)   在这台设备上。

     

03-06 23:11:17.920:我/广告(3919):开始广告请求。

如果您看不到这一点,我认为您可以通过这种方式获取设备的ID,然后尝试手动设置。

String android_id = Settings.Secure.getString(this.getContentResolver(), Settings.Secure.ANDROID_ID);
String deviceId = md5(android_id).toUpperCase();