(Android v3.0.x) 5. Pop 마이그레이션 가이드

Pop 기본 설정

주요 변경 내역

  • FeedConfig.Builder의 Context 인자가 삭제되었습니다.

  • BuzzAdPop.getInstance()로 BuzzAd Android용 SDK 3.0에서 인스턴스를 관리하도록 변경되었습니다.

  • Pop을 다른 앱 위에 그리기 위한 권한 요청과 권한 획득 여부에 따른 콜백 이벤트를 제공합니다.

Pop 지면 추가하기

BuzzAd Android용 SDK 3.0에서 Pop 지면 추가하려면 아래 순서대로 기존 코드를 수정하세요.

  1. FeedConfig.Builder에 Context 인자를 삭제하세요.

  2. YOUR_FEED_UNIT_ID 에 Pop 지면에서 사용할 Pop Unit ID 값을 적용하여 FeedConfig 객체를 생성하세요.

  3. 생성한 FeedConfig 객체에 optInFeatureList를 설정하세요.

    • FeedConfig의 설정이 Pop 지면에도 동일하게 적용됩니다. FeedConfig의 설정에 대한 자세한 내용은 Feed 고급 설정 토픽을 참고하세요.

  4. setDefaultFeedConfig(feedConfig) 메소드에서 FeedConfig 객체를 등록하세요.

FeedConfig feedConfig = new FeedConfig.Builder(getApplicationContext(), "YOUR_POP_UNIT_ID") .optInFeatureList(Collections.singletonList(OptInFeature.Pop)) .build(); final BuzzAdBenefitConfig buzzAdBenefitConfig = new BuzzAdBenefitConfig.Builder(context) .setFeedConfig(feedConfig) .build(); BuzzAdBenefit.init(this, buzzAdBenefitConfig);
// Context 인자를 삭제하고 Feed Unit ID 인자로만 객체를 생성합니다. FeedConfig feedConfig = new FeedConfig.Builder("YOUR_POP_UNIT_ID") .optInFeatureList(Collections.singletonList(OptInFeature.Pop)) .build(); //FeedConfig 등록 메소드 setFeedConfig() -> setDefaultFeedConfig() 으로 변경합니다. final BuzzAdBenefitConfig buzzAdBenefitConfig = new BuzzAdBenefitConfig.Builder(context) .setDefaultFeedConfig(feedConfig) .build(); // BuzzAdBenefit SDK 초기화합니다. BuzzAdBenefit.init(this, buzzAdBenefitConfig);

 

Pop 준비: PopConfig 설정 사용

BuzzAd Android용 SDK 3.0부터는 PopConfig를 설정하는 방식이 변경되었습니다. FeedConfig에서 설정되도록 변경되었습니다. 아래 순서에 따라 기존 코드를 수정하세요.

  1. 기존에 사용하던 Pop Unit ID로 FeedConfig 객체를 생성하세요.

  2. PopConfig.Builder에 Context와 Unit ID를 삭제하고, 위에서 생성한 FeedConfig 객체를 전달하세요.

// TODO: FeedConfig 객체를 생성합니다. final FeedConfig popFeedConfig = new FeedConfig.Builder("YOUR_POP_UNIT_ID").build(); // TODO: PopConfig.Builder에서 Context, UNIT ID 인자를 삭제하고, FeedConfig 객체를 전달합니다. final PopConfig popConfig = new PopConfig.Builder(popFeedConfig) .build(); final BuzzAdBenefitConfig buzzAdBenefitConfig = new BuzzAdBenefitConfig.Builder(context) .setPopConfig(popConfig) .build(); BuzzAdBenefit.init(this, buzzAdBenefitConfig);

 

Pop 초기화 및 활성화

이전 버전에서는 다른 앱 위에 그리기 권한을 얻는 코드를 앱에서 명시적으로 호출하고, 그 응답에 대한 처리를 구현해야 했습니다.

BuzzAd Android용 SDK 3.0부터는 Pop을 권한 요청과 권한 획득 여부에 따른 콜백 이벤트를 제공합니다.

  1. 이전 버전에서 다른 앱 위에 그리기 위한 권한 요청 및 권한 획득 여부에 따라 Pop을 실행하도록 구현한 코드를 모두 삭제하세요.

  2. BuzzAdPop.getInstance().activate()를 호출하여 Pop을 활성화하고, 사용자로부터 다른 앱 위에 그리기 권한을 얻기 위한 동작을 수행하세요.

    • onActivated : 사용자가 권한을 승인하고 정상적으로 Pop이 활성화되었을 때 호출됩니다.

    • onActivationFailed : Pop 활성화가 실패했을 때 호출됩니다.

  3. onAdLoaded()에서 사용자의 기기 화면에 바로 Pop을 표시하기 위해 BuzzAdPop.getInstance().show()를 호출하세요.

 

Pop 비활성화

이전 버전에서는 Pop을 비활성화하려면 buzzAdPop.removePop(Context) 메소드를 사용했지만, BuzzAd Android용 SDK 3.0 부터는 BuzzAdPop.getInstance().deactivate(Context) 라는 메소드로 이름이 변경되었습니다.

  1. buzzAdPop.removePop(Context) 코드를 삭제하세요.

  2. BuzzAdPop.getInstance().deactivate(Context) 메소드로 Pop을 비활성화하세요.

     

Pop 고급 설정

툴바 자체 구현하기

DefaultPopToolbarHolder를 상속하여 클래스를 구현하는 방식은 동일하지만, BuzzAd Android용 SDK 3.0 부터는 PopConfig가 아닌 FeedConfig에 설정하도록 변경되었습니다.

 

콘텐츠 숨기기

Pop에서 콘텐츠를 보이지 않도록 설정하는 방법이 변경되었습니다.

  1. 이전 버전에서 사용한 articlesEnabled(false) 속성을 삭제하세요.

  2. 사용 중인 Pop 지면에 콘텐츠를 숨기도록 유지하려면, 버즈빌 담당자에게 연락하세요.

     

Pop 커스터마이징

Pop 버튼 색상

BuzzAd Android용 SDK 3.0부터는 BuzzAdPopTheme을 생성하여 Pop 버튼의 색상을 변경할 수 있습니다. 자세한 내용은 전체 테마 변경하기 토픽을 참고하세요.

  1. ApplicationonCreate에 모든 광고 지면의 디자인을 커스터마이징할 수 있는 BuzzTheme 객체를 생성하세요.

  2. colorPrimary() 속성에서 Pop 배경색을 설정하세요.

  3. BuzzAdTheme.setGloabalTheme()에 위에서 생성한 BuzzAdTheme 객체를 설정하세요.

    • 이때, BuzzAdTheme.setGloabalTheme()BuzzAd SDK 초기화 BuzzAdBenefit.init()을 실행하기 전에 호출해야 합니다.

  4. 코드 중복을 피하기 위해, 기존에 styles.xml에서 설정한 buzzvillColorPrimary 코드를 삭제하세요.

Pop 버튼 아이콘

BuzzAd Android용 SDK 3.0부터는 BuzzAdPopTheme을 생성하여 Pop 버튼의 버튼 아이콘을 설정하도록 변경되었습니다. 아래 순서에 따라 기존 코드를 수정하세요.

  1. ApplicationonCreate에 Pop 버튼 아이콘을 커스터마이징할 수 있는 BuzzAdPopTheme 객체를 생성하세요.

  2. 변경하고자 하는 Pop 버튼 아이콘에 따라 적절한 메소드를 호출하세요.

    • iconResId : Pop 기본 버튼 아이콘 이미지

    • rewardReadyIconResId : 적립 가능한 리워드 포인트가 있을 때의 아이콘 이미지

    • popFeedCloseIconResId : Pop Feed 지면의 종료 아이콘 이미지

  3. BuzzAdPop.getInstance().setTheme() 에 위에서 생성한 BuzzAdPopTheme 객체를 설정하세요.

  4. 코드 중복을 피하기 위해, 기존에 생성한 PopConfig에 관련 코드를 삭제하세요.

툴바 영역 커스터마이징

BuzzAd Android용 SDK 3.0부터는 BuzzAdTheme을 사용해 툴바 영역의 아이콘 색상을 변경할 수 있습니다. 자세한 내용은 전체 테마 변경하기 토픽을 참고하세요.

스낵바 및 토스트 메시지 커스터마이징

스낵바 및 토스트 메세지를 커스터마이징하기 위해 popFeedbackHandlerClass 를 구현한 방식은 더 이상 지원하지 않습니다.

  1. 이전 버전에서 DefaultPopFeedbackHandler를 상속한 클래스를 삭제하세요.

  2. 일반 광고 디자인 자체 구현하기 토픽을 참고하여, onRewarded() 이벤트 콜백에서 유저에게 포인트를 지급할 때의 알림을 구현하세요.

유틸리티 영역 UI 변경

PopFeed 하단의 Utility영역을 커스텀하는 PopUtilityLayoutHandler에서 커스텀 View를 등록하는 방식이 변경되었습니다.

  1. PopUtilityLayoutHandler 를 상속한 클래스에서 onLayoutCreated() 함수를 삭제하세요.

  2. onCreateView()를 오버라이드하세요.

  3. 레이아웃을 리턴하도록 수정하여 구현하세요.

     

PopConfig.Builder 속성 API 비

2.x

3.0

설명

2.x

3.0

설명

feedToolbarHolderClass

FeedConfig.Builder.feedToolbarHolderClass

툴바 자체 구현하기 토픽을 참고하세요.

feedHeaderViewAdapterClass

FeedConfig.Builder.feedHeaderViewAdapterClass

 

articlesEnabled

FeedConfig.Builder.articlesEnabled

 

initialPopIdleMode

-

3.0부터는 기존 설정 값 중 INVISIBLE로 항상 동작하고, TRANSLUCENT인 반투명 기능은 지원하지 않습니다.

popFeedbackHandlerClass

  • FeedConfig.Builder.baseRewardNotificationAdapterClass

  • NativeAdView.OnNativeAdEventListener

스낵바 및 토스트 메시지 커스터마이징 토픽을 참고하세요.

popIconClass

-