수동 초기화
수동 SDK 초기화 프로세스가 변경되었습니다. 이제 앱을 초기화할 때 MobileAds.initialize()
메서드에 콜백을 전달해야 합니다.
MobileAds.initialize(this ) {
}
MobileAds.initialize(this , () -> {
});
배너
AdSize
클래스 이름을 BannerAdSize
로 변경했습니다. fixedSize(int width, int height)
, flexibleSize(int width, int maxHeight)
및 stickySize(int width)
메서드를 제거했습니다.
광고 유형에 따라 메서드를 사용하세요.
적응형 스티키 배너를 생성하려면 BannerAdSize.stickySize(Context context, int width)
메서드를 사용하세요.
앱 화면의 상단 또는 하단에 배치되어 자동으로 업데이트되는 작은 광고입니다.
주요 앱 콘텐츠와 겹치지 않으며 게임 앱에서 자주 사용됩니다.
스티키 배너의 높이는 자동으로 결정되며, 장치의 화면 크기에 맞춰 조정되고 화면 높이의 15%를 초과하지 않습니다.
Важно
버전 6.0.0에서는 적응형 스티키 배너에 대한 자동 새로 고침 지원이 추가되었습니다.
이전에 스티키 배너에 대한 자동 새로 고침을 구현한 경우, 비활성화하세요.
적응형 인라인 배너를 생성하려면 BannerAdSize.inlineSize(Context context, int width, int maxHeight)
메서드를 사용하세요.
적응형 인라인 배너는 장치에서 광고 크기를 최적화하여 최대 효율을 제공하는 유연한 배너 광고 형식입니다.
배너 높이는 자동으로 조정되며, 장치 화면의 높이까지 도달할 수 있습니다.
일반적으로 해당 형식은 피드 기반 앱이나 광고에 주로 집중해도 되는 상황에서 사용됩니다.
이전 버전과의 호환성을 위해 fixedSize(Context context, int width, int height)
메서드를 fixedSize(int width, int height)
대신 추가했지만, 사용을 권장하지는 않습니다. 대신 inlineSize(Context context, int width, int maxHeight)
또는 stickySize(Context context, int width)
를 사용하세요. SDK 6.0.0에서는 광고 요청이 전송되기 전에 배너의 높이가 자동으로 계산되어 알려집니다. 이 높이를 화면 레이아웃에 사용할 수 있습니다.
보상형 광고
광고 생성 및 로드 접근 방식이 변경되었습니다. 이제 광고를 로드하는 RewardedAdLoader
로더 객체와 RewardedAdLoadListener
의 로더 콜백 메서드에서 가져온 RewardedAd
광고 객체를 제공합니다.
새로운 API에 대한 자세한 내용은 SDK 참조 를 참조하세요.
광고 로드
SDK 5
광고 로드 및 렌더링을 위한 단일 객체:
val rewardedAd = RewardedAd(this @Activity ).apply {
setAdUnitId("your-ad-unit-id" )
setAdEventListener(this )
loadAd(adRequest)
}
final RewardedAd rewardedAd = new RewardedAd (this );
rewardedAd.setAdUnitId("your-ad-unit-id" );
rewardedAd.setAdEventListener(this );
rewardedAd.loadAd(adRequest);
SDK 6
여러 광고를 로드하기 위한 RewardedAdLoader
: 광고를 로드하기 위해 Activity 컨텍스트를 전달할 필요가 없습니다.
onAdLoaded(rewardedAd: RewardedAd)
메서드를 호출하여 광고가 로드되면, 표시가 완료되기 전에 로드된 RewardedAd
에 대한 링크를 저장하세요.
val loader = RewardedAdLoader(context).apply {
setAdLoadListener(object : RewardedAdLoadListener {
override fun onAdLoaded (rewardedAd: RewardedAd ) {
}
override fun onAdFailedToLoad (adRequestError: AdRequestError ) {}
})
}
loader.loadAd(AdRequestConfiguration.Builder("your-ad-unit-id" ).build())
final RewardedAdLoader loader = new RewardedAdLoader (this );
loader.setAdLoadListener(new RewardedAdLoadListener () {
@Override
public void onAdLoaded (@NonNull RewardedAd rewardedAd) {
}
@Override
public void onAdFailedToLoad (@NonNull AdRequestError adRequestError) {}
});
loader.loadAd(new AdRequestConfiguration .Builder("your-ad-unit-id" ).build());
광고 렌더링
SDK 5
광고를 표시하기 전에 로드되었는지 확인합니다.
if (rewardedAd.isLoaded()) {
rewardedAd.show()
}
if (rewardedAd.isLoaded()) {
rewardedAd.show();
}
SDK 6
광고가 로드되었는지 확인할 필요가 없습니다.
광고 로더의 onAdLoaded
콜백 메서드에서 RewardedAd
인스턴스를 반환하면 광고를 렌더링할 준비가 된 것입니다.
광고를 렌더리하려면 Activity를 전달해야 합니다.
rewardedAd.show(activity)
rewardedAd.show(activity);
RewardedAd
광고 객체
SDK 5
광고 로드 및 렌더링을 결합한 클래스.
SDK 6
로드된 광고의 인터페이스. 광고에 대한 정보를 얻기 위한 getInfo()
메서드를 추가했습니다.
interface RewardedAd {
fun setAdEventListener (rewardedAdEventListener: RewardedAdEventListener )
fun show (activity: Activity )
fun getInfo () : AdInfo
}
interface RewardedAd {
void setAdEventListener (@Nullable RewardedAdEventListener rewardedAdEventListener) ;
void show (@NonNull Activity activity) ;
@NonNull
AdInfo getInfo () ;
}
콜백 메서드
SDK 5
이벤트 로드와 렌더링을 결합하는 단일 콜백 메서드 인터페이스:
interface RewardedAdEventListener {
fun onLoaded ()
fun onRewarded (reward: Reward )
fun onAdFailedToLoad (adRequestError: AdRequestError )
fun onAdShown ()
fun onAdDismissed ()
fun onLeftApplication ()
fun onReturnedToApplication ()
}
interface RewardedAdEventListener {
public void onLoaded () ;
public void onRewarded (@NonNull Reward reward) ;
public void onAdFailedToLoad (@NonNull AdRequestError adRequestError) ;
public void onAdShown () ;
public void onAdDismissed () ;
public void onLeftApplication () ;
public void onReturnedToApplication () ;
}
SDK 6
RewardedAdEventListener
인터페이스는 RewardedAdLoadListener
를 로드하고 RewardedAdEventListener
를 렌더링하기 위한 콜백 메서드, 두 부분으로 나뉩니다.
onLeftApplication()
및 onReturnedToApplication()
메서드를 제거했습니다.
onAdFailedToShow(AdError)
메서드를 추가했습니다.
interface RewardedAdLoadListener {
fun onAdLoaded (rewardedAd: RewardedAd )
fun onAdFailedToLoad (adRequestError: AdRequestError )
}
interface RewardedAdEventListener {
fun onAdShown ()
fun onAdFailedToShow (adError: AdError )
fun onAdDismissed ()
fun onAdClicked ()
fun onAdImpression (impressionData: ImpressionData )
fun onRewarded (reward: Reward )
}
interface RewardedAdLoadListener {
void onAdLoaded (@NonNull RewardedAd rewardedAd) ;
void onAdFailedToLoad (@NonNull AdRequestError adRequestError) ;
}
interface RewardedAdEventListener {
void onAdShown () ;
void onAdFailedToShow (@NonNull AdError adError) ;
void onAdDismissed () ;
void onAdClicked () ;
void onAdImpression (@Nullable ImpressionData impressionData) ;
void onRewarded (@NonNull Reward reward) ;
}
RewardedAd
광고 객체 정리
SDK 5
onDestroy()
메서드를 호출하고 광고 객체 참조 유지를 중단합니다.
SDK 6
onDestroy()
메서드가 제거되었습니다.
광고 객체를 정리하려면 rewardedAd.setAdEventListener
콜백 메서드를 위한 리스너 설정용 함수에 null
을 전달하고 광고 객체 참조 유지를 중단합니다.
private fun destroyRewardedAd () {
rewardedAd?.setAdEventListener(null )
rewardedAd = null
}
private void destroyRewardedAd () {
if (mRewardedAd != null ) {
mRewardedAd.setAdEventListener(null );
mRewardedAd = null ;
}
}
전면 광고
광고 생성 및 로드 접근 방식이 변경되었습니다. 이제 광고를 로드하는 InterstitialAdLoader
로더 객체와 InterstitialAdLoadListener
의 로더 콜백 메서드에 의해 가져온 InterstitialAd
광고 객체를 제공합니다.
새로운 API에 대한 자세한 내용은 SDK 참조 를 참조하세요.
광고 로드
SDK 5
광고 로드 및 렌더링을 위한 단일 객체:
val interstitialAd = InterstitialAd(this @Activity ).apply {
setAdUnitId("your-ad-unit-id" )
setAdEventListener(this )
loadAd(adRequest)
}
final InterstitialAd interstitialAd = new InterstitialAd (this );
interstitialAd.setAdUnitId("your-ad-unit-id" );
interstitialAd.setAdEventListener(this );
interstitialAd.loadAd(adRequest);
SDK 6
여러 광고를 로드하기 위한 InterstitialAdLoader
. 광고를 로드하기 위해 Activity 컨텍스트를 전달할 필요가 없습니다.
onAdLoaded(interstitialAd: InterstitialAd)
메서드를 호출하여 광고가 로드되면, 표시가 완료되기 전에 로드된 InterstitialAd
에 대한 링크를 저장하세요.
val loader = InterstitialAdLoader(context).apply {
setAdLoadListener(object : InterstitialAdLoadListener {
override fun onAdLoaded (interstitialAd: InterstitialAd ) {
}
override fun onAdFailedToLoad (adRequestError: AdRequestError ) {}
})
}
loader.loadAd(AdRequestConfiguration.Builder("your-ad-unit-id" ).build())
final InterstitialAdLoader loader = new InterstitialAdLoader (this );
loader.setAdLoadListener(new InterstitialAdLoadListener () {
@Override
public void onAdLoaded (@NonNull InterstitialAd interstitialAd) {
}
@Override
public void onAdFailedToLoad (@NonNull AdRequestError adRequestError) {}
});
loader.loadAd(new AdRequestConfiguration .Builder("your-ad-unit-id" ).build());
광고 렌더링
SDK 5
if (interstitialAd.isLoaded()) {
interstitialAd.show()
}
if (interstitialAd.isLoaded()) {
interstitialAd.show();
}
SDK 6
광고가 로드되었는지 확인할 필요가 없습니다.
광고 로더의 onAdLoaded
콜백 메서드에서 InterstitialAd
인스턴스를 반환하면 광고를 렌더링할 준비가 된 것입니다.
광고를 렌더리하려면 Activity를 전달해야 합니다.
interstitialAd.show(activity)
interstitialAd.show(activity);
InterstitialAd
광고 객체
SDK 5
광고 로드 및 렌더링을 결합하는 클래스.
SDK 6
로드된 광고의 인터페이스. 광고에 대한 정보를 얻기 위한 getInfo()
메서드를 추가했습니다.
interface InterstitialAd {
fun setAdEventListener (interstitialAdEventListener: InterstitialAdEventListener )
fun show (activity: Activity )
fun getInfo () : AdInfo
}
interface InterstitialAd {
void setAdEventListener (@Nullable InterstitialAdEventListener interstitialAdEventListener) ;
void show (@NonNull Activity activity) ;
@NonNull
AdInfo getInfo () ;
}
콜백 메서드
SDK 5
이벤트 로드와 렌더링을 결합하는 단일 콜백 메서드 인터페이스:
interface InterstitialAdEventListener {
fun onLoaded ()
fun onAdFailedToLoad (adRequestError: AdRequestError )
fun onAdShown ()
fun onAdDismissed ()
fun onLeftApplication ()
fun onReturnedToApplication ()
}
interface InterstitialAdEventListener {
public void onLoaded () ;
public void onAdFailedToLoad (@NonNull AdRequestError adRequestError) ;
public void onAdShown () ;
public void onAdDismissed () ;
public void onLeftApplication () ;
public void onReturnedToApplication () ;
}
SDK 6
InterstitialAdEventListener
인터페이스는 InterstitialAdLoadListener
의 로드 콜백 메서드와 InterstitialAdEventListener
의 렌더링 메서드 두 부분으로 나뉩니다.
onLeftApplication()
및 onReturnedToApplication()
메서드를 제거했습니다.
onAdFailedToShow(AdError)
메서드를 추가했습니다.
interface InterstitialAdLoadListener {
fun onAdLoaded (interstitialAd: InterstitialAd )
fun onAdFailedToLoad (adRequestError: AdRequestError )
}
interface InterstitialAdEventListener {
fun onAdShown ()
fun onAdFailedToShow (adError: AdError )
fun onAdDismissed ()
fun onAdClicked ()
fun onAdImpression (impressionData: ImpressionData )
}
interface InterstitialAdLoadListener {
void onAdLoaded (@NonNull InterstitialAd interstitialAd) ;
void onAdFailedToLoad (@NonNull AdRequestError adRequestError) ;
}
interface InterstitialAdEventListener {
void onAdShown () ;
void onAdFailedToShow (@NonNull AdError adError) ;
void onAdDismissed () ;
void onAdClicked () ;
void onAdImpression (@Nullable ImpressionData impressionData) ;
}
InterstitialAd
광고 객체 정리
SDK 5
onDestroy()
메서드를 호출하고 광고 객체 참조 유지를 중단합니다.
SDK 6
onDestroy()
메서드가 제거되었습니다.
광고 객체를 정리하려면 interstitialAd.setAdEventListener
콜백 메서드를 위한 리스너 설정용 함수에 null
을 전달하고 광고 객체 참조 유지를 중단합니다.
private fun destroyInterstitialAd () {
interstitialAd?.setAdEventListener(null )
interstitialAd = null
}
private void destroyInterstitialAd () {
if (mInterstitialAd != null ) {
mInterstitialAd.setAdEventListener(null );
mInterstitialAd = null ;
}
}
앱 실행 광고
새 광고 형식 추가됨: 앱 실행 광고. 자세한 내용은 앱 실행 광고 를 참조하세요.
신규 어댑터 버전
Yandex Mediation 어댑터의 현재 버전(SDK 6.0.1 릴리스 기준):
"com.yandex.ads.mediation:mobileads-adcolony": "4.8.0.6",
"com.yandex.ads.mediation:mobileads-applovin": "11.11.2.0",
"com.yandex.ads.mediation:mobileads-chartboost": "9.3.1.0",
"com.yandex.ads.mediation:mobileads-google": "22.2.0.0",
"com.yandex.ads.mediation:mobileads-inmobi": "10.5.5.0",
"com.yandex.ads.mediation:mobileads-ironsource": "7.4.0.0",
"com.yandex.ads.mediation:mobileads-mintegral": "16.4.71.1",
"com.yandex.ads.mediation:mobileads-mytarget": "5.18.0.0",
"com.yandex.ads.mediation:mobileads-pangle": "5.3.0.4.1",
"com.yandex.ads.mediation:mobileads-startapp": "4.11.0.2",
"com.yandex.ads.mediation:mobileads-tapjoy": "13.1.2.0",
"com.yandex.ads.mediation:mobileads-unityads": "4.8.0.0",
"com.yandex.ads.mediation:mobileads-vungle": "6.12.1.3",
타사 중재 플랫폼용 어댑터의 현재 버전(SDK 6.0.1 릴리스 기준):
"com.yandex.ads.adapter:admob-mobileads": "6.0.1.0",
"com.yandex.ads.adapter:ironsource-mobileads": "6.0.1.0"
Google AdMob (ex. AdMob) 어댑터 이름 변경
com.yandex.ads.mediation:mobileads-admob
아티팩트의 이름을 com.yandex.ads.mediation:mobileads-google
로 변경했습니다.
표준형 Yandex Mediation 빌드를 사용하는 경우 조치를 취할 필요가 없습니다. 어댑터를 수동으로 추가하는 경우 프로젝트의 Gradle 종속성을 교체합니다.
SDK 5
implementation 'com.yandex.ads.mediation:mobileads-admob:<version>'
SDK 6
implementation 'com.yandex.ads.mediation:mobileads-google:<version>'
통합에 대한 전체 예시를 여기서 확인하세요.