본 연동 가이드는
Table of Contents | ||||
---|---|---|---|---|
|
개요
이 가이드는 Android 앱 내의 WebView에서 광고를 표시하기 위한 BuzzAd-Benefit Web SDK를 통해 안드로이드 앱 내의 웹뷰에서 광고를 보여주기 위해 필요한 Android SDK 연동 사항을 담고 있습니다. 광고를 보여줄 웹페이지는 Web SDK를 연동해야 합니다.
최소 지원 버전: 2.0.2
주의사항
안드로이드의 경우 TLS 1.2가 지원되지 않는 OS 4.4.2 미만의 버전에서는 Web SDK가 작동하지 않습니다.
설치
Tip |
---|
자세한 구현 사항은 샘플 코드에서 확인할 수 있습니다. |
...
Android용 SDK 연동 방법을 안내합니다.
1 단계: 연동용 ID 발급받기
BuzzAd Android용 SDK를 연동하려면 반드시 앱의 고유 식별자인 App ID
와 광고 지면의 고유 식별자 Unit ID
가 필요합니다. 연동용 ID를 발급받으려면 버즈빌 담당자에게 연락하세요.
ID 유형 | 설명 |
---|---|
App ID | BuzzAd Android용 SDK를 연동하는 앱 별로 부여하는 고유 식별자입니다. |
Unit ID | 앱 내에 광고 지면별로 부여하는 고유 식별자입니다. |
2 단계: SDK 설치하기
BuzzAd Android용 SDK를 설치하려면 다음의 절차를 따르세요.
프로젝트 레벨의
build.gradle
파일에 BuzzAd SDK 저장소를 추가하세요.Code Block language java // 프로젝트 레벨의 build.gradle allprojects { repositories { maven { url "https://dl.buzzvil.com/public/maven" } // 버즈빌 저장소 } }
모듈 레벨의
build.gradle
파일에 BuzzAd SDK 라이브러리를 추가하세요.Code Block language java // 모듈 레벨의 build.gradle dependencies { implementation ("com.buzzvil:buzzad-benefit:
...
3.
...
3.+")
...
SDK 연동
1 단계: APP_ID
설정
...
// BuzzAd SDK 라이브러리 }
모듈 레벨의
build.gradle
파일에compileSdkVersion
과targetSdkVersion
을 31로 업데이트하세요.
Code Block | ||
---|---|---|
| ||
<?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="..."> <application ...> <activity> </activity>android { compileSdkVersion 31 defaultConfig { targetSdkVersion 31 } } |
Warning |
---|
SDK 설치 시 문제가 발생하는 경우, 문제 해결하기 토픽을 참고하세요. |
3 단계: App ID 설정하기
AndroidManifest.xml
파일에서 다음과 같이 <meta-data>
요소를 추가하고, app-pub-{YOUR_APP_ID}
의 {YOUR_APP_ID}
를 버즈빌 담당자로부터 발급받은 App ID로 교체하세요.
발급받은 App ID가 123456789123 이라면 app-pub-123456789123
가 되어야 합니다.
Code Block | ||
---|---|---|
| ||
<manifest> <application> <!-- ReplaceBuzzAd 0123456789SDK to YOUR_AOS_APP_App ID --> <meta-data android:name="com.buzzvil.APP_KEY" android:value="app-pub-0123456789{YOUR_APP_ID}" /> </application> </manifest> |
...
4 단계: SDK 초기화하기
Application
Class의 onCreate
에 아래 코드를 추가할 것을 권장합니다. 단, 최초 광고 요청 전에만 불린다면 자유롭게 코드 위치를 결정할 수 있습니다의 onCreate()
에서 다음의 코드를 추가하여 BuzzAd Android용 SDK를 초기화하세요.
Info |
---|
앱에 연동하는 모든 지면의 디자인 테마를 변경하려면 SDK 초기화 메소드 |
Code Block | ||
---|---|---|
| ||
public class App extends Application { @Override public void onCreate() { super.onCreate(); BuzzAdBenefit.init(this, // BuzzAdBenefit 초기화 final BuzzAdBenefitConfig buzzAdBenefitConfig = new BuzzAdBenefitConfig.Builder(this)context) .build(); BuzzAdBenefit.init(this, buzzAdBenefitConfig); } } |
...
5단계: 사용자
...
유저가 매체사 앱에 로그인한 시점에, 아래와 같이 UserProfile
을 세팅합니다. 설정값 수정 시, 기존 UserProfile 값을 호출하여 수정 가능합니다.
Info |
---|
User ID와 타게팅 정보 (성별, 연령)는 원활한 서비스 운영을 위해 제공해야 할 필수 항목입니다. 해당 값을 입력하는 setUserProfile 함수를 호출하지 않으면 광고가 제공되지 않습니다. |
userId : 매체사 서비스 유저를 unique 하게 구분할 수 있는 식별값. 유저를 구별할 수만 있으면 매체사 서비스의 사용자 계정이 아니어도 됩니다.
Note |
---|
동일 유저에 대해 복수개의 User ID를 연동하거나 혹은 User ID 값이 변경될 가능성이 있을 경우, 버즈빌 담당 운영 매니저와 논의해야 합니다.
|
...
gender
UserProfile.Gender.MALE
: 남성UserProfile.Gender.FEMALE
: 여성
...
프로필 등록하기
광고 할당을 요청하려면 사용자 프로필을 등록해야 합니다. 사용자 프로필을 구성하는 항목은 아래 표를 참고하세요.
사용자 프로필 | 설명 | ||
---|---|---|---|
| 매체사 앱에서 사용하는 사용자 식별자입니다. 서비스 도중 변하지 않는 고정 값이어야 하며, 광고 할당을 위해서 필수로 전달해야합니다.
| ||
| 사용자의 성별입니다. 사용자 맞춤형 광고를 제공하는 데에 활용됩니다.
| ||
| 사용자의 출생연도입니다. 사용자 맞춤형 광고를 제공하는 데에 활용됩니다. |
사용자가 로그인하는 시점에 다음의 코드를 추가하여 SDK에 사용자 프로필을 등록하세요.
원활한 서비스 운영을 위해 사용자 프로필 등록은 반드시 호출해야합니다. BuzzAdBenefit.setUserProfile()
메소드를 호출하지 않으면 광고가 제공되지 않습니다.
Info |
---|
사용자의 로그인 정보를 웹 페이지에서 알 수 있지만 앱에서 알 수 없는 경우, 웹 페이지에서 사용자 프로필을 설정하는 기능을 지원하고 있습니다. |
Code Block | ||
---|---|---|
| ||
// 사용자 정보를 등록하는 코드입니다. final UserProfile.Builder builder = new UserProfile.Builder(BuzzAdBenefit.getUserProfile()); final UserProfile userProfile = builder .userId("YourUSER_Service_User_ID") // 사용자 식별자값 .gender(UserProfile.Gender.MALE) // 사용자의 성별 .birthYear(19852000) // 출생연도 .build(); BuzzAdBenefit.setUserProfile(userProfile); |
Info |
---|
유저의 로그인 정보를 웹페이지에서 알 수 있지만 앱에서 알 수 없는 경우, 웹페이지에서 사용자 프로필을 설정하는 기능을 지원하고 있습니다. |
...
사용자가 앱에서 로그아웃하는 시점에 다음과 같이 사용자 프로필 정보를 삭제하세요.
Code Block | ||
---|---|---|
| ||
// SDK에 등록한 사용자 프로필을 삭제하는 코드입니다.
BuzzAdBenefit.setUserProfile(null); |
6 단계: 광고를 표시할
...
WebView 설정
웹 SDK와 소통할 수 있도록 광고를 표시하려고 하는 웹뷰에 다음 코드를 추가하여, 웹 SDK와 소통할 수 있어야 합니다추가하세요.
Code Block | ||
---|---|---|
| ||
WebView webview = (WebView) findViewById(R.id.webView); 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); |
...
7 단계
...
: Benefit JS SDK가 삽입된
...
웹 페이지 로드하기
Benefit JS SDK가 삽입된 웹페이지를 웹 페이지를 열 경우, 안드로이드 Android 코드에서 설정한 UserProfile
정보 등을 JS Web SDK에서 자동으로 받아 광고를 로드합니다.
Code Block | ||
---|---|---|
| ||
webView.loadUrl(MY_WEB_PAGE); |
5 단계. 사용자 정보 삭제
유저가 매체사 앱에서 로그아웃하는 시점에 UserProfile
설정값을 지워 유저의 사용 정보를 삭제합니다.
...
language | java |
---|
...
8단계: 앱 빌드하기
BuzzAd Android SDK를 사용하기 위한 모든 설정이 완료되었습니다. 앱을 빌드하고 정상적으로 실행되는지 확인하세요.
Github 샘플 코드를 통해 실제 구현에 사용된 예제를 참고할 수 있습니다.
다음 단계
광고 지면 추가하기
Web SDK 연동 가이드를 참고하여 웹페이지에 Web SDK를 추가하고, 앱에 광고 지면을 표시하세요.
포인트 적립 서버 준비하기
사용자가 광고에 참여하면 포인트를 지급해야 하므로 포인트 적립 요청을 처리할 수 있는 서버가 필요합니다.
포인트 처리 서버를 준비하고, 포스트백 연동 가이드에 명시된 API 스펙에 따라 포스트백 API를 구현하세요.