Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Table of Contents

개요

본 가이드는 BuzzAdBenefit SDK의 피드 타입 광고를 BuzzAd SDK의 Feed 지면을 연동하는 방법을 다루는 문서입니다. Feed는 Feed 지면은 여러 광고를 리스트 형식으로 볼 수 있는 지면입니다.

...

Note

Feed

...

지면을 연동하기 전, 

...

시작하기의 연동 사항을 모두 적용했는지 확인해주세요.

Feed 초기화

Application Class의  클래스의 onCreate()에 아래 코드를 추가합니다.

Code Block
languagejava
public class App extends Application {
    @Override
    public void onCreate() {
        super.onCreate();
        final FeedConfig feedConfig = new FeedConfig.Builder(context, "YOUR_FEED_UNIT_ID")
            .feedHeaderViewAdapterClass(DefaultFeedHeaderViewAdapter.class)
            .build();
        final BuzzAdBenefitConfig buzzAdBenefitConfig = new BuzzAdBenefitConfig.Builder(context)
            .setFeedConfig(feedConfig)
            .build();
        BuzzAdBenefit.init(this, buzzAdBenefitConfig);

        ...(생략)...
    }
}

Expand
titleBenefit SDK 2.21 미만

PopConfig와 FeedConfig를 추가하는 interface가 다르니 주의해주세요

Code Block
final BuzzAdBenefitConfig buzzAdBenefitConfig = new BuzzAdBenefitConfig.Builder(context)
        .add(feedConfig)
        .build();
BuzzAdBenefit.init(this, buzzAdBenefitConfig);

Feed 보여주기

FeedHandler 클래스를 이용하여 피드를 사용자에게 보여줍니다. 피드를 보여주는 시점은 사용자가 앱내의 앱 내의 특정 버튼을 탭했거나 BuzzAdBenefit SDK에서 제공하는 다양한 진입 경로(EntryPoint(진입경로)가 될 수 있습니다. 여기서는 사용자가 매체사에서 매체 사에서 구현한 버튼이나 배너 등을 탭했을때 탭했을 때 피드를 보여주는 방법을 안내합니다.

...

.

...

startFeedActivity()를 호출하여 Feed 액티비티를 실행합니다.

Code Block
languagejava
final FeedHandler feedHandler = new FeedHandler(context, "YOUR_FEED_UNIT_ID");
feedHandler.startFeedActivity(this);
Info

SDK에서 제공하는 Activity가 아닌 다른 형태로 Feed를 보여주고 싶다면 고급

...

Feed의 진입 전 광고 할당 받기

바로 startFeedActivity를 호출하는 경우 Feed 액티비티가 실행되면서 광고를 로드하게 되어, 유저에게 보여줄 수 있는 광고가 없어 빈 화면이 보이게 될 수도 있습니다. 이에 Feed 액티비티를 실행하기 전에 preload()를 호출한 뒤 onPreloaded() 콜백을 호출하여 상태를 확인한 후 광고가 있을때만 피드로 진입할 수 있도록 하는 것을 추천합니다.

...

feedHandler.getSize() : 광고의 개수

...

설정을 참고하세요.

Note

startFeedActivity()를 반복해서 호출하더라도 광고는 갱신되지 않고 동일한 광고가 보입니다.
새로운 광고를 할당하기 위해서는 FeedHandler 인스턴스를 다시 생성하거나, preload() 를 다시 호출해야합니다.

광고 할당 받기

preload()를 호출하여 광고를 할당받을 수 있습니다. preload()를 반복해서 호출하면 광고가 갱신됩니다.

다음은 광고 할당 후 Feed 지면을 표시하는 예시입니다. 다음과 같이 구현하면 사용자가 Feed 지면에 진입하기 전에 광고 할당이 보장되기 때문에 “참여할 수 있는 광고가 없습니다.“는 이미지를 보이지 않습니다.

Code Block
languagejava
final FeedHandler feedHandler = new FeedHandler(getFeedConfig())context, "YOUR_FEED_UNIT_ID");
feedHandler.preload(new FeedHandler.FeedPreloadListener() {
    @Override
    public void onPreloaded() {
        int feedAdSize = feedHandler.getSize(); // 광고의 개수
        int feedTotalReward = feedHandler.getTotalReward(); // 적립 가능한  }포인트 금액
    @Override    ...
public void onError(AdError error) {    
    // 광고가 없을 경우 호출됩니다feedHandler.startFeedActivity(context);
error를 통해 발생한 error의 원인을}

 있습니다   @Override
 } });
Note

FeedHandler 인스턴스를 생성 후에, startFeedActivity를 반복해서 호출하더라도 계속 같은 광고를 노출하게 됩니다. 새로운 광고가 노출되기를 원하는 경우, FeedHandler 인스턴스를 다시 생성하거나, load/preload 를 재호출 후에 startFeedActivity를 호출해야 합니다.

개인정보 취급 방침

개인정보 보호법과 구글 정책에 에 따라, 개인정보 수집 및 사용에 대한 유저의 동의가 필요합니다. 미동의시 Feed 지면을 이용할 수 없습니다.

버즈빌 SDK에서 개인정보 취급 방침 동의 UI를 제공하고 있으며 아래 그림과 같이 표시됩니다.

...

개인정보 취급 방침과 관련해서 다음과 같은 API를 사용할 수 있습니다.

Code Block
languagejava
// 개인정보 취급public 방침 UI를 보여주는 API
BuzzAdBenefit.getPrivacyPolicyManager().showContentUI(context, listener);

// 개인정보 취급 방침에 대해 `동의함`을 표시
BuzzAdBenefit.getPrivacyPolicyManager().grantConsent();void onError(AdError error) {
        // 개인정보광고가 취급없을 방침에경우 대해호출됩니다. `동의하지error를 않음`을통해 표시
BuzzAdBenefit.getPrivacyPolicyManager().revokeConsent();
// 개인정보 취급 방침에 `동의함` 여부를 확인
BuzzAdBenefit.getPrivacyPolicyManager().isConsentGranted();
Note

동의를 받지 않은 상태에서는 Feed 지면을 이용할 수 없습니다.

Info

앱에서 자체적으로 개인정보취급방침에 대한 동의를 받는 기능이 있다면, 아래의 API를 통해 버즈빌의 개인정보 취급방침 동의 UI를 숨길 수 있습니다.

BuzzAdBenefit.getPrivacyPolicyManager().grantConsent();

...

원인을 알 수 있습니다
    }
});