1. 참고 사항
•
SDK 최신 버전: 3.5.2
•
지원 OS: Android , iOS
2. Integration Guide
매체 연동 가이드
Search
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 방식으로도 가능합니다.)
Table
Search