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 스레드에서 I/O를 수행하지 않습니다.BidderTokenProvider.getBidderToken()
을 수시로 호출할 수 있고 시작 시 입찰자 토큰이 미리 연산됩니다. 따라서 SDK를 초기화한 후 이전 버전보다 빠르게 입찰자 토큰을 얻을 수 있어서 지연 이슈를 방지할 수 있습니다.isInitialized
)가 AudienceNetworkAds
에 추가되었습니다. 따라서 퍼블리셔는 이중 초기화를 피할 수 있습니다.getAdsProcessName
)가 AudienceNetworkAds
에 추가되었습니다(5.1에 도입된 isInAdsProcess
와 동일). 앱 프로세스에 대한 제어 권한을 높이고 싶은 퍼블리셔는 광고 SDK에서 파생된 프로세스를 필터링하는 데 이를 사용할 수 있습니다.NativeAdViewAttributes
생성자에 컨텍스트 개체가 필요합니다.AdOptionsView
에서 광고 보고서 아이콘을 숨기는 옵션이 추가되었습니다.MediaView
(네이티브 광고)의 동영상에 흐릿한 배경이 추가되었습니다.Fatal Exception: android.util.AndroidRuntimeException: android.content.pm.PackageManager$NameNotFoundException: com.google.android.webview
Android 버그를 완화했습니다.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
예외를 수정했습니다.