안드로이드 SDK 설정

안드로이드는 SDK는 Private Maven 저장소에 등록되어 있습니다. 아래의 가이드를 통해 저장소 주소와 SDK 의존성을 설정해 주시기 바랍니다.

지원 OS 버전

AdiSON 오퍼월 SDK는 안드로이드 OS 버전 4.1(API 레벨 16, 코드네임 젤리빈) 이상에서 사용하실 수 있습니다.

Gradle 설정

  • 프로젝트 단위 build.gradle 파일에 아래의 Repository를 추가합니다.

allprojects {
    repositories {
        // AdiSON 오퍼월 저장소
        maven {
            url = 'https://repo.nbt.com/repository/adison-ads-android'
            credentials {
                username 'dist'
                password 'vtOpykLjF9I9o5UUuBEtKuTXcYM4db6Xzxd'
            }            
        }
    }
}
  • 모듈 단위 build.gradle 에 아래 Dependency를 추가합니다.

android {
    compileOptions {
        sourceCompatibility JavaVersion.VERSION_1_8
        targetCompatibility JavaVersion.VERSION_1_8
    }
}

dependencies {
    // AdiSON 오퍼월 SDK
    implementation ('co.adison:adison-offerwall-sdk:2.7.0') {
        transitive = true  // 종속성 연동을 위한 값
    }
    
    implementation('com.google.android.gms:play-services-ads-identifier:17.0.0')
}

최신 버전인 2.7.0 버전으로 반드시 고정하여 사용해주시기 바랍니다.

구글 광고 ID 획득 및 처리를 위하여 구글 플레이 서비스의 Ads 라이브러리를 반드시 추가하여야 합니다.

Gradle 스크립트 수정 후 Android Studio의 [File > Sync Project with Gradle File] 을 통해 SDK 설치를 완료합니다.

초기화

  • Adison.initialize() 함수를 이용하여 Adison 초기화

    : initialize() 함수는 Main Application이 초기화 되는 시점에 같이 초기화 되도록 구성해 주시기 바랍니다.

Adison.initialize(this.applicationContext, PUB_APP_KEY)
Adison.setServer(Server.Development)  // 초기에는 개발환경으로 설정
Adison.debugEnable = true  // 디버그 로그 표시 

오퍼월 표시

Adison.showOfferwall() 함수를 호출하여 오퍼월을 표시합니다.

Adison.showOfferwall()

로그인 연동

하기 암호화 방식은 취약성 때문에, 해당 방식을 통한 암호화는 권장하지 않습니다.

  • AES

  • AES/ECB/NoPadding

  • AES/ECB/PKCS5Padding

  • AES/ECB/ISO10126Padding

구글에서는 AES/GCM/Nopadding 방식을 사용하기를 권장하고 있습니다.

상기 4가지 방법으로 암호화 구현 시, 구글 플레이스토어 출시보고서에서 경고를 받을 수 있습니다.

Adison.setUid("573E010013647A49B8F6B3E35E8B3C4")
  • uid는 추후 적립 처리가 가능하도록 별도로 암호화 한 사용 식별값을 설정해주시기 바랍니다.

  • 개인정보(이메일, 이름, 전화번호, 식별가능한 사용자 ID 등)을 사용하면 안됩니다.

  • uid는 총 80자 한도에서 설정해주시기 바랍니다.

  • 개인정보보호를 위한 별도의 약관을 표시하고 이를 동의한 사용자만 설정해주시기 바랍니다.

uid는 약관 동의한 사용자의 경우만 식별자를 입력해 주시기 바랍니다.

아래 그림과 같이 오퍼월 표시 이전에 사용자 식별자를 입력해 주시기 바랍니다. 약관 동의가 필요한 경우는 관련 처리를 먼저 수행하고 로그인 연동 후 오퍼월을 표시해 주세요.

약관 동의를 지연하여 처리하는 경우

약관 동의는 사용자의 적극적인 참여를 유도하기 위해 오퍼월을 먼저 경험한 이후 사용자 식별자가 필수인 시점(광고 참여와 문의하기 이동) 전으로 지연하여 처리가 가능합니다. listener를 등록하고 사용자 식별자 입력 전에 오퍼월을 표시하면 해당 시점에 requestLogin()을 콜백으로 호출하여 약관 처리를 요청합니다. 매체 앱에서 약관을 표시하고 동의한 사용자의 식별자를 입력해 주세요. 로그인 연동 이후 해당 화면을 종료하고 오퍼월 화면으로 재진입하면 내부에서 식별자 변경을 인지하여 사용자의 기존 액션을 이어서 진행합니다.

Adison.setOfferwallListener(object: AdisonOfferwallListener() {
    override fun requestLogin(context: Context?) {
        // 매체 앱에서 약관을 표시하고 동의한 사용자 식별자를 setUid로 처리해 주세요.
    }
})

로그인 연동 해제가 필요한 경우

사용자가 로그아웃을 하거나 개인정보 철회, 서비스 탈퇴하는 경우에는 애디슨 오퍼월에 사용 식별값 해제하여 연결 관계를 끊을 수 있습니다.

로그아웃, 탈퇴, 사용자 동의 철회의 경우 SDK에서도 반드시 로그인 연동을 해제해 주셔야 합니다.

Adison.setUid(null)

Last updated