Android

앱이 또 마켓에서 삭제되었네? 앱 컨텐츠 대상 연령 설정과 광고 연관성

최근에 앱에 버그가 있어서 업데이트를 하였다. 업데이트 하는 과정에 웹뷰를 하나 추가하였고, 웹뷰아래에 반응형 배너 광고를 하나 추가하였다. 그런데 오늘 앱이 마켓에서 삭제되었다는 메일이 왔다. 아 정말 징글징글하다. 구글 정책이 변경될 때 마다 곤욕스럽다. 위반 내용의 메일 내용은 아래와 같다.

메일 내용은, 앱 컨텐츠 등급에 맞는 광고를 노출해야한다는 뜻인데….. 앱컨텐츠 정보에 16~17세를 체크해 놨다.

대상 연령대 정보를 확인해보니 16~17세 연령대도 일부 지역에서는 어린이를 포함하는 것으로 간주 한단다. 그러니까 16~17세를 해제하거나, 애드몹사이트에 로그인하여, 차단관리메뉴에가서 성인관련 광고 카테고리를 차단해야하는 것이다.

만 16~17세

이 연령대는 일부 지역에서 어린이를 포함하는 것으로 간주됩니다.

다음과 같은 앱의 경우 이 연령대에 적합합니다.

  • 이 연령에서 일반적으로 학습하는 과목 지원
  • 10대에게 인기 있는 캐릭터나 주제 포함
  • 더 복잡한 문제 해결 요소 포함
  • 연령에 적합한 소셜 기능 및 플러그인 포함
  • 긍정적인 방식으로 감정을 표현하는 데 도움을 줌

다음의 경우 앱이 이 연령대에 적합하지 않을 수 있습니다.

  • 과도한 폭력이나 성폭력 또는 가정 폭력 묘사
  • 중독적인 요소가 있음
  • 지출 한도가 높음

그래서 나는 16~17세 부분을 체크 해제 하고 , apk를 새로 만들어서 다시 마켓에 등록하였다.

결과는 실패다!!! 그럼 혹시 최근에 Noti를 줄 때 추가한 코드가 문제가 되는 것일까? 추가했던

notificationChannel.setLockscreenVisibility(Notification.VISIBILITY_PRIVATE); 로직을 모두 주석 처리 후 다시 올렸지만 결과는 실패였다.

이제 마지막 해결 책은 가장 최근에 업데이트 성공한 버전으로 업데이트 하는 것이다.

스마트배너에서 적응형 배너로 변경 후 이 상황이 벌어지고 있다. 적응형 배너를 제거하고 스마트배너로 원상 복구작업을 하여, 마켓에 등록하였다. 결과를 기다리는 중이다. 5시간 정도가 흐른 것 같다. 마켓에 정상적으로 등록 되었다.

적응형 배너를 사용하기 위해서는 광고 SDK 버전을 최신버전으로 업데이트하여야 사용이 가능하다. 그래서 적응형 배너너를 사용하고자 최신버전으로 업데이트 했다.

implementation 'com.google.firebase:firebase-ads:19.1.0'

SDK 버전이 업데이트 될 때 마다 불안하다. 업데이트 하기가 꺼려진다.

스마트배너 사용당시로의 설정 정보들을 기록해둔다.

■build.grade(:app)

apply plugin: 'com.android.application'
apply plugin: 'io.fabric'

android {
    compileSdkVersion 28    //API 25 (Android 7.1) 28 : android 9: pie
    buildToolsVersion "28.0.3"
	defaultConfig {
        applicationId ".........................."
        minSdkVersion 16    //API 16 (Android 4.1-4.1.1) – Jelly Bean
        targetSdkVersion 28
        versionCode 327
        versionName "3.2.7"
        vectorDrawables.useSupportLibrary = true   //벡터이미지 사용 유무를 설정

        // Enabling multidex support.
        multiDexEnabled true
    }
    buildTypes {
        release {
            minifyEnabled true
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
        debug {
            minifyEnabled true
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }

    //https://developer.android.com/studio/run/index.html?utm_source=android-studio#instant-run
    dexOptions {
        jumboMode true
        javaMaxHeapSize "4g"
    }

//    lintOptions {
//        checkReleaseBuilds false
//        // Or, if you prefer, you can continue to check for errors in release builds,
//        // but continue the build even when errors are found:
//        abortOnError false
//    }


}

dependencies {
    implementation fileTree(include: ['*.jar'], dir: 'libs')
    testImplementation 'junit:junit:4.12'
    implementation 'androidx.multidex:multidex:2.0.1'
    implementation 'androidx.appcompat:appcompat:1.1.0'
    implementation 'androidx.media:media:1.1.0'
    implementation 'androidx.vectordrawable:vectordrawable-animated:1.1.0'
    implementation 'androidx.browser:browser:1.0.0' ///업데이트 불가
    implementation 'com.google.android.material:material:1.1.0'
    implementation 'com.google.firebase:firebase-messaging:20.1.3'
    implementation 'com.google.firebase:firebase-core:17.2.3'
    implementation 'com.google.firebase:firebase-ads:19.0.1'
    implementation 'com.google.firebase:firebase-crash:16.2.1' 
    androidTestImplementation 'androidx.test:runner:1.2.0'
    androidTestImplementation 'androidx.multidex:multidex-instrumentation:2.0.0'
    androidTestImplementation 'androidx.test.espresso:espresso-core:3.2.0'
    implementation('com.crashlytics.sdk.android:crashlytics:2.10.1@aar') {
        transitive = true
    }

}
 
apply plugin: 'com.google.gms.google-services'

■build.grade(프로젝트폴더)

// Top-level build file where you can add configuration options common to all sub-projects/modules.

buildscript {
    repositories {
        jcenter()
        maven {
            url 'https://maven.google.com/'
            name 'Google'
        }
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:3.6.1'
        classpath 'com.google.gms:google-services:4.2.0'

        // NOTE: Do not place your application dependencies here; they belong
        // in the individual module build.gradle files
    }
}

//2018.03.08
buildscript {
    repositories {
        //mavenLocal()
        maven {
            url 'https://maven.fabric.io/public'
        }
        google()
    }
    dependencies {
        classpath 'io.fabric.tools:gradle:1.31.2'
        //classpath 'io.fabric.tools:gradle:1.26.1'
        //classpath 'io.fabric.tools:gradle:1.+'
    }
}


allprojects {
    repositories {
        jcenter()
        maven {
            url 'https://maven.google.com/'
            name 'Google'
        }
    }
}

//allprojects {
//    repositories {
//        maven { url "https://jitpack.io" }
//    }
//}

task clean(type: Delete) {
    delete rootProject.buildDir
}

다음날 아침 7시…. 마켓에서 삭제되었다는 메일은 오지 않았다. 이슈가 해결된 것이다. 이번 경험을 토대로 비추어 볼때 구글 개발자 정책과 구글 AdMob 정책사이에, 그러니까, Admob에서 제공하고 있는 라이브러리가 연관성이 있어보인다고 생각되었다. 나는 당분간 광고 관련 라이브러리 업데이트를 하지 않을 것이다.

Leave a Reply

error: Content is protected !!