개요

이 가이드의 토픽 제목은 BuzzRoulette 버전을 기준으로 작성되었습니다. 각 토픽의 본문에 BuzzRoulette 버전과 조합되는 Android용 BuzzAd 또는 BuzzScreen SDK 버전을 표기하는 경우도 있으나, 토픽 제목의 버전은 BuzzRoulette 버전임을 참고하시고 필요한 마이그레이션 가이드를 확인하시기 바랍니다.

BuzzRoulette과 BuzzAd, BuzzScreen의 조합 버전은 여기에서 확인하세요.

2.2.7 미만에서 2.4.x 또는 2.7.x 로 마이그레이션

이 토픽은 BuzzRoulette 버전을 2.2.+(2.2.7 미만)에서 2.4.+ 또는 2.7.+로 업데이트하기 위한 마이그레이션 방법을 제공합니다.

기존에 BuzzAd와 BuzzScreen에 연동한 BuzzRoulette 버전을 2.2.+(2.2.7 미만)에서 2.4.+ 또는 2.7.+로 업데이트하려면 이 가이드의 내용을 따라 마이그레이션 작업을 진행하세요.

기능 변경 사항

BuzzRoulette 2.4.+로 업데이트하기

BuzzAd 라이브러리 버전은 3.3.+, BuzzScreen 라이브러리 버전은 3.39.+, BuzzRoulette 라이브러리 버전은 2.4.+로 지정하세요.

BuzzAd와 BuzzRoulette을 연동한 경우
// 앱 모듈의 build.gradle
dependencies {
    implementation "com.buzzvil:buzzad-benefit:3.3.+"
    implementation "com.buzzvil:buzz-roulette:2.4.+"
}
BuzzScreen과 BuzzRoulette을 연동한 경우
// 앱 모듈의 build.gradle
dependencies {
    implementation 'com.buzzvil:buzzscreen:3.39.+'    
    implementation 'com.buzzvil:buzz-roulette:2.4.+'
}
BuzzAd, BuzzScreen, BuzzRoulette을 모두 연동한 경우
// 앱 모듈의 build.gradle
dependencies {
    implementation "com.buzzvil:buzzad-benefit:3.3.+"
    implementation 'com.buzzvil:buzzscreen:3.39.+'    
    implementation 'com.buzzvil:buzz-roulette:2.4.+'
}

BuzzRoulette 2.7.+로 업데이트하기

BuzzAd 라이브러리 버전은 3.5.+, BuzzScreen 라이브러리 버전은 4.0.+, BuzzRoulette 라이브러리 버전은 2.7.+로 지정하세요.

BuzzAd만 연동한 경우
// 앱 모듈의 build.gradle
dependencies {
    implementation "com.buzzvil:buzzad-benefit:3.5.+"
    implementation "com.buzzvil:buzz-roulette:2.7.+"
}
BuzzScreen만 연동한 경우
// 앱 모듈의 build.gradle
dependencies {
    implementation 'com.buzzvil:buzzscreen:4.0.+'    
    implementation 'com.buzzvil:buzz-roulette:2.7.+'
}
BuzzAd와 BuzzScreen을 모두 연동한 경우
// 앱 모듈의 build.gradle
dependencies {
    implementation "com.buzzvil:buzzad-benefit:3.5.+"
    implementation 'com.buzzvil:buzzscreen:4.0.+'    
    implementation 'com.buzzvil:buzz-roulette:2.7.+'
}

마이그레이션 오류 해결하기

마이그레이션을 위한 dependency 추가 시 다음과 같은 오류가 발생할 수 있습니다. 해당 오류를 해결하려면 gradle.propertiesandroid.enableJetifier=true 를 추가하세요.

Caused by: org.gradle.workers.internal.DefaultWorkerExecutor$WorkExecutionException: A failure occurred while executing com.android.build.gradle.internal.res.ResourceCompilerRunnable

Caused by: com.android.aaptcompiler.ResourceCompilationException: Resource compilation failed. Check logs for details.

Caused by: java.lang.IllegalStateException: Failed to compile values file.

Caused by: java.lang.RuntimeException: Manifest merger failed with multiple errors, see logs

Caused by: org.gradle.workers.internal.DefaultWorkerExecutor$WorkExecutionException: A failure occurred while executing com.android.build.gradle.internal.tasks.CheckDuplicatesRunnable

Caused by: java.lang.RuntimeException: Duplicate class android.support.v4.app.INotificationSideChannel found in modules core-1.7.0-runtime (androidx.core:core:1.7.0) and support-compat-28.0.0-runtime (com.android.support:support-compat:28.0.0)

Pangle ADN 설정 제거하기

BuzzRoulette 2.2.7부터 Pangle ADN이 기본적으로 포함됩니다.
기존에 Pangle ADN을 연동한 경우, 저장소를 제외한 설정을 제거하세요. 이미 BuzzRoulette 내부에 포함되어 있는 설정이므로 제거하지 않으면 충돌 가능성이 있습니다.

Pangle ADN의 저장소는 제거하면 안 됩니다. 제거하면 안 되는 저장소 설정에 대해서는 아래의 코드 스니펫을 참고하세요.

// 프로젝트 레벨의 build.gradle
allprojects {
    repositories {
        // 아래 내용은 삭제하지 않습니다.
        maven { url 'https://jitpack.io' }  // jitpack 추가
        maven { url 'https://artifact.bytedance.com/repository/pangle' } // Pangle ADN
    }
}

다음의 절차를 따라 불필요한 Pangle ADN 설정을 제거하세요.

1. 앱 모듈의 build.gradle에서 아래 내용을 삭제하세요.

// 앱 모듈의 build.gradle
dependencies {
    // 아래 의존성 삭제
    implementation 'com.pangle.global:ads-sdk:3.5.0.5'
}

2. AndroidManifest.xml 파일에서 WAKE_LOCK 권한과 provider를 삭제하세요.

<manifest>
    <application> 
       <!-- 아래 provider를 삭제합니다. -->
       <provider 
           android:name="com.bytedance.sdk.openadsdk.multipro.TTMultiProvider" 
           android:authorities="${applicationId}.TTMultiProvider" 
           android:exported="false" />
    </application>
    
    <!-- 아래 권한을 삭제합니다. -->
    <uses-permission android:name="android.permission.WAKE_LOCK" />
</manifest>   

3. 프로젝트 레벨의 proguard-rules.pro 파일에 난독화 방지 설정을 삭제하세요.

// 프로젝트 레벨의 proguard-rules.pro 파일
// 아래 내용을 삭제합니다.
-keep class com.bytedance.sdk.** { *; } 
-keep class com.pgl.sys.ces.* {*;}

2.15.x 에서 2.17.x 로 마이그레이션

이 토픽은 BuzzRoulette 버전을 2.15.+에서 2.17.+ 로 업데이트하기 위한 마이그레이션 방법을 제공합니다.

기존에 BuzzAd와 BuzzScreen에 연동한 BuzzRoulette 버전을 2.15.+에서 2.17.+로 업데이트하려면 프로젝트 레벨의 build.gradle 파일에 jitpackPangle ADN repository를 추가하세요.

// 프로젝트 레벨의 build.gradle

allprojects {
    repositories {
        maven { url 'https://jitpack.io' }  // jitpack 추가
        maven { url 'https://artifact.bytedance.com/repository/pangle' } // Pangle ADN 저장소 추가
    }
}