Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

BuzzAd Andorid SDK의 개인 정보 수집 동의 UI를 사용하지 않거나, 다시 표시하고 싶은 경우 아래 표를 참고하여 설정할 수 있습니다.

Class

API

설명

BuzzAdBenefit

getPrivacyPolicyManager()

PrivacyPolicyManager 인스턴스를 반환합니다.

PrivacyPolicyManager

showConsentUI(context, new PrivacyPolicyEventListener())

개인 정보 수집 동의 UI를 표시합니다.

grantConsent()

개인 정보 수집 동의합니다.
사용자가 처음 Feed 지면에 진입하기 전에 호출하면 해당 사용자에게 개인 정보 수집 동의 UI가 보이지 않습니다.

revokeConsent()

개인 정보 수집 동의를 철회합니다.
만일 철회하게 되면 사용자가 Feed 지면에 진입하면 개인 정보 수집 동의 UI가 표시됩니다.

isConsentGranted()

개인 정보 수집 동의 여부를 확인합니다.

PrivacyPolicyEventListener

onUpdated(accepted: Boolean)

showConsentUI 에서 보여지는 UI에서 유저가 동의하면 accepted = True 로 호출됩니다. 반면 미동의시 accepted = False로 호출됩니다.

프래그먼트로 Feed 연동

...

Feed 지면은 기본적으로 제공되는 액티비티로 제공됩니다. 더 다양한 연동 방식을 지원하기 위해 액티비티가 아닌 프래그먼트로 Feed 지면을 연동할 수 있습니다. 프래그먼트를 추가하고자 하는 액티비티에 프래그먼트를 추가하고, 해당 액티비티의 onCreate에서 프래그먼트를 초기화합니다.

...

Code Block
languagexml
<!-- your_activity_layout.xml -->

...생략...

<!-- FeedFragment 추가 -->
<fragment
    android:id="@+id/feed_fragment"
    android:name="com.buzzvil.buzzad.benefit.presentation.feed.FeedFragment"
    android:layout_width="match_parent"
    android:layout_height="match_parent" />

...생략...
class YourActivity extends Actvity {
  private FeedHandler feedHandler;

  @Override
  public void onCreate() {
    super.onCreate();
    ...생략...
    
    // 광고를 새로 받기 위해 필요한 부분입니다.
    feedHandler = new FeedHandler(context, "YOUR_FEED_UNIT_ID");
    
    // FeedFragment 초기화
    final FeedFragment feedFragment = (FeedFragment) getSupportFragmentManager().findFragmentById(R.id.feed_fragment);
    if (feedFragment != null) {
      feedFragment.init(context, "YOUR_FEED_UNIT_ID");
    }
  }

  ...생략...
}

FeedFragment의 UI도 Feed 디자인 커스터마이징을 참고하여 변경할 수 있습니다. (단, FeedFragment는 툴바 영역이 없습니다.)

...

다음은 일반 광고의 디자인을 변경하는 방법을 설명하는 예시입니다.

설명

비고

Status
colourGreen
title필수
광고 제목

광고의 제목

  • 최대 10자

  • 생략 부호로 일정 길이 이상은 생략 가능

Status
colourGreen
title필수
광고 소재

이미지, 동영상 등 광고 소재

  • com.buzzvil.buzzad.benefit.presentation.media.MediaView 사용 필수

  • 종횡비 유지 필수

  • 여백 추가 가능

  • 이미지 사이즈 1200x627 [px]

Status
colourGreen
title필수
광고 설명

광고에 대한 상세 설명

  • 생략 부호로 일정 길이 이상은 생략 가능

  • 최대 40자

Status
colourGreen
title필수
광고주 아이콘

광고주 아이콘 이미지

  • 종횡비 유지 필수

  • 이미지 사이즈 80x80 [px]

Status
colourGreen
title필수
CTA 버튼

광고의 참여를 유도하는 버튼

  • com.buzzvil.buzzad.benefit.presentation.media.CtaView 사용 필수

  • 최대 7자

  • 생략 부호로 일정 길이 이상은 생략 가능

Status
title임의
광고 알림 문구

Sponsored view

  • 예시) “광고”, “ad”, “스폰서”, “Sponsored”

일반 광고용 NativeAdView의 규격에 맞는 레이아웃(your_feed_ad.xml)을 구현합니다.

...

Code Block
languagekotlin
final FeedConfig feedConfig = new FeedConfig.Builder(context, "YOUR_FEED_UNIT_ID")
      .feedFeedbackHandler(YourFeedFeedbackHandler.class)
      .build();

광고 미할당 안내 디자인 자체 구현하기

Feed 지면에 진입한 시점에 노출할 광고가 없다면 광고 미할당 안내 UI가 표시됩니다. 미할당 안내 디자인은 자체 구현하여 변경할 수 있습니다.

...

광고 미할당 안내 디자인을 직접 구현하려면 다음의 절차를 따르세요.

  1. Feed 지면에 광고가 할당되지 않았을 때의 화면에 추가할 에러 이미지(feedErrorImageView), 타이틀(feedErrorTitle), 상세 설명(feedErrorDescription) 레이아웃을 작성하세요.

    Code Block
    <!-- custom_feed_error_view.xml -->
    
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:gravity="center_vertical"
        android:orientation="vertical"
        android:padding="40dp">
    
        <ImageView
            android:id="@+id/feedErrorImageView"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"/>
    
        <TextView
            android:id="@+id/feedErrorTitle"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="center_horizontal"
            android:layout_marginTop="32dp"
            android:textColor="@color/bz_text_emphasis"
            android:textSize="16sp" />
    
        <TextView
            android:id="@+id/feedErrorDescription"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="center_horizontal"
            android:layout_marginTop="8dp"
            android:textAlignment="center"
            android:textColor="@color/bz_text_description"
            android:textSize="14sp" />
    
    </LinearLayout>
  2. FeedErrorViewHolder를 구현하는 커스텀 클래스 CustomErrorView를 새로 생성하고, 자동 완성되는 GetView() 메소드를 다음과 같이 구현하세요.

    Code Block
    public class CustomErrorView extends FeedErrorViewHolder {
        @NonNull
        @Override
        public View getErrorView(@NonNull Activity activity) {
            // TODO: 1번에서 생성한 custom_feed_error_view 레이아웃을 inflate
            View errorView = activity.getLayoutInflater().inflate(R.layout.custom_feed_error_view, null, false);
            final ImageView errorImageView = errorView.findViewById(R.id.feedErrorImageView);
            final TextView errorTitle = errorView.findViewById(R.id.feedErrorTitle);
            final TextView errorDescription = errorView.findViewById(R.id.feedErrorDescription);
    
            errorImageView.setImageResource(R.drawable.bz_ic_feed_profile_coin); // 에러 이미지 설정
            errorTitle.setText("타이틀: 광고가 없습니다. "); // 에러 타이틀 텍스트 설정
            errorDescription.setText("디스크립션: 할당된 광고가 없습니다!"); // 에러 상세 텍스트 설정
            
            return errorView;
        }
    }
  3. FeedConfigfeedErrorViewHolderClass 속성에 이전 단계에서 생성한 CustomErrorView 클래스를 추가하세요.

    Code Block
    // Feed 지면 초기화
    // TODO: feedErrorViewHolderClass 속성에 2번에서 생성한 CustomErrorView 클래스를 설정합니다.
    final FeedConfig feedConfig = new FeedConfig.Builder(YOUR_FEED_UNIT_ID)
                    .feedErrorViewHolderClass(CustomErrorView.class)
                    .build();

액션형 광고의 브릿지 페이지에 배너 광고 지면 추가

...

  • AdfitNative ADN (연동 심사 불필요)

ADN 광고를 연동하기 위해서 ADN 연동을 참고하시기 바랍니다.