2014-03-07 26 views
0

我跟着指示here,我编译我的应用程序的API 14中,我已经建立的发布者ID,并且一切都很好,除了:我不能在我的应用程序测试的广告,因为我无法找到该“adRequest”过滤器来查找我的设备ID,并且因为在模拟器上进行测试也无法正常工作。而且,让事情变得更糟:我完全不知道如何在我的应用活动中调用广告活动。在这里,我们去:如何在我的手机/应用上测试AdMob?

我已经创建了一个名为“金钱”类:

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. 

我从了“addTestDevices”方法和AdRequest.TEST_EMULATOR不能得到解决的IDE得到。

我怎样才能对我的logcat中的设备ID,我怎么能叫这个广告活动在我的应用程序的活动?

回答

3

你会发现这样一行在LogCat

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

03-06 23:11:17.920:I /广告(3919):启动广告请求。

如果你看不到这个,我想这样你可以得到你的设备的ID,所以尝试手动设置它。

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

所有这一切都假设您为'AD_UNIT_ID'设置了正确的值,因为'我的发布者ID 9348923432342'不是有效值。 – nKn

+0

我在原始文件中设置了正确的值。我在logcat上找不到消息,所以我尝试了你的方法,并且“md5”无法解析(IDE没有找到它,它的颜色是红色的)。 –

+0

使用可以使用这个例子来实现'md5()'方法:http://stackoverflow.com/questions/3934331/android-how-to-encrypt-a-string – nKn

相关问题