Search
moon
sun

SDK Integration Guide

1. 참고 사항

SDK 최신 버전: 4.2.2
지원 OS: Android , iOS

2. Integration Guide

Search
연동가이드
URL
OS
지원 플랫폼

3. Offerwall SDK 연동

1) build.gradle 설정

💡
build.gradle 파일에 아래의 내용을 추가합니다. 3.5.0이상 버전 부터 오퍼월 UI 내 Google Admob 광고를 게시 되도록 설정을 추가 할 수 있습니다. 오퍼월 UI 내에 Admob 광고는 Admob Mediation Adapter SDK 중 일부를 포함합니다. Admob 광고 게시를 위해 프로젝트 레벨의 build script 내에 Google Admob Mediation 관련 repositories를 작성해주세요.
[Project script]
allprojects { repositories { ... maven { url "https://nexus.adforus.com/repository/greenp/" } maven { // Optional - 오퍼월 내 구글 광고를 사용하시려면 작성 해주세요! url 'https://artifact.bytedance.com/repository/pangle/' } } }
Plain Text
복사
3.5.0이상 버전 부터는 viewBinding 옵션을 필수로 요구합니다. 다음과 같이 viewBinding 옵션을 true로 설정하여 주세요
오퍼월 내 Google Admob 광고 게시를 위해서는 ADSU SDK를 의존성 목록에 추가 하여주세요.
[Module script]
android { viewBinding{ enabled = true } } dependencies { ... // 가이드 문서 내 최신버전 참고 implementation 'com.adforus.sdk:greenp_v3:3.5.2' implementation 'com.adforus.sdk:adsu:1.2.0' // Optional - 오퍼월 내 구글 광고를 사용하시려면 작성 해주세요! }
Plain Text
복사

2) AndroidManifest.xml 설정

💡
개인 식별과 리워드 적립을 위해 아래의 권한이 필요합니다. 권한 설정이 되지 않는 경우 SDK를 사용할 수 없습니다.
<uses-permission android:name="android.permission.INTERNET"/> <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/> <uses-permission android:name="com.google.android.gms.permission.AD_ID"/> <!-- CS 첨부파일 등록을 위해 외부 파일 접근권한이 필요합니다. api level에 따라 선택해서 선언해주세요. --> <!-- targetSdk 32 이하 --> <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/> <!-- targetSdk 33 이상 --> <uses-permission android:name="android.permission.READ_MEDIA_IMAGES"/>
Plain Text
복사
2-1) HTTP 허용 관련
그린피 SDK 에서는 HTTPS 를 사용하고 있지 않습니다. 따라서 SDK의 AndroidManifest.xml 을 통해 아래의 내용을 포함하고 있습니다. (그린피에서는 많은 광고사를 실시간으로 연동하고 있어 여러 도메인이 추가/삭제 될 수 있습니다. 가급적 모든 HTTP 트래픽의 허용을 권장드립니다.)
[AndroidManifest.xml]
<application ... android:usesCleartextTraffic="true"> ... <application/>
Plain Text
복사
앱의 보안을 위해 HTTP 프로토콜을 허용하지 않고자 하시는 경우 usesCleartextTraffic 을 false 로 변경 후 network_security_config.xml 에 아래의 도메인을 예외사항으로 추가해주세요. (허용이 필요한 도메인의 목록은 예고없이 추가/삭제 될 수 있습니다.)
[network_security_config.xml]
<domain includeSubdomains="true">greenp.kr</domain> <domain includeSubdomains="true">decaffeine.net</domain> <domain includeSubdomains="true">adboost.co.kr</domain>
Plain Text
복사

3) Proguard 설정

-keep class com.adforus.sdk.greenp.v3.** { *; } -dontwarn com.adforus.sdk.greenp.v3.** -keep class com.adforus.sdk.adsu.** {*;} -dontwarn com.adforus.sdk.adsu.**
Plain Text
복사

4) SDK 초기화

4-1) init 호출
앱의 최초 실행 부분에서 SDK 를 초기화 합니다. ( ex. Application, MainActivity 등 ) (주의!!)3.5.0 v 이상부터 복수의 appCode를 사용하여 여러 곳에 오퍼월을 게제 할 수 있습니다. 복수의 오퍼월을 부를 때에는 GreenpReward의 static 함수가 init이 아닌 GreenpReward의 instance 함수 initialize를 사용합니다.
/** * @params * - Context context * - String appCode ( 발급받은 매체 코드 ) * - String appUid( 매체사 유저 아이디 ) * - OnGreenpRewardListener listener * */ // 단일 오퍼월 사용 시 GreenpReward.init(Context context, String appCode, String appUid, GreenpReward.OnGreenpRewardListener listener); 또는 // 복수 오퍼월 사용 시 GreenpReward greenpReward = new GreenpReward() greenpReward.initialize(Context context, String appCode, String appUid, GreenpReward.OnGreenpRewardListener listener);
Plain Text
복사
※ 유저 구분값 생성 규칙
1.
각각의 유저별 고유한 값을 이용해야 합니다.
2.
개인정보 및 ADID는 사용할 수 없습니다. ( 암호화 후 사용 가능 )
3.
한글, 특수문자, 공백은 반드시 URL 인코딩 후 사용하셔야 합니다.
4-2) OnGreenpRewardListener 결과 값
SDK 초기화 시 결과 값을 listener 로 전달합니다.
/** * @params * - boolean result * - String msg( 초기화 실패 시 에러 메시지 ) * */ public void onResult(boolean result, String msg){ ... }
Plain Text
복사
4-3) OfferwallBuilder
OfferwallBuilder 객체는 오퍼월 Activity와 fragment를 부르는데 사용됩니다. OnGreenpRewardListener 를 통해 SDK 초기화에대한 성공을 리턴받으면 OfferwallBuilder 객체를 가져옵니다. (주의!!)3.5.0 v 이상부터 사용 가능한 복수의 오퍼월을 부를 때에는 GreenpReward의 static 함수 getOfferwallBuilder()이 아닌 GreenpReward의 instance 함수인 createOfferwallBuilder()으로 객체를 가져와야 합니다.
// 단일 오퍼월 호출시 OfferwallBuilder builder = GreenpReward.getOfferwallBuilder(); 또는 //복수 오퍼월 호출시 OfferwallBuilder builder = greenpReward.createOfferwallBuilder(); //필요한 경우 매체 고유키를 등록합니다. ( 광고 참여에 대한 postback 전송 시 전달될 리퍼러 ) builder.setAppUniqKey(String appUniqKey); //GreenpReward.getOfferwallBuilder().setAppUniqKey(String appUniqKey); //그린피의 기본 폰트설정 사용여부를 설정합니다. //true로 설정한 경우 그린피 기본폰트, false로 설정한 경우 시스템폰트를 적용합니다. ( 기본값 false ) builder.useGreenpFontStyle(boolean use);
Plain Text
복사

5) SDK 사용법

5-1) Offerwall 호출
Greenp Offerwall Activity 를 호출합니다.
//오퍼월 호출 builder.showOfferwall(Activity activity);
Plain Text
복사
5-2) Fragement 호출
Fragment 형태의 뷰를 호출합니다.
(1) Fragment 요청 함수
/** * @params * - Activity activity * - int bannerType ( OfferwallBuilder.BANNER_FRAGMENT ) * - OnRequestBannerListener listener * */ builder.requestBanner(Activity activity, int bannerType, OfferwallBuilder.OnRequestBannerListener listener);
Plain Text
복사
(2) 요청 결과로 전달받은 GreenpBanner class
/** * @method * - View getFragment() ( 오퍼월 Fragment 요청 시 Fragement 를 반환 ) * */
Plain Text
복사

6) 파라미터 콜백 설정

광고 참여가 정상적으로 완료된 경우, 매체사에서 등록 하신 콜백 URL로 암호화키를 전송해 드립니다.
💡
광고 참여가 정상적으로 완료된 경우, 매체사에서 등록하신 콜백 URL로 암호화키를 전송해 드립니다. Callback URL : 매체사 URL Method : GET of POST (기본은 GET 방식이나 요청 시 POST 방식으로도 가능합니다.)
Search
Parameter
Type
설명
int
광고키
string
캠페인 타이틀
int
매체사에 지급되는 금액
string
매체에서 보낸 유저 구분 값 (User ID)
int
전환 건에 대한 유니크 값
string
referrer 값. 매체용 추가 정보 (매체 uniq 클릭값 등) etc 대신 원하는 파라미터로 변경 가능