Android用Meta Audience Network SDKの更新履歴とリリースノート。
要対応: Audience Networkで収益化を続けるには、AndroidアプリをSDK 6.5にアップデートしてください
Audience Networkの利用と収益化を続けるには、AndroidアプリをAudience SDK 6.5以降にアップデートする必要があります。古いバージョンのAudience Network SDKは、Android 12以降(APIレベル31以降)をターゲットとするアプリと互換性がないため、これらのデバイスのアプリでは正常に機能しません。
IllegalStateException
を修正/apex/com.android.art/lib64/libart.so (art::OatHeader::IsDebuggable() const+124)
を修正。java.lang.IllegalStateException: Software rendering doesn't support hardware bitmaps
を修正。pc 00000000000830f0 /apex/com.android.runtime/lib64/bionic/libc.so (abort+160)
のクラッシュを引き起こしていたAndroid OSの不具合を軽減。ClassNotFoundException when unmarshalling
のクラッシュを修正。すべての広告フォーマットについて新しいフレキシブルAPIを公開。これにより、広告の読み込みと表示のカスタムパラメーターすべてを、ビルダーオブジェクトを使って指定できるようになります。ビルダーオブジェクトはAd.buildLoadConfig()
メソッドの呼び出しにより取得できます。しばらくは旧APIもサポートされますが、いずれ削除される予定です。
IntersitialAd ad = new InterstitialAd(Context, String); ad.loadAd(ad.buildLoadConfig() // LoadConfigBuilder .withBid(String) .withListener(AdListener) .withCacheFlags(CacheFlags) .build()); // builds LoadConfig
パフォーマンス向上のためにネットワークとキャッシュのロジックを変更しました。
ミックスオーディエンスのラベルのフラグがisChildDirected
からMixedAudience
に変更されました。ミックスオーディエンスとCOPPAについてはこちらをご覧ください。
withPreloadedIconView
。ネイティブ広告のアイコンアセットの事前キャッシュ(任意機能)を利用可能にします。幅と高さを指定する必要があります。NativeAdBase .buildLoadAdConfig() // NativeAdBase.LoadAdConfigBuilder .withBidPayload(String) .withCacheFlags(MediaCacheFlags) .withPreloadedIconView(int w, int h) .loadAd();
loadAd()
リクエストを発行する。または、すでに画面上に広告がある場合に広告オブジェクトに対して2次showAd()
リクエストを発行する。NativeBannerAd
で、ImageView
がMediaView
と交換可能になりましたNativeBannerAd
でのImageView
ネイティブバナー広告をImageView
で作成できるようになりました。これを可能にするため、新しいメソッド(下記参照)がいくつか追加されました。MediaView
の使用も引き続きサポートされます。
class NativeBannerAd { /** * Registers the given view as the container and the required ImageView as the Icon display * for this NativeBannerAd to handle impressions and clicks. * ImageView must be within the view passed as the container for this NativeBannerAd. * Applies a click handler to the entire unit. * @param view the View containing this NativeBannerAd for display * @param iconView ImageView to display Icon for this NativeBannerAd * * @since 5.4 */ public void registerViewForInteraction(View view, ImageView iconView); /** * Registers the given view as the container and the required ImageView as the Icon display * for this NativeBannerAd to handle impressions and clicks. * ImageView must be within the view passed as the container for this NativeBannerAd. * Applies a click handler to the entire unit. * @param view the View containing this NativeBannerAd for display * @param iconView ImageView to display Icon for this NativeBannerAd * @param clickableViews a list of all view elements that should handle taps on this unit * * @since 5.4 */ public void registerViewForInteraction( View view, ImageView iconView, @Nullable final List<View> clickableViews); }
当社のAndroid SDKで、ダウンロードした広告を保管するために新しいキャッシュが使用されるようになりました。この新しいキャッシュでは信頼性が向上しているので、キャッシュエラーの数が削減されるはずです。
KotlinでMeta Audience Network SDKを使うサンプルアプリが提供されています。
ExoplayerはSDKに依存しなくなりました。
RecyclerView
で全画面表示の場合に、閉じるアイコンが予期されるよりも大きい。NativeBannerAd
のUIスレッドで入出力を実行しなくなりました。BidderTokenProvider.getBidderToken()
を頻繁に呼び出せるようになりました。入札者トークンは始動時に事前計算されるので、いったんSDKが初期化されると、旧バージョンよりも迅速に入札者トークンを入手できるようになり、遅延の問題を回避できます。AudienceNetworkAds
内の新しいメソッド(isInitialized
)。これによりアプリで、SDKが初期化されているかどうかをテストできます。パブリッシャーはこのメソッドを使って二重の初期化を回避できます。AudienceNetworkAds
内の新しいメソッド(getAdsProcessName
)。これによりアプリは、現在のプロセスが内部SDKプロセスかどうかをチェックできます(5.1で導入されたisInAdsProcess
と同じ)。アプリプロセスに対するコントロール範囲を拡大したいパブリッシャーは、このメソッドを使って、広告SDKによって生成されるプロセスをフィルター処理できます。NativeAdViewAttributes
コンストラクタにContextオブジェクトが必要になりました。AdOptionsView
から非表示にするオプションを追加。MediaView
での動画にぼかし背景を追加(ネイティブ広告)。Fatal Exception: android.util.AndroidRuntimeException: android.content.pm.PackageManager$NameNotFoundException: com.google.android.webview
を緩和。Error: java.lang.RuntimeException: java.lang.Throwable: A WebView method was called on thread 'JavaBridge'. All WebView methods must be called on the same thread.
例外を修正。AdOptionsView
で、柔軟性が大きく向上しました。Error: java.lang.RuntimeException: Unable to pause activity {com.your.app/com.facebook.ads.AudienceNetworkActivity}: java.lang.NullPointerException
を修正。java.lang.NoSuchMethodError: android.view.ViewTreeObserver.removeOnGlobalLayoutListener
例外を修正。java.lang.IllegalStateException: The specified child already has a parent
例外を修正。