こんなのでてますよね.



今日から配布開始されてるようです. 5.0.88 が.

困っていた人も多いはず.
NullPointerException caused by AdActivity. - Google グループ
しかし, 「GPS (Google Play Service)」って呼び方,
まぎらわしいなあ.
こんなのでてますよね.



今日から配布開始されてるようです. 5.0.88 が.

困っていた人も多いはず.
NullPointerException caused by AdActivity. - Google グループ
しかし, 「GPS (Google Play Service)」って呼び方,
まぎらわしいなあ.
今,確認してみると Admob のロゴが変わっていたりしますが.

同時に, 新しく提供を開始したという「マガジンスタイル」な広告.
どうやら以下のような表示になるらしい.

サイト運営者様によって、ご自身のウェブサイトのデザインに合った広告表示の設定を選択されているかと思います。マガジン スタイル広告は、従来のテキスト広告よりもイメージ広告に近いクリエイティブのため、ディスプレイ広告のみに設定している場合でも、サイトのデザインに合った広告を表示することができます。また、テキスト広告のみしか出稿していない広告主様の広告も入札に参加させることができるため、サイトに掲載される広告の競争率が高まり、クリック単価の増加につながる可能性が高まります。
従来の, 味気なかった「テキスト広告」が自動的に変換されるという.
Android で Admob 利用のアプリ開発者にはメールがきてるはず.

8/1 にサービス終了するという古い Admob SDK ライブラリの件っぽい.
Android 向け Google AdMob SDK(単体版)のサポート終了について
Play ストアでは、単体版の Google AdMob SDK を利用する新規アプリやアップデートされたアプリの受付を 2014 年 8 月 1 日をもって終了いたします。この単体版の SDK は広告 ID をサポートしていないため、この日以降は Google Play 広告ポリシーに準拠したものではなくなります。
で, 「新しい Admob の実装をしなさい」という話のよう.
そのときの利点は以下であると書いてある.
端末識別子を全面的にサポート
Google の iOS や Google Play 向けのサービス SDK で、Android 広告 ID などの匿名の端末識別子が全面的にサポートされるようになりました。こうした識別子が使えるようになることで、マーケティング担当者は価値の高いユーザー に的確にアプローチして接点を持つことが可能となり、開発者は eCPM や広告掲載率の向上によって収益性を高めることができます。
シームレスな自動アップデート(Android)
このたび Google Mobile Ads SDK が Google Play サービスに完全に統合されました。これにより、アプリで AdMob のマイナー アップデートとパフォーマンスの改善が自動化されるようになり、APK のアップデートや Play ストアへの再送信が不要になります。
けどまあ, 利点がなくても 8/1 には変更実装しなければならないということなので実際にやってみよう, と.
Google が指定するリファレンスページは以下.
Downloads - Google Mobile Ads SDK — Google Developers
スタート ガイド - Google Mobile Ads SDK — Google Developers
Google Play 開発者サービスへの移行 - Google Mobile Ads SDK — Google Developers
ざっと見て変更項目は3つっぽい.
1. ライブラリ参照先の変更
2. AndroidManifest.xml の変更
3. ソースコードの変更
とりま, やってみた.
さあ、そんな広告を実装しようと思いました。

とりあえず、ぐぐろうとします。
頭悪いので、そこでまず悩みます。
「Google」なのか「Admob」なのか
「インタースティシャル」なのか「インターステイシャル」なのか
「interstatial」なのか「interstitial」なのか
「GooglePlaySDK(gms)」同梱なのか、別SDKなのか。
とりあえず、こんなこまかいことは Google検索に考えてもらうとして
これら単語をやみくもに入力、検索して実装説明方法を探します。
それらしいのがみつかりました。
import com.google.android.gms.ads.doubleclick.*;
public class InterstitialExample extends Activity {
private PublisherInterstitialAd interstitial;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
// Create the interstitial.
interstitial = new PublisherInterstitialAd(this);
interstitial.setAdUnitId(MY_AD_UNIT_ID);
// Create ad request.
PublisherAdRequest adRequest = new PublisherAdRequest.Builder().build();
// Begin loading your interstitial.
interstitial.loadAd(adRequest);
}
// Invoke displayInterstitial() when you are ready to display an interstitial.
public void displayInterstitial() {
if (interstitial.isLoaded()) {
interstitial.show();
}
}
}
DoubleClick for Publishers (DFP) Interstitial Ads - Google Mobile Ads SDK — Google Developers
が、動きません。Admobの上位の「DFP」なるしくみのようです。
で次。
import com.google.ads.*;
public class BannerExample extends Activity {
private InterstitialAd interstitial;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
// インタースティシャルを作成する
interstitial = new InterstitialAd(this, MY_INTERSTITIAL_UNIT_ID);
// 広告リクエストを作成する
AdRequest adRequest = new AdRequest();
// インタースティシャルの読み込みを開始する
interstitial.loadAd(adRequest);
}
}
Google AdMob Ads Android(上級) - Google Mobile Ads SDK — Google Developers
これもダメです。
最新の「GooglePlay SDK(gms)」の実装ではなく、古いAdmobSDKの実装方法のようです。
で、次。
Froyo を捨てて、Google Play Services を使う。

機能はまともに動いているようなのだが、こんなログ。
W/ResourceType﹕ getEntry failing because entryIndex 133 is beyond type entryCount 3
W/ResourceType﹕ Failure getting entry for 0x7f0a000d (t=10 e=13) in package 0 (error -213483947)
E/GooglePlayServicesUtil﹕ The Google Play services resources were not found. Check your project configuration to ensure that the resources are included.
気持ちが悪いので、調べる。
だいぶ盛り上がっているようでしたが、どれも該当しないハマりコース。

android - LogCat message: The Google Play services resources were not found. Check your project configuration to ensure that the resources are included - Stack Overflow
これ、結局、開発環境のみでのエラー出力だったりします。