android - 如何在我的手机/应用程序上测试 AdMob?

标签 android testing admob

我按照说明操作 here ,我在 14 API 中编译我的应用程序,我已经设置了一个发布者 ID,一切都很好,除了:我的设备 ID,因为在模拟器上的测试也不起作用。而且,更糟糕的是:我不知道如何在我的应用程序 Activity 中调用广告 Activity 。我们开始吧:

我创建了一个名为“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,以及如何在我的应用 Activity 中调用此广告 Activity ?

最佳答案

您应该在您的 LogCat 中找到这样一行:

03-06 23:11:17.885: I/Ads(3919): Use AdRequest.Builder.addTestDevice("XXXXXXXXXXXXXXXXX") to get test ads on this device.

03-06 23:11:17.920: I/Ads(3919): Starting ad request.

如果您看不到这个,我认为您可以通过这种方式获取设备的 ID,因此请尝试手动设置它。

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

关于android - 如何在我的手机/应用程序上测试 AdMob?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22245962/

相关文章:

perl - 为什么我对 CGI 程序的 Perl 单元测试所有测试都失败了?

c# - Entity Framework Core InMemory 数据库测试在并行运行时会中断

android - 缺少必需的 XML 属性 "adSize"

android - 如何将 AdMob 添加到 Android 中的 ViewClass

ios - 将 Admob 横幅广告移动到导航 Controller 中嵌入的 tableView 的底部 (Swift 3)

android - 如何防止我的 Kotlin 应用程序屏幕旋转?

reactjs - 我的 react 组件工作正常,但 Jest 测试失败

android - 如何使用微信sdk选择发送给哪个联系人

android - 线程之间的数据库冲突

android - Xamarin Forms,ScrollView ScrollToAsync 速度