Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Table of Contents
exclude다음 단계|주의사항

개요

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

...

Note

Feed

...

지면을 연동하기 전, 

...

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

 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);

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

...

titleBenefit SDK 2.21 미만

...

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를 보여주고 싶다면 고급

...

설정참고하세요.

...

Note

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

광고 할당 받기

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

...

feedHandler.getSize() : 광고의 개수

...

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의 원인을 알}

있습니다     }
});
Note

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

개인정보 취급 방침

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

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

...

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

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

// 개인정보 취급 방침에 대해 `동의함`을 표시
BuzzAdBenefit.getPrivacyPolicyManager().grantConsent();
// 개인정보 취급 방침에 대해 `동의하지 않음`을 표시
BuzzAdBenefit.getPrivacyPolicyManager().revokeConsent();
// 개인정보 취급 방침에 `동의함` 여부를 확인
BuzzAdBenefit.getPrivacyPolicyManager().isConsentGranted();
Note

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

Info

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

BuzzAdBenefit.getPrivacyPolicyManager().grantConsent();

...

@Override
    public void onError(AdError error) {
        // 광고가 없을 경우 호출됩니다. error를 통해 원인을 알 수 있습니다
    }
});