19

MHとして。この質問で指摘されているように、Google Play Services が含まれている場合、Android プロジェクトに GoogleAdMobAdsSdk-xxxjar を含める必要はなくなりました (移行ガイドを参照してください)。しかし、したいのですが、困っています。

問題: google-play-services_lib プロジェクトにcom.google.ads.AdRequestは非推奨の定義が含まれており、プライベート コンストラクターがあります。AdMob jar の前のクラスパス (「Android Private Libraries」エントリ内) で終了するため、コードで使用しようとすると、非推奨のものを使用しようとすることになり、エラーが発生します: The constructor AdRequest() is not visible. 「Android Private Libraries」内のエントリを並べ替える方法がわかりません。

なぜ両方を使いたいのですか?Play Services と AdMob の両方を処理するためのユーティリティ クラスを含む、多くの有用なクラスを含む 1 つのライブラリ プロジェクトがあります。そのライブラリ プロジェクトを使用する私のアプリの一部は、AdMob ユーティリティ クラスを使用しますが、Play サービスは使用しません。

4

4 に答える 4

18

私はこれをテストしてきましたが、これを Google Play Services で機能させるには、いくつかの変更が必要です。

最初に、 old を参照するすべてのインポートを削除する必要があります。com.google.ads.*現在は にあるためcom.google.android.gms.ads.*です。

あなたが述べたように、さらにいくつかの変更を行う必要があります。

以前のように AdRequest をインスタンス化することはできませんが、次のように を使用しAdRequest.Builderます。

AdRequest adRequest = new AdRequest.Builder().build();

また、すべてのレイアウトでパッケージの名前を置き換えて、<com.google.android.gms.ads.AdView代わりに<com.google.ads.AdView.

それだけだと思います。幸運を!

于 2013-11-04T01:45:20.130 に答える
6

この問題について Google/Android の注目を集めたと思いますが、

https://code.google.com/p/android/issues/detail?id=63007

于 2013-11-29T12:06:18.057 に答える
6

AdMob の Google Play サービス移行の詳細については、https ://developers.google.com/mobile-ads-sdk/docs/admob/play-migration をご覧ください。

于 2013-11-05T19:58:33.123 に答える