リリースノート
Android向けモバイル広告SDKに次のアップデートが行われました。
- バージョン6.0.0(2020年6月26日)
- バージョン5.9.0(2018年7月10日)
- バージョン5.7(2016年5月4日更新)
- バージョン5.6(2015年6月8日更新)
- バージョン5.5(2015年5月4日更新)
- バージョン5.4(2014年12月22日更新)
- バージョン5.3(2014年5月7日更新)
- バージョン5.1(2014年4月3日更新)
- バージョン5.0(2013年5月31日更新)
- バージョン4.3(2013年5月28日更新)
- バージョン4.0(2013年3月6日更新)
バージョン6.0.0(2020年6月26日)
- IAB EU TCFv2のサポートが追加されました。
バージョン5.9.0(2018年7月10日)
- IAB EU TCFv1のサポートが追加されました。
- MoPubイベントアダプターのサポートが削除されました。
- 特定のリソースURLで広告を読み込むときにアプリが応答を停止するRegexMatcherの問題が修正されました。
- 動画広告をクリックするとアプリがクラッシュする問題が修正されました。
バージョン5.8.0(2017年12月12日)の変更点
バージョン5.8.2(2017年12月12日)の変更点
バナー広告が読み込まれていないという、Fireデバイスの欠陥が修正されました。
バージョン5.8.1.1(2016年9月29日)の変更点
ビデオ広告のクリエイティブの潜在的な例外が修正されました。
バージョン5.8.1(2016年8月9日)の変更点
singleTask起動モードでのインタースティシャル広告のサポートが追加されました。
場合によってはクラッシュを引き起こし、その際にView Tree Observerが終了するという問題が修正されました。
既知の問題とベストプラクティス
-
Amazon MobPubSDK AdapterがAmazon広告を返すことができなくなっていることが報告されています。
- 一部のSamsung 6.0.1デバイスで、com.amazon.device.ads.ViewabilityOverlapCalculator.findOverlapppingViews内のClassCastExceptionが発生することがあります。
- Google Play Service 9.8と10.1での互換性の問題が報告されています。
-
ASUS Transformer Prime TF201で表示される広告には、描画とクリック関連の問題が発生することがわかっています。
- Proguard難読化:
-
ProGuardを使用してアプリを難読化している場合は、ProGuardの構成に必ず、以下の行を追加してください。
-keep class com.google.android.gms.ads.identifier.AdvertisingIdClient
これを実行しない場合は、Google Play Servicesの広告IDにアプリがアクセスできなくなり、Google Playストアから拒否されることになります。
-
サードパーティのメディエーターSDKを利用してAmazon広告を読み込んでいる場合は、
android.support.v7
クラスを削除しないように注意してください。削除すると、メディエーターSDKがAmazon広告をリクエストできない場合があります。これらのクラスを削除する必要がある場合は必ず、削除が必要なクラスのみを削除し、それ以外は削除しないようにしてください。
-
- インタースティシャル広告は、Android 2.2以前を実行するデバイスでは承認されていません。
- 既知の問題により、広告の自動サイズ設定(Auto Ad Size)のエラーが
NO_FILL
エラーとして報告される場合があります。広告の自動サイズ設定セクションのガイドラインに正しく従ってバナー広告のレイアウトをセットアップすると、このエラーを回避できます。 AdLayout
が小さすぎるか、広告を読み込むデバイスに適していないサイズである場合は、「広告の自動サイズ設定」および「拡大なし自動サイズ設定」で広告が返されない可能性があります。「広告の自動サイズ設定」または「拡大なし自動サイズ設定」を、ほとんどの画面サイズで利用する場合は、AdLayout
の幅をMATCH_PARENT
に、AdLayout
の高さをWRAP_CONTENT
に設定することをお勧めします。AdLayout
をメモリ内で作成し、後から画面に移動する場合は、実際に移動を行うまでは親ビューに割り当てないでください。AdLayout
は、アクティビティのビュー階層に直接追加する必要があります。親ビューに追加した後で、その親ビューを階層に挿入しないでください。広告の読み込みが失敗するおそれがあります。実装例については、フローティング広告のサンプルを参照してください。- バナー広告をメモリ内に作成してから画面上にフロートさせると、特定のAndroid 4.0.xスマートフォン上で、まれに広告がトリミングされることがあります。この問題を避けるには、アプリのターゲットAPIレベルを13以下に設定してください。
-
バナー広告が適切なサイズに伸縮されない場合は、現在使用しているカスタマイズされたレイアウトが、スケーリングに必要な正しい寸法の
AdLayout
を提供できていない可能性があります。この問題を解決するには、広告を読み込む前に、正しい寸法をAdLayout
にハードコーディングします。たとえば、320x50の広告を読み込む場合は、広告を初めて読み込むコードのすぐ前に、myAdLayout.setLayoutParams(new LayoutParams(320, 50));
の行を追加することで、画面サイズやピクセル密度に関係なく、広告が適切に伸縮されます。 - 同じ
AdLayout
を使用してバナー広告の再読み込みが行われるときは、ユーザーの操作中にリッチメディア広告が折りたたまれないようにするために、リッチメディア広告の展開表示が無効になります。 - XMLドキュメントを使用してアプリのレイアウトを設定するときに、
AdLayout
の幅とAdLayout
の高さの両方にWRAP_CONTENT
を使用することは推奨されません。 -
アプリがAndroid 3.xデバイスをサポートしており、ユーザーによる変更が可能な
TextView
を含んでいる場合は、バナー広告が折りたたまれたときに予想外にキーボードが表示されることを防ぐために、AndroidManifest.xml
ファイル内の該当アプリのセクションに、android:windowSoftInputMode="stateHidden"
の行を追加することをお勧めします。 -
統合を行っている間は、ほとんどの広告リクエストが広告を返すようにするために、テスト有効化フラグを
true
に設定してください。テストリクエストは指標内に表示されませんが、これを使用することで、アプリ内のさまざまな広告タイプをテストできます。テストリクエストを有効にするには、引数がtrue
のenableTesting
関数を呼び出します。たとえば、次のようにします。AdRegistration.enableTesting(true);
AdLayout.setTimeout()
を通じて設定されるタイムアウト値は、Amazon広告サーバーから広告を取得する際のタイムアウトにのみ適用されます。広告の参照リソース(画像など)の読み込みにかかる時間は考慮されません。- アプリキーが無効な場合は、サーバーは広告を返しません。
AdListener.onAdFailedToLoad()
が呼び出され、エラーコードINTERNAL_ERROR
およびエラーメッセージ "Server Message: INVALID_APPID" が表示されます。 - Androidエミュレーターで、一部の広告の描画に問題が生じることがあります。また、エミュレーターではすべての機能が使用できるわけではありません。最良の結果を求める場合は、実際のAndroidデバイスで統合テストを行うことをお勧めします。
- Android 4.xデバイスでは、クリック済みの広告画像の周囲に青い枠線が表示される場合があります。
AdLayout
の親がパディングを適用すると、広告が大きすぎるサイズに拡大されます。パディングの適用が望ましい場合は、読み込み時にAdSize
でdisableScaling()
を実行してください。
バージョン5.7(2016年5月4日更新)
バージョン5.7.2(2016年5月4日)の変更点
- バナー広告用にオプションの「広告の読み込み/広告の表示」フローが作成されました。
- AdLayout.enableAutoShow APIが追加されました。
- AdLayout.disableAutoShow APIが追加されました。
- AdLayout.showAd APIが追加されました。
- 「広告の読み込み/バナー広告の表示」フローを表示するよう、バナー広告サンプルアプリが更新されました。
- 300×50のバナー広告サイズが削除されました。
- 広告を読み込む前にデバイスが最大で数秒間待機する現象を引き起こすレイテンシのバグが修正されました。
バージョン5.7.1.1(2016年3月25日)の変更点
- バナー広告およびインタースティシャル広告用のMoPub Adapterサンプルアプリが追加されました。
- 広告の位置の更新中にまれに発生する場合のある
NullPointerException
の問題が修正されました。
バージョン5.7.1(2016年2月29日)の変更点
- Android 1.6~2.2のサポートが削除されました。Amazonモバイル広告SDKは現在、Android 2.3以上をサポートしています。
- Amazon広告SDKは、MRAID 2.0認定を受けています。
- バナー
AdLayout
およびInterstitialAd
コンストラクターにContext
を渡すサポートが追加されました。以前は、これらのコンストラクターにはActivity
が必要でした。 - スケーリングを無効にするフラグが
AdSize
クラスに追加されました。これは、レイアウトにパディングを適用する際に役立ちます。 - まれに、広告の基盤となるWebViewが、アプリコンテキストではなく、
Activity
で構築されている場合に発生することのあるIllegalArgumentException
が修正されました。 - バナー広告が画面外に読み込まれた場合に不適切なスケーリングを引き起こす可能性のある問題が修正されました。
- ADTバージョン18以降を使用するAndroid Studioでの
AdLayout
の初期化中に軽微な「レイアウトプレビュー」クラッシュが発生するという問題が修正されました。 - 廃止された
HttpClient
APIにより表示されるProGuard警告メッセージが削除されました。 - XML経由で
AdLayout
を読み込んでから、Activity
ではなく、Fragmentにインフレートするときにまれにアプリがクラッシュするという問題が修正されました。 ApplicationPackageManager.getApplicationLabel
(ApplicationInfo情報)によるArrayIndexOutOfBoundsException
のスローの原因であるAndroidのバグを処理するメカニズムが追加されました。
バージョン5.6(2015年6月8日更新)
バージョン5.6.20(2015年6月10日)の変更点
DefaultAdListener
のonAdExpired()
メソッド実装によってInterstitialAd
またはModelessInterstitialAd
の有効期限が切れると、開発者が通知を受け取ることができるようになりました。- 広告の表示が試みられる前に、期限の切れた
InterstitialAd
の再読み込みを行うことが可能になりました。 - 開発者は、
InterstitialAd
またはModelessInterstitialAd
が、isReady()
の呼び出しで表示可能な状態かどうかを判断できるようになりました。 - 新しい広告サイズが追加されました。「拡大なし自動サイズ設定」は、通常の「広告の自動サイズ設定」プロセスと同じ基準を使用して広告を選択しますが、実際のデバイス非依存ピクセルサイズより広告を拡大することはありません。たとえば、320x50の広告は、そのコンテナが320x50より大きい場合でも、サイズ320x50で表示されます。詳細については、Android向けモバイル広告のコンセプトを参照してください。
- 自動構成の更新に関する問題が修正されました。
- AndroidStudioの互換性のサンプルアプリが更新されました。
バージョン5.5(2015年5月4日更新)
バージョン5.5.149(2015年5月4日)の変更点
- ユーザーがアプリを終了するか、広告の読み込み中にデバイスを回転させたときに発生する場合がある
NullPointerException
が修正されました。 - 位置情報対応の広告リクエストの機能が強化され、精度とセキュリティが向上する同時に、複数のマーケットプレイスに対応できるようになりました。
バージョン5.5.135(2015年4月23日)の変更点
- ブラウザを開くための広告クリックスルー機能が改善されました。
ModelessInterstitialAd
のドキュメントが更新されました。
バージョン5.5.102(2015年3月24日)の変更点
- モードレスインタースティシャル広告機能が追加されました。
- スワイプ可能なモードレスインタースティシャル広告サンプルアプリと、枠付きモードレスインタースティシャル広告サンプルアプリが追加されました。
- アクティビティ再開時のAdActivityの問題が修正されました。
- インタースティシャル広告で [戻る] ボタンを押すと、NullPointerExceptionが発生することがあるという問題が修正されました。
- 誤ったGoogle広告IDのログ記録の問題が修正されました。
- 展開可能な広告が画面外に展開されるという問題が修正されました。
- AdSize.toStringがnullを返すことがあるという問題が修正されました。
バージョン5.4(2014年12月22日更新)
バージョン5.4.235(2014年12月22日)の変更点
AdSize
にequals
オーバーライドメソッドが追加されました。
バージョン5.4.227(2014年11月18日)の変更点
- Android 4.0.xバージョンの透過広告に関する問題が修正されました。
バージョン5.4.192(2014年11月4日)の変更点
- デバイスまたはアプリの自動回転設定を無効にしてしまう広告に関する問題が修正されました。
- 単体の
AdLayout
オブジェクトが以前の広告読み込みを完了しないうちに新しい広告読み込みを開始してしまうという問題が修正されました。 - ネイティブの閉じるボタンを使用してインタースティシャル広告を閉じると競合が生じて広告が正常でない状態になることがあるという、まれな状態が修正されました。
- 開発者がProGuardを使用してアプリを難読化する際に、ProGuardファイルに
keepclassmembers
行を追加しないとMRAID広告がクリックできなくなる可能性があるという問題が修正されました。現在は、この行をProGuardファイルに追加する必要はありません。 - 1回の広告読み込み失敗に対して
onAdFailedToLoad
コールバックが複数回実行されてしまう場合があるという問題が修正されました。 - 読み込みタイムアウト機能に関連する複数の問題が修正されました。
- 特定デバイス上のアプリが、展開表示されたリッチメディア広告を最初に閉じることなく破棄しようとしたときにクラッシュする問題が修正されました。
- フローティング広告バナーの不正なlogcat警告が削除されました。
- 広告を破棄しようとしたときにスローされる
IllegalArgumentException
への対応が実装されました。 InterstitialAd
の作成中にNullPointerException
が発生することがあるという問題が修正されました。ClassCastException
を引き起こす可能性のある、広告固有の問題が修正されました。
バージョン5.4.146(2014年10月8日)の変更点
- アプリ内ブラウザで一部のインテントURLがリンク切れになるという問題が修正されました。
- バナー広告のサイズ変更時に実行されるonAdResized()コールバックを備えた新インターフェイス、ExtendedAdListenerが追加されました。
- 一部のデバイスがパフォーマンスレポートで "Other/Unknown" と分類される問題が修正されました。
- 親ビューがないために画面サイズに基づいて広告をスケーリングするときに開発者に通知を行うデバッグログメッセージが追加されました。
- Android 4.4デバイス上でインタースティシャル広告が低解像度の画像を表示する場合があるという問題が修正されました。
- ネットワーク呼び出し中にまれにスローされるIndexOutOfBoundsExceptionへの対応が実装されました。
- 以下のMRAID 1.0機能のサポートが追加されました。
- mraid.useCustomClose() - 独自の閉じるボタン画像を広告で使用できるようにします。
- mraid.close() - インタースティシャル広告を閉じます。
- mraid.isViewable() - 広告が現在表示されているかどうかを判定します。
- mraid.getPlacementType() - 広告が、インタースティシャル型とインライン配置型のどちらであるかを取得します。
- 以下のMRAID 2.0機能のサポートが追加されました。
- mraid.createCalendarEvent() - カレンダーにイベントを追加するよう、ユーザーに促します。
- mraid.getCurrentPosition() - 画面上の広告の現在のサイズと位置を取得します。
- mraid.getDefaultPosition() - 画面上の広告のデフォルトのサイズと位置を取得します。
- mraid.getMaxSize() - 広告の最大エクスパンドサイズを取得します。
- mraid.getScreenSize() - デバイス画面のサイズを取得します。
- mraid.storePicture() - 画像をギャラリーに保存するよう、ユーザーに促します。
- mraid.supports() - デバイスがどの機能をサポートしているかを判定します。
- mraid.resize() - 広告の非モーダルなサイズ変更を実行します。
バージョン5.4.78(2014年7月18日)の変更点
- Google Play開発者サービスの広告ID収集によってまれに引き起こされる
ArrayIndexOutOfBoundsException
が修正されました。 - Google Play開発者サービスの広告ID収集に関連する
NullPointerException
が解決されました。 - 以前は、開発者がProGuardでアプリを難読化または圧縮してGoogle Playで配信する際には、Google広告IDが正しく収集されるようにするために、アプリパッケージのProGuardファイルを更新して特定のクラスを維持する必要がありました。この更新は不要になっています。
バージョン5.4.46(2014年6月26日)の変更点
- Google Play開発者サービスの広告IDのサポートが追加されました。Googleのポリシーページに記載されている新しい要件により、古いバージョンのAmazonモバイル広告APIを使用しているアプリはすべて、最新のAPIにアップデートする必要があります。アップデートしないと、2014年8月1日以降はGoogle Playストアにアップロードできなくなります。上記に該当するアプリの開発者は、Google Play開発者サービスSDKを別途ダウンロードし、Google Play開発者サービスSDKセットアップ手順に従って、SDKのセットアップを行う必要があります。
- Android 4.4デバイスに存在していたスケーリングに関する問題が解決されました。
- アプリ内ブラウザのアクションバーに新しいボタンが追加されました。ユーザーがこのボタンを押すと、現在のウェブページを外部ブラウザで開くことができます。
AdLayout
を破棄した際にNullPointerException
が発生する競合状態が修正されました。- ある広告内のリンクをクリックすると、まれにクラッシュする場合があるという問題が修正されました。
- アプリからインターネットパーミッションが削除されたために、広告を読み込むとクラッシュする場合があるという問題が修正されました。
AdTargetingOptions.setFloorPrice()
に指定できるパラメーターが、int
型ではなく、long
型になりました。この更新に関して、開発者がコードの修正を行う必要はありません。Javaによって自動的にint
からのアップキャストが行われます。
バージョン5.3(2014年5月7日更新)
バージョン5.3.22(2014年5月7日)の変更点
InterstitialAd
がインスタンス化されてアクティビティのonCreate()
、onStart()
、onResume()
メソッドに読み込まれるときにデバイスを回転させるとメモリリークが発生する可能性があるという問題が修正されました。
バージョン5.3.17(2014年5月2日)の変更点
WebView
オブジェクトがUIスレッドの外部で破棄される問題が修正されました。この問題により、ターゲットAPIレベル18以上のアプリが、インターネット接続のないAndroid 4.3以降のデバイスで広告を読み込もうとしたときにクラッシュする場合がありました。
バージョン5.3.9(2014年4月24日)の互換性にかかわる重要な変更点
Amazonモバイル広告APIバージョン5.3には、修正されたAdListener
インターフェイスや新しいエラーコードなど、互換性に関わる重要な変更が含まれています。古いバージョンからこのバージョンにアップグレードする場合は、以下の点への対応が済むまでアプリをコンパイルできない可能性があります。
AdListener
のすべてのコールバックに、AdLayout
オブジェクトではなく、Ad
オブジェクトが引き渡されるようになりました。AdLayout
はAd
のインスタンスであることに注意してください。- 新しいコールバック、
onAdDismissed()
がAdListener
に追加されました。このコールバックは、ユーザーがインタースティシャル広告を離れた直後に実行されます。 - 新しいエラーコード
NETWORK_TIMEOUT
が追加されました。このエラーコードは、広告を取得する前に広告サーバーへの接続がタイムアウトしたときに返されます。以前は、この種のエラーはNETWORK_ERROR
に分類されていました。
バージョン5.3.9(2014年4月24日)のその他の変更点
- Amazonモバイル広告ネットワークで新たにインタースティシャル広告がサポートされました。オンラインドキュメントとJavadocには、既にこのような全ページ広告に関する記述が追加されています。これらの広告は、新たに導入された
InterstitialAd
オブジェクトによって表されます。 - 新しいインターフェイス、
Ad
が導入されました。Ad
は、AdLayout
とInterstitialAd
の両方に実装されます。 - 新しいクラス、
DefaultAdListener
が、AdListener
のデフォルト実装として追加されました。AdListener
を直接実装する代わりに、このクラスを拡張してカスタムリスナーを作成することをお勧めします。 - 一部の広告によって表示されるAmazonモバイル広告APIのアプリ内ブラウザのナビゲーションボタンが、大きく見やすいデザインに変更されました。
WifiManager
がまれにアプリをクラッシュさせるという問題が修正されました。WebView
のJavaScriptステートの設定によりまれに発生するクラッシュを解消するために広告描画ロジックが変更されました。- 広告がまれにクリックを検出できなくなる問題が修正されました。
- パラメーターを取らない
loadAd()
メソッドが追加されました。これまで、このメソッドに空のAdTargetingOptions
オブジェクトを渡していた場面では、今後はこのメソッドを使用することをお勧めします。 AdTargetingOptions.setGender()
が非推奨に変更されました。これは、この情報がターゲティング目的に使用されなくなったためです。- 新しいメソッド、
setFloorPrice()
がAdTargetingOptions
に追加されました。これにより、setAdvancedOption()
を使用せずに広告のフロアプライス(eCPM)を設定することができます。 - インタースティシャル広告のセットアップ方法を示す新しいサンプルアプリ、インタースティシャル広告のサンプルが追加されました。詳しくは、インタースティシャル広告のサンプルページを参照してください。
- シンプルな広告のサンプルとフローティング広告のサンプルアプリが、最近の変更に基づいて更新されました。
バージョン5.1(2014年4月3日更新)
バージョン5.1.242(2014年4月3日)の変更点
- 広告を読み込もうとしたときに発生する可能性のある
ConcurrentModificationException
が修正されました。
バージョン5.1.236(2014年3月24日)の変更点
- アプリが無効化されていることが原因で広告の読み込みが失敗した場合は広告の再読み込みを行うという、誤ったエラーメッセージが修正されました。
- インターネットパーミッションがない場合にクラッシュするという問題が修正されました。
- アクティビティが存在しない場合に広告をクリックするとアプリがクラッシュするという問題が修正されました。
バージョン5.1.153(2013年10月28日)の変更点
- キーが
null
または空の場合は、AdTargetingOptions.setAdvancedOption()
によりIllegalArgumentException
がスローされるようになりました。 - logcatに出力されることのある、廃止されたAPI警告「can't find referenced method
void setPluginsEnabled()
」が削除されました。詳しくは、Amazonモバイル広告のフォーラムを参照してください。 - 同一スレッド上に作成されないWebViewsとViewsによって引き起こされるスレッドの問題が修正されました。
- Android 1.6上のリッチメディア広告に関するランタイムエラー(ビットマップ描画コンストラクターがアプリを終了させるエラー)が修正されました。
- ProGuardの使用時に表示されることのある参照警告が削除されました。詳しくは、Amazonモバイル広告のフォーラムを参照してください。
- 破損した
WebView
の検出が改善されました。詳しくは、Amazonモバイル広告のフォーラムを参照してください。 NullPointerException
を引き起こすいくつかのユースケースへの対応が実装されました。ConcurrentModificationException
が発生するユースケースへの対応が実装されました。
バージョン5.1.40(2013年8月28日)の変更点
- ビューの高さをWRAP_CONTENTとして設定しているフローティング広告バナーが、一部のAndroid 4.0デバイスで正しく描画されない問題が解決されました。
AdRegistration
メソッドのregisterApp()
がContext
パラメーターを受け取るようになりました。- 広告を読み込もうとした際にlogcatに出力されていた、紛らわしい "could not find method" エラーメッセージが削除されました。
- Amazonモバイル広告APIが、Amazon Mobile App SDKダウンロードファイルの一部としてバンドルされました。
- リリースノートページが作成されました。以前は、Amazonモバイル広告APIのダウンロードファイルに含まれるREADMEファイルに更新情報が記載されていましたが、今後は、新しいリリースのたびにこのページが更新されます。
- Android 4.1とAndroid 4.2でエクスパンド型リッチメディア広告がサポートされました。
- 広告の自動サイズ設定が、メモリ内に作成してから画面に移動させるタイプの広告でも使用可能になりました。このような広告の例は、フローティング広告のサンプルで紹介されています。これらの広告のいずれかで、
AdLayout
の寸法がMATCH_PARENT
に設定されている場合は、広告の自動サイズ設定の計算に、アクティビティのルートビューの対応する寸法が使用されることに注意してください。 - 広告の自動サイズ設定機能をデフォルトで使用するようにサンプルアプリが更新されました。
- 広告の描画が、jar内にバンドルされたリソースファイルに依存しなくなりました。これにより、Unityなどのアプリ開発フレームワークと統合する際に、これらのリソースファイルをjarから抜き出す必要がなくなり、統合が容易になります。
- テスト広告と開発者向け事前チェックリストが更新され、新しいPinzonテストバナー広告が含められました。
- 一部の古いデバイスでフローティング広告バナーのスケーリングに一貫性がないという問題が修正されました。
- 広告が正常に読み込まれるために、メモリ内で画面外に作成されるAdLayoutのレイアウトパラメーターを事前に設定することが必要になりました。以前は、パラメーターが指定されていないために広告が正しくスケーリングされないことがありました。
バージョン5.0(2013年5月31日更新)
互換性にかかわる重要な変更点
Amazonモバイル広告APIバージョン5.0には、互換性にかかわる重要な変更点が数多く含まれています。古いバージョンからこのバージョンにアップグレードする場合は、以下の点への対応が済むまでアプリをコンパイルできない可能性があります。
AndroidManifest.xml
ファイルで、MraidBrowser
とVideoActionHandler
アクティビティ宣言を削除する必要があります。これらは1つのAdActivity
宣言に置き換えられました。この宣言は次のような形式になります。<activity android:name="com.amazon.device.ads.AdActivity" android:configChanges="keyboardHidden|orientation|screenSize"/>
AdRegistration
のsetAppKey(),
、enableLogging()
、enableTesting()
、getVersion()
メソッドは、Context
パラメーターを受け取らなくなりました。AdRegistration
メソッドregisterApp()
が、より汎用的なContext
パラメーターではなく、Activity
パラメーターを受け取るようになりました。AdSize
列挙型が、パッケージレベルのAdSize
クラスに置き換えられました。標準広告サイズを指定するには、事前に定義されたAdSize
フィールドのいずれかを、SIZE_WxH
という形式で使用する必要があります。そのため、以前にAdLayout.AdSize.AD_SIZE_320x50
をAdLayout
コンストラクターに渡して広告サイズを設定している場合などは、代わりにAdSize.SIZE_320x50
で渡す必要があります。レイアウトXMLを介してサイズを設定するプロセスには変更はありません。- カスタムサイズは使用できなくなりました。標準外のサイズを使用するには、幅と高さのパラメーター値を持つ新しい
AdSize
オブジェクトをインスタンス化し、そのインスタンスをAdLayout
に渡す必要があります。レイアウトXMLを介してサイズを設定する場合は、Amazon:adSize="WxH"
を使用して寸法を直接指定できます。 AdLayout
コンストラクターが、より汎用的なContext
パラメーターではなく、Activity
パラメーターを受け取るようになりました。- XMLインスタンス化を使用するときは、Amazonプレフィックスに、以下のような新しい名前空間を使用してください。
<xmlns:Amazon="http://schemas.android.com/apk/lib/com.amazon.device.ads"/>
これは、以前の
"res/<your.package.name/>"
で終わる名前空間に代わるものです。 amazon_ads_attr.xml
ファイルは不要になりました。このファイルをアプリから削除してください。
その他の変更点
- アプリの
R
クラスを難読化すると広告が読み込まれなくなるという問題が修正されました。現在のバージョンでは、R
クラスを難読化しても支障はありません。 Context
オブジェクトの残存に関係するメモリリークの問題が修正されました。- Unity、Adobe AIRなどの開発フレームワークとの統合時に、必要なリソースファイルが削除されないようにする方法が文書化されました。
- XMLインスタンス化レイアウトからのLogcatメッセージで、警告とエラーのどちらであるかが記録されるようになりました。
- デフォルトスタイルを受け入れるために、追加のレイアウトXML
AdLayout
コンストラクターが導入されました。
バージョン4.3(2013年5月28日更新)
変更点
- 必要なリソースファイルがAPKから削除されているときに開発者に警告する広告失敗メッセージが追加されました。
- 広告バナー用に、広告の自動サイズ設定機能が導入されました。今後は、アプリのXMLまたはJavaコード内での
AdLayout
の初期設定でAdSize
を指定しなかった場合は、広告のサイズが、AdLayout
のサイズとデバイスの画面サイズに基づいて自動的に選択されます。 - アプリのコンテキストのみを必要とする新しい
AdLayout
コンストラクターが追加されました。このAdLayout
内で読み込まれる広告のサイズには、広告の自動サイズ設定が適用されます。 - Amazonモバイル広告APIが難読化されないという問題が修正されました。
- 一方の寸法が
WRAP_CONTENT
に設定されているAdLayout
が、他方の寸法に基づいてサイズ変更されるように、広告のスケーリング動作が修正されました。 - 「結果なし」のエラーコードが、
INTERNAL_ERROR
からNO_FILL
に変更されました。 - MACアドレスが読み取れないときに発生することのある
NullPointerException
への対応が実装されました。 - 広告読み込みの障害になりうるSQLiteデータベースアクセスの競合が解決されました。
- パッケージパラメーターがリクエストURL内で二重エンコーディングされて広告が読み込まれなくなる問題が修正されました。
- リッチメディアバナーがトリミングされるという問題が解決されました。この問題は、Android 4.0デバイスで発生し、
AdLayout
の幅をMATCH_PARENT
に設定するという回避策が提示されていましたが、この回避策は不要になりました。
バージョン4.0(2013年3月6日更新)
変更点
- アプリのXMLファイルから広告サイズを読み取ることができないために広告が読み込まれないという問題が修正されました。
- PDF版の開発者ガイドが、オンライン版の開発者ガイドにリダイレクトされるショートカットに置き換えられました。このショートカットはウェブブラウザで開いてください。
- 単純化のためにすべてのエラーメッセージが見直されました。詳しくは、最新の開発者ガイドまたはJavadocを参照してください。
- Amazon Mobile App SDK Eclipseプラグインとの互換性が実現されました(注:本プラグインは現在廃止されています)。このEclipseプラグインを利用するには、モバイル広告のzipファイル(MobileAds.zip)を、Apps SDKのzipファイル(Apps-SDK.zip)と同じフォルダに展開する必要があります。
- 廃止された
AdRegistration
関数、setAppGUID()
とsetAppUniqueID()
が削除されました。代わりにsetAppKey()
を使用してください。 - 開発者ガイドのアトリビューションを更新するセクションにオープンソースアトリビューションのドキュメントの更新に関する記述が追加されました。