Versions Compared

Key

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

...

BuzzAdPush SDK를 안드로이드에 연동하기 위한 문서입니다. BuzzAdPush는 BuzzAd의 광고 상품 중 하나로 Push를 광고 지면으로 이용해 광고를 유저에게 보여줍니다. 유저가 잠금화면, Pop 등 앱의 별도 서비스를 사용할 때만 Push를 enable하도록 하는 것을 권장합니다.

SDK를 앱에 연동하기 전, 아래 사항을 먼저 준비해야 합니다.

  • Buzzvil의 BD 매니저를 통해 전달받은 app_id와 unit_id

  • Buzzvil 서버로부터 포인트 적립 요청을 받을 수 있는 매체사 API 서버 - 포인트 postback API 연동문서

    • Postback 수신 url 세팅 후 Buzzvil BD 매니저에게 전달

  • 테스트/라이브 하기 전 유저에게 제공할 Push를 받을 시간 옵션과 각 시간별 Push에 노출할 메세지를 BD 매니저에게 전달해주셔야 합니다. 따로 설정하지 않을 시 디폴트 시간 옵션과 메세지가 노출됩니다.

Prerequisite

  • Android Studio 3.2 혹은 그 이상

  • minSdkVersion 15 혹은 그 이상

  • compileSdkVersion 29 혹은 그 이상

...

Code Block
allprojects {
    repositories {
        google()
        jcenter()
        maven { url "https://dl.bintraybuzzvil.com/buzzvilpublic/maven/" }
    }
}

build.gradle: app Module

Code Block
dependencies {
    implementation "com.buzzvil:buzzad-benefit-push:2.09.0+"
    implementation 'com.android.support:multidex:1.0.3' 
}

...

  • FeedConfig 설정: FeedConfig 를 설정합니다. RewardNotificationConfig 설정:

    • feedToolbarHolderClass: 피드의 타이틀을 설정합니다. 자세한 내용은 toolbar customize를 확인해주세요.

  • RewardNotificationConfig 설정: Reward 를 받았을 때 보여주는 Notification 의 Config 를 설정합니다.

  • NotificationConfig 설정: Push 의 Notification 관련 config 를 설정합니다.

    • .putExtra(FeedActivity.EXTRA_CONFIG, feedConfig) 위에서 생성한 FeedConfig 를 설정합니다.

...

Code Block
public class CustomNotificationWorker extends NotificationWorker {
    public CustomNotificationWorker(@NonNull Context context,
                                    @NonNull WorkerParameters workerParams) {
        super(context, workerParams);
    }

    @Override
    @NonNull
    public NotificationConfig getNotificationConfig() {
        final FeedConfig feedConfig = new FeedConfig.Builder(getApplicationContext(), App.UNIT_ID_NOTI_PLUS)
                .feedToolbarHolderClass(CustomFeedToolbarHolder::class.java)
                .build();
        final RewardNotificationConfig rewardNotificationConfig = new RewardNotificationConfig.Builder().build();
        return new NotificationConfig.Builder(App.UNIT_ID_PUSH)
                .putExtra(FeedActivity.EXTRA_CONFIG, feedConfig)
                .build();
    }
}
  • PushDialogConfig 설정: PushDialog 관련 config 입니다.

    • colorConfirm: 확인버튼 색상 color resource id

    • colorCancel: 취소버튼 색상 color resource id

    • imageRegisterLogo: register dialog 로고 이미지 drawable resource id

    • imageUnregisterLogo: unregister dialog 로고 이미지 drawable resource id

  • RestartReceiver 에서도 사용하므로 Application 클래스에 static 함수로 구현합니다.

Code Block
public class App extends MultiDexApplication {
    ...
    public static PushDialogConfig getPushDialogConfig() {
        return new PushDialogConfig.Builder()
                .colorConfirm(R.color.colorAccent)
                .colorCancel(R.color.colorPrimary)
                .imageRegisterLogo(R.drawable.benefit_push_dialog_image_logo)
                .imageUnregisterLogo(R.drawable.benefit_push_dialog_image_logo)
                .build();
    }
}
  • BuzzAdPush 초기화

    • unitId: Push unit id

    • notificationWorkerClass: CustomNotificationWorker

    • notiPlusDialogConfig: PushDialog 관련 config

Code Block
BuzzAdPush buzzAdPush = 
    new BuzzAdPush(
            App.UNIT_ID_PUSH,)
                CustomNotificationWorker.class,.putExtra(FeedActivity.EXTRA_CONFIG, feedConfig)
               App .getPushDialogConfigbuild();
    );}
}

Image AddedImage Added

그림 1. register 설명 다이얼로그 그림 2. register(시간설정) 다이얼로그

1) Register with Description

...

Customize 페이지 에서 Customize 하는 방법을 소개합니다.

추가 리소스

Github의 샘플

...