본 연동 가이드는 BuzzAd-Benefit Web SDK를 통해 안드로이드 앱 내의 웹뷰에서 광고를 보여주기 위해 필요한 Android SDK 연동 사항을 담고 있습니다. 광고를 보여줄 웹페이지는 Web SDK를 연동해야 합니다.

최소 지원 버전: 2.0.2

주의사항

  1. 안드로이드의 경우 TLS 1.2가 지원되지 않는 OS 4.4.2 미만의 버전에서는 Web SDK가 작동하지 않습니다.

설치


자세한 구현 사항은 샘플 코드에서 확인할 수 있습니다.

build.gradle 의 dependencies 부분에 아래 코드 추가

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

dependencies {
    implementation ("com.buzzvil:buzzad-benefit:2.21.+")
}

SDK 연동


1 단계: APP_ID설정

BuzzAdBenefit SDK를 연동하기 위해 AndroidManifest에 APP ID를 등록해야 합니다. 아래 코드를 참고하여 발급받은 YOUR_AOS_APP_ID를 입력해 주세요.

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="...">
    <application
        ...>
        <activity>
        </activity>
      
        <!-- Replace 0123456789 to YOUR_AOS_APP_ID -->
        <meta-data
            android:name="com.buzzvil.APP_KEY"
            android:value="app-pub-0123456789" />
    </application>
</manifest>

2단계: BuzzAdBenefit 초기화

Application Class의 onCreate에 아래 코드를 추가할 것을 권장합니다. 단, 최초 광고 요청 전에만 불린다면 자유롭게 코드 위치를 결정할 수 있습니다.

public class App extends Application {
    @Override
    public void onCreate() {
        super.onCreate();
        BuzzAdBenefit.init(this, new BuzzAdBenefitConfig.Builder(this).build());
    }
}

2 단계: 사용자 정보를 UserProfile 객체로 만들어서 저장

유저가 매체사 앱에 로그인한 시점에, 아래와 같이 UserProfile 을 세팅합니다. 설정값 수정 시, 기존 UserProfile 값을 호출하여 수정 가능합니다.

User ID와 타게팅 정보 (성별, 연령)는 원활한 서비스 운영을 위해 제공해야 할 필수 항목입니다. 해당 값을 입력하는 setUserProfile 함수를 호출하지 않으면 광고가 제공되지 않습니다.

동일 유저에 대해 복수개의 User ID를 연동하거나 혹은 User ID 값이 변경될 가능성이 있을 경우, 버즈빌 담당 운영 매니저와 논의해야 합니다.

  • 예시: 매체사 앱 삭제 후 재설치 시 User ID 값이 변경되는 경우

final UserProfile.Builder builder = new UserProfile.Builder(BuzzAdBenefit.getUserProfile());
final UserProfile userProfile = builder
        .userId("Your_Service_User_ID")
        .gender(UserProfile.Gender.MALE)
        .birthYear(1985)
        .build();
  
BuzzAdBenefit.setUserProfile(userProfile);

유저의 로그인 정보를 웹페이지에서 알 수 있지만 앱에서 알 수 없는 경우, 웹페이지에서 사용자 프로필을 설정하는 기능을 지원하고 있습니다.

3 단계: 광고를 표시할 웹뷰 설정

광고를 표시하려고 하는 웹뷰에 다음 코드를 추가하여, 웹 SDK와 소통할 수 있어야 합니다.

final BuzzAdBenefitJavascriptInterface javascriptInterface = new BuzzAdBenefitJavascriptInterface(webView);
webView.getSettings().setJavaScriptEnabled(true); // JS를 사용하여 광고를 로드하기 때문에 필수임
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
    // 롤리팝부터 Mixed Content 에러 막기 위함.
    webView.getSettings().setMixedContentMode(WebSettings.MIXED_CONTENT_ALWAYS_ALLOW);
}
webView.addJavascriptInterface(javascriptInterface, BuzzAdBenefitJavascriptInterface.INTERFACE_NAME);

4 단계. Benefit JS SDK가 삽입된 웹페이지 로드

Benefit JS SDK가 삽입된 웹페이지를 열 경우, 안드로이드 코드에서 설정한 UserProfile 정보 등을 JS SDK에서 자동으로 받아 광고를 로드합니다.

webView.loadUrl(MY_WEB_PAGE);

5 단계. 사용자 정보 삭제

유저가 매체사 앱에서 로그아웃하는 시점에 UserProfile 설정값을 지워 유저의 사용 정보를 삭제합니다.

BuzzAdBenefit.setUserProfile(null);