С самим приложением, которое в качестве тестового я запихнул в маркет можете ознакомиться по ссылке https://play.google.com/store/apps/details?id=com.brucemax.boxintervals (процесс его публикации трудностей не составил, там оказалось всё прозаично).
В процессе гугления попалась мне статья на хабре с подробной инструкцией. Выполнив всё в точности как в вышеприведённом документе я наткнулся на первый "камешек". Коварная ошибка NullPointerExeption в элементе:
<com.google.ads.AdView
android:id="@+id/adView" android:layout_width="wrap_content" android:layout_height="wrap_content" ads:adSize="BANNER" ads:adUnitId="@string/admob_publisher_id" ads:loadAdOnCreate="true" />
Как говориться гугл в помощь. Выяснилось, что в этой версии библиотеки GoogleAdMobAdsSdk-6.2.1.jar проблемы при расположении элемента в файле разметки. Поэтому решением было вставлять вьюху программно в главном активити в методе onCreate():
AdView adView = new AdView(this, AdSize.BANNER, <здесь строка с вашим ID от admob>));
LinearLayout layout = (LinearLayout)findViewById(R.id.mainLayout);
layout.addView(adView);
adView.loadAd(new AdRequest());
Плюс надо отметить, что библиотеку я добавлял не тем способом, что описан в статье, а просто скопировал файл jar в корневую папку libs (об этом способе я прочёл, когда искал решение первой проблемы)
Ну вот собственно и всё. Реклама грузиться даже в симуляторе.
Кстати, чтобы избежать нерелевантных кликов при тестировании приложения на телефоне и в эмуляторе необходимо к объекту запроса применить следующие методы:
AdRequest request = new AdRequest();
request.addTestDevice(AdRequest.TEST_EMULATOR);
request.addTestDevice("E83D20734F72FB3108F104ABC0FFC738");
В первом случаем указан эмулятор, а во втором 32char Device ID (реальное устройство для тестирование), который можно получить при тестировании admob в логах (logcat).
И ещё полезная строчка кода, с помощью которой можно узнать на чём запущено приложение (эмулятор или устройство):
boolean isEmulator = "generic".equals(Build.BRAND.toLowerCase());

