iOS용 배너 광고 유닛 API 마이그레이션
광고 유닛 ID를 사용하여 배너 광고를 로드하고 표시하여 레벨플레이 배너 API로 전환합니다.
읽는 시간 6분최근 업데이트: 11시간 전
이 가이드에서는 광고 유닛 ID를 사용하여 레벨플레이 API를 연동하여 배너 광고를 로드하고 표시하는 방법을 설명합니다.
필수 조건
- 최소 지원 SDK는 8.6.0입니다. 최신 SDK는 여기에서 다운로드할 수 있습니다.
- 레벨플레이 초기화 API 사용하여 SDK를 초기화해야 합니다.
- 레벨플레이 대시보드에서 AdUnitID를 찾습니다.
배너 광고 오브젝트 생성 및 크기 설정
배너 광고 오브젝트의 생성은 onInitSuccess 콜백을 수신한 후에 수행해야 합니다.
// 배너 뷰를 만들고 광고 유닛 ID를 설정합니다.self.bannerAdView = [[LPMBannerAdView alloc] initWithAdUnitId:@"adUnitId"];
배너 크기
레거시 | 광고 단위 이름(새로운) | dp의 크기 |
|---|---|---|
| ISBannerSize | LPMAdSize | (너비 X 높이) |
| ISBannerSize_BANNER | bannerSize | 320 x 50 |
| ISBannerSize_LARGE | largeSize | 320 x 90 |
| ISBannerSize_RECTANGLE | mediumRectangleSize | 300 x 250 |
| ISBannerSize_SMART | 적응적 광고 크기로 대체됨(아래 참조) | 모바일 및 태블릿의 크기 및 방향, 방향 설정 조정하기 위해 광고를 자동으로 렌더링합니다. |
광고 크기를 생성하려면 다음 옵션 중 하나를 따르십시오.
화면 너비에 맞게 조정되는 적응적 광고 크기(권장)
이 옵션은 기기 유형에 따라 배너 또는 LEADERBOARD를 반환합니다. 적응적 기능을 지원하는 네트워크(Google, Yandex)는 최적화 로직에 따라 높이를 반환합니다.
LPMAdSize *bannerSize = [LPMAdSize createAdaptiveAdSize];[self.bannerAdView setAdSize: bannerSize];
특정 배너 크기: 이 옵션을 사용하면 특정 배너 크기를 설정할 수 있습니다. BANNER, LARGE, MEDIUM_RECTANGLE.
LPMAdSize *bannerSize = [LPMAdSize largeSize];[self.bannerAdView setAdSize: bannerSize];
Placements
우리는 보고만을 위한 배너에 있는 플레이스먼트를 지원합니다. 모든 재로드된 광고에 영향을 주기 위해 플레이스먼트는 loadAd 이전에 설정해야 합니다.
// 플레이스먼트 이름을 입력합니다.[self.bannerAdView setPlacementName:@"PlacementName"];
배너 설정 델리게이트
코드에서 LevelPlayBannerDelegate 대신 LPMBannerAdViewDelegate를 구현하여 광고 전송에 대해 알 수 있습니다.
- 배너 광고를 로드하기 전에 델리게이트 설정하는 것이 좋습니다.
- 각 배너 광고 보기에는 자체 델리게이트 구현이 있어야 합니다.
- 콜백은 메인 스레드 실행됩니다.
// 델리게이트 구현 설정[self.bannerAdView setDelegate:self];#pragma 마크 - LPMBannerAdViewDelegate- (void)didLoadAdWithAdInfo:(nonnull LPMAdInfo *)adInfo { //광고가 성공적으로 로드되었습니다.}- (void)didFailToLoadAdWithAdUnitId:(nonnull NSString *)adUnitId error:(nonnull NSError *)error { // 광고 로드 실패}- (void)didClickAdWithAdInfo:(LPMAdInfo *)adInfo { // 광고가 클릭되었습니다.}- (void)didDisplayAdWithAdInfo:(LPMAdInfo *)adInfo { // 광고가 표시되고 화면에 표시되었습니다.}- (void)didFailToDisplayAdWithAdInfo:(LPMAdInfo *)adInfo error:(NSError *)오류 { // 광고가 화면에 표시되지 못함}- (void)didLeaveAppWithAdInfo:(LPMAdInfo *)adInfo { // 사용자 광고를 누르고 앱에서 나갔습니다.}- (void)didExpandAdWithAdInfo:(LPMAdInfo *)adInfo { // 광고가 전체 화면으로 열립니다.}- (void)didCollapseAdWithAdInfo:(LPMAdInfo *)adInfo { // 광고가 원본의, 원래의 크기로 복원됩니다.}
레벨플레이 광고 정보
LPMAdInfo 파라미터에는 로드된 광고에 대한 정보가 포함되어 있습니다.
Ironsource 레거시 API | Ad Unit API | |
|---|---|---|
| 델리게이트 | LevelPlayBannerDelegate | LPMBannerAdViewDelegate |
| 이벤트 | didLoad | didLoadAdWithAdInfo |
| didFailToLoadWithError | didFailToLoadAdWithAdUnitId | |
| didClickWithAdInfo | didClickAdWithAdInfo | |
| didPresentScreenWithAdInfo | didExpandAdWithAdInfo | |
| didDismissScreenWithAdInfo | didCollapseAdWithAdInfo | |
| didLeaveApplicationWithAdInfo | didLeaveAppWithAdInfo | |
| - | didDisplayAdWithAdInfo | |
| - | didFailToDisplayAdWithAdInfo |
배너 광고 로드
배너 광고를 로드하려면 IronSource.loadBanner 대신 loadAd를 사용하십시오.
// 배너 광고 로드[self.bannerAdView loadAdWithViewController:self];
배너 새로고침 일시 정지 및 재개
새로고침 값이 플랫폼에서 정의된 경우 코드에서 배너 새로고침을 일시 정지할 수 있습니다. 배너 광고의 자동 새로고침을 중지하거나, 일시 중지한 후 다시 활성화하다, 사용 가능하다.
- pauseAutoRefresh - 배너 광고의 자동 새로고침을 일시 중지합니다.
- resumeAutoRefresh - 배너 광고가 일시 중지된 후 배너 광고의 자동 새로고침을 재개합니다.
// 새로고침 일시 정지[self.bannerAdView pauseAutoRefresh];// 새로고침 재개[self.bannerAdView resumeAutoRefresh];
배너 광고 삭제
배너를 파괴하려면 파괴 메서드를 호출합니다.
삭제된 배너 더 이상 표시할 수 없습니다. 더 많은 광고를 표시하려면 새 LPMBannerAdView 오브젝트를 만드십시오.
[self.bannerAdView 제거];
여러 광고 유닛 배너 API
레거시 | 광고 단위(신규) | |
|---|---|---|
| 배너 광고 보기 | ISBannerView | LPMBannerAdView |
| API | loadBannerWithViewController | loadAdWithViewController |
| loadBannerWithViewController | setPlacementName | |
| destroyBanner | destroy | |
| - | LPMAdSize.width | |
| - | LPMAdSize.height | |
| - | pauseAutoRefresh | |
| - | resumeAutoRefresh |
배너 광고의 전체 구현 예시
다음은 적응적 배너 크기를 사용하여 배너 광고를 생성하고 로드하는 예제입니다.
NS_ASSUME_NONNULL_BEGIN@interface BannerAdViewController () <LPMBannerAdViewDelegate>@properties(nonatomic, strong) LPMBannerAdView *bannerAd;@end@implementation BannerAdViewController- (void)할당 해제 {[self.bannerAd destroy];}- (void)createBannerAd {// 배너 뷰를 만들고 광고 유닛 ID를 설정합니다.self.bannerAd = [[LPMBannerAdView alloc] initWithAdUnitId:@"adUnitId"];// Set the placement name (optional)[self.bannerAd setPlacementName:@"PlacementName"];// Set the ad sizeLPMAdSize *bannerSize = [self getBannerSize];// Required when using adaptive ad sizeif (bannerSize == nil) { 반환; }[self.bannerAd setAdSize:bannerSize];// Set the delegate implementation[self.bannerAd setDelegate:self];// Add the banner view to the view hierarchy with the proper constraints[self addBannerViewWithSize:bannerSize];}- (LPMAdSize *)getBannerSize {// 1. 권장 - 화면 너비에 맞게 조정되는 적응적 광고 크기LPMAdSize *bannerSize = [LPMAdSize createAdaptiveAdSize];// 2. 고정 너비 광고 크기를 사용한 적응적 광고 크기// self.bannerSize = [LPMAdSize createAdaptiveAdSizeWithWidth:400];// 3. 특정 배너 크기 - 배너, 대형, MEDIUM_RECTANGLE// self.bannerSize = [LPMAdSize mediumRectangleSize];return bannerSize;}- (void)loadBannerAd {[self.bannerAd loadAdWithViewController:self];}- (void)addBannerViewWithSize:(LPMAdSize *)bannerSize {self.bannerAd.translatesAutoresizingMaskIntoConstraints = NO;// Add the banner view to the view hierarchy[self.view addSubview:self.bannerAd];[NSLayoutConstraint activateConstraints:@[ [self.bannerAd.bottomAnchor constraintEqualToAnchor:self.view.safeAreaLayoutGuide.bottomAnchor], [self.bannerAd.centerXAnchor constraintEqualToAnchor:self.view.centerXAnchor], [self.bannerAd.widthAnchor constraintEqualToConstant:bannerSize.width], [self.bannerAd.heightAnchor constraintEqualToConstant:bannerSize.height]]];}#pragma mark - LPMBannerAdViewDelegate- (void)didLoadAdWithAdInfo:(nonnull LPMAdInfo *)adInfo {}- (void)didFailToLoadAdWithAdUnitId:(nonnull NSString *)adUnitId error:(nonnull NSError *)error {}- (void)didClickAdWithAdInfo:(LPMAdInfo *)adInfo {}- (void)didDisplayAdWithAdInfo:(LPMAdInfo *)adInfo {}- (void)didFailToDisplayAdWithAdInfo:(LPMAdInfo *)adInfo error:(NSError *)error {}- (void)didLeaveAppWithAdInfo:(LPMAdInfo *)adInfo {}- (void)didExpandAdWithAdInfo:(LPMAdInfo *)adInfo {}- (void)didCollapseAdWithAdInfo:(LPMAdInfo *)adInfo {}@endNS_ASSUME_NONNULL_END
레벨플레이 Mediation 데모 앱
통합 데모 애플리케이션 앱에 배너 배너 유닛 API를 통합하는 방법을 보여 줍니다.