Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 9 Current »

Introduction

버즈애드 오퍼월을 안드로이드 어플리케이션에 연동하기 위한 가이드 문서입니다. 유저가 여러 액션형 광고에 참여할 수 있는 오퍼월 지면을 손쉽게 연동할 수 있습니다.

 예시 화면

예시 화면은 아래와 같습니다.

원하는 테마 컬러의 hex code를 버즈빌 매니저에게 전달주시면 적용 가능합니다. 색상 적용 범위는 아래와 같습니다.

  • 상단 툴바 색상

  • 포인트 금액 텍스트

  • 광고 타입 아이콘

Requirements

항목

내용

비고

1

안드로이드 지원 버전

Android 4.2(API Level 17) 이상

2

Google Play의 대상 API 레벨 요구사항을 충촉하기

Offerwall SDK의 대응: 1.1.0 버전 이상에서 

  • targetSdkVersion28 사용

  • compileSdkVersion28 이상 사용

정책 적용 시점

  • 신규 앱: 
    2019년 8월 1일

  • 기존 앱: 
    2019년 11월 1일

3

app_key

SDK 연동 및 샘플 어플리케이션 실행을 위해 필요

버즈빌 BD 매니저로부터 발급

Installation

하위 버전에서 1.1.0 버전 이상으로 업데이트 시, buzzad.jar을 다운받아 설치하셨을 경우, 라이브러리에 존재하는 buzzad-1.0.x.jar 파일을 삭제후 진행 부탁드립니다.

1. build.gradle 설정

repositories {
    maven { url "https://dl.buzzvil.com/public/maven" }
}


dependencies {
    implementation 'com.buzzvil:buzzad-offerwall:1.1.5'
}


2. AndroidManifest.xml에 아래와 같이 권한을 추가하고, 액티비티를 설정합니다.

<manifest>
    ...
    <!-- Permission for BuzzAd -->
    <uses-permission android:name="android.permission.INTERNET" />
    <!-- Below are Optional but recommended.
    without it you can only get limited ad list -->
    <uses-permission android:name="android.permission.GET_ACCOUNTS" />
    <uses-permission android:name="android.permission.READ_PHONE_STATE" />

    <application>
        ...
        <!-- Setting for Google Play Services -->
        <meta-data
            android:name="com.google.android.gms.version"
            android:value="@integer/google_play_services_version" />

        <!-- Activity for BuzzAd -->
        <activity
            android:name="com.buzzvil.buzzad.sdk.OfferWallActivity"
            android:theme="@android:style/Theme.Translucent.NoTitleBar" />
    </application>
</manifest>

ProGuard 사용 시 하기 code block 의 라인들을 ProGuard 설정에 추가합니다.

-keep class com.buzzvil.buzzad.sdk.** {*;}
-keep interface com.buzzvil.buzzad.sdk.** {*;}

-keep class com.google.android.gms.common.GooglePlayServicesUtil {*;}
-keep class com.google.android.gms.ads.identifier.AdvertisingIdClient {*;}
-keep class com.google.android.gms.ads.identifier.AdvertisingIdClient$Info {*;}

Call Methods

항목

코드 & 호출 위치

내용

초기화 필수

BuzzAd.init(String appKey, Context context)

  • 오퍼월을 보여주려는 액티비티의 onCreate에서 호출

appKey는 퍼블리셔 어드민 페이지에 로그인하여 확인 가능

오퍼월 액티비티 호출 필수

View 단위 연동은 아래 확인

BuzzAd.showOfferWall(Activity activity, String title, String userId)

반드시 BuzzAd.init() 을 호출한 이후에만 오퍼월 호출이 가능합니다.

앱 재설치 또는 일정 주기에 따라 userId 가 변화할 경우, 반드시 BD 매니저와 사전 논의 필요

UserProfile 객체 리턴 필수

BuzzAd.getUserProfile()

반드시 BuzzAd.init() 을 호출한 이후에만 이 메소드를 이용해서 UserProfile 객체를 리턴할 수 있습니다.

  • 성별, 나이별 타게팅 정보를 가진 광고를 유저에게 보여주려 할 때 사용

  • 리턴된 객체에 아래에 기술된 메소드로 유저의 성별, 나이 정보를 설정할 수 있습니다.

타게팅 정보는 원활한 서비스 운영을 위해 제공해야 할 필수 항목입니다.

유저 연령 설정 필수

setBirthYear(int birthYear)

유저의 출생 년도를 4자리의 숫자로 입력하여 나이를 설정합니다. (예: 1988)

유저 성별 설정 필수

setGender(String gender)

다음과 같이 미리 정의된 String 형식에 맞춰 성별을 적용해야 합니다.

  • UserProfile.USER_GENDER_MALE : 남성인 경우

  • UserProfile.USER_GENDER_FEMALE : 여성인 경우

 View 단위로 오퍼월 지면을 노출하고자 하는 경우

퍼블리셔 앱 내에서 여러 오퍼월을 연동하여, 하나의 액티비티 내에서 버즈빌 오퍼월을 View 단위로 연동하고자 하는 경우
위 “오퍼월 액티비티 호출” 단계 대신 아래 함수를 호출합니다.

    /**
    * get offerwall view
    * @param activity current context
    * @param userId user id for identifying user on publisher side
    */
   public static OfferwallView getOfferwallView(Activity activity, String userId) {
       return new OfferwallView(activity, APP_KEY, userId);
   }

Sample Code

public class MainActivity extends Activity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        /**
         * Initialize BuzzAd.
         * BuzzAd.init have to be called prior to other methods.
         * app_key : Unique key value for publisher. Please find it on your BuzzAd dashboard.
         * this : Context
         */
        BuzzAd.init("app_key", this);

        /**
         * Set User's profile(Optional)
         * BuzzAd.getUserProfile have to be called after BuzzAd.init is called.
         */
        UserProfile userProfile = BuzzAd.getUserProfile();

        userProfile.setBirthYear(1993);
        userProfile.setGender(UserProfile.USER_GENDER_FEMALE);

        findViewById(R.id.open_offerwall).setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                /**
                 * Show offer wall.
                 * MainActivity.this : Current activity
                 * Get Points : Header title on offer wall
                 * publisher_user_id : Unique user id for publisher
                 */
                BuzzAd.showOfferWall(MainActivity.this, "Get Points", "publisher_user_id");
            }
        });
    }
}

포인트 적립 포스트백 API 연동

  • 버즈애드에서 포인트 적립이 발생했을 때 버즈애드에서 직접 매체사 유저들에게 포인트를 지급하는 것이 아닙니다. 버즈애드 서버에서 매체사 서버로 포인트 적립 요청을 보낼 뿐이고, 실제 지급은 매체사 서버에서 처리합니다.

[DEPRECATED] 포인트 적립 포스트백 API 연동 문서를 참고하여 API 연동 후, endpoint url을 버즈빌 매니저에게 전달해주세요.

  • No labels