未经授权的广告点击-违反设备和网络滥用政策

时间:2019-08-14 09:30:39

标签: android google-play-protect

我们最近从Playstore中删除了我们的应用程序(一张票),Google表示这是违反设备和网络滥用政策,他们说我们已确定您的应用程序正在助长未经授权的用户设备广告点击。但是我们的应用程序没有任何广告。它如何促进unauthorized advertising clicks

在尝试安装apk时,播放保护对话框也会显示: This app tries to use your device to commit advertising frauds

在任何现有设备上,都会弹出通知,告知用户此app is harmful

以下是我们的应用所需的权限:

<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />
<uses-permission android:name="android.permission.CHANGE_NETWORK_STATE" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.CAMERA" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.CALL_PHONE" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" tools:node="remove"/>
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" tools:node="remove"/>

以下是我们正在使用的库: `。

     dependencies {
    compile fileTree(include: ['*.jar', '*.aar'], dir: 'libs')
    // Library for UI testing
    // Library for WebView testing using Espresso
    // Library for RecyclerView UI testing using Espresso
    androidTestImplementation('com.android.support.test.espresso:espresso-contrib:2.0') {
        exclude group: 'com.android.support', module: 'appcompat'
        exclude group: 'com.android.support', module: 'support-v4'
        exclude group: 'javax.inject'
        exclude module: 'recyclerview-v7'
    }
    // Library to listen to network events: min sdk version = 9
    // Adapter delegates for RecyclerViews
    // Library for validations
    // Library for swipe to dismiss on RecyclerViews
    // Library for the "About us" pages
    implementation('com.mikepenz:aboutlibraries:5.1.1@aar') {
        transitive = true
    }
    // Library for RecyclerViews animations
    // Tabs
    // Parcelable
    implementation('com.crashlytics.sdk.android:crashlytics:2.6.7@aar') {
        transitive = true;
    }
    implementation('com.crashlytics.sdk.android:answers:1.3.6@aar') {
        transitive = true;
    }
    apply from: 'check-release.gradle'
    // These are the necessary Maven dependencies for apps using the HAFAS library
    // The actual HAFAS library together with a HaCon special version of Google GSON.

    // Both libraries are located in the app/libs directory and have to be copied for use in own projects.
    //implementation 'com.google.code.gson:gson:2.8.5'
    //compile fileTree(dir: 'libs', include: ['*.jar'])
    //api project(':capital-metro-41-prod')

    implementation "com.android.support.constraint:constraint-layout:1.1.0"
    implementation 'com.android.support:cardview-v7:28.0.0'
    implementation 'com.android.support:recyclerview-v7:28.0.0'
    implementation 'net.steamcrafted:materialiconlib:1.0.3'
    implementation 'org.mockito:mockito-core:2.8.47'
    implementation 'com.google.dexmaker:dexmaker:1.2'
    implementation 'com.google.dexmaker:dexmaker-mockito:1.2'
    implementation 'com.github.pwittchen:reactivenetwork:0.5.2'
    implementation 'com.hannesdorfmann:adapterdelegates:1.0.2'
    implementation 'com.mobsandgeeks:android-saripaar:2.0.2'
    implementation 'com.hudomju:swipe-to-dismiss-undo:1.0'
    implementation 'jp.wasabeef:recyclerview-animators:2.2.5'
    implementation 'io.karim:materialtabs:2.0.2'
    implementation 'org.parceler:parceler-api:1.0.3'
    annotationProcessor 'org.parceler:parceler:1.0.3'
    implementation 'com.cocosw:bottomsheet:1.3.1@aar'
    implementation 'me.grantland:autofittextview:0.2.1'
    implementation 'com.braintreepayments.api:braintree-api:1.7.1'
    implementation 'com.braintreepayments.api:braintree:1.7.1'
    implementation 'com.braintreepayments.gateway:braintree-java:2.51.0'
    implementation 'com.soundcloud.android:android-crop:1.0.1@aar'
    implementation 'javax.inject:javax.inject:1'
    implementation 'javax.annotation:javax.annotation-api:1.2'
    implementation 'com.google.dagger:dagger:2.16'
    annotationProcessor 'com.google.dagger:dagger-compiler:2.16'
    implementation 'com.yalantis:ucrop:1.1.+'
    implementation 'com.google.android.gms:play-services-base:12.0.1'
    implementation 'com.google.android.gms:play-services-location:12.0.1'
    implementation 'com.google.android.gms:play-services-maps:12.0.1'
    implementation 'com.google.android.gms:play-services-analytics:12.0.1'
    implementation 'com.google.android.gms:play-services-auth:12.0.1'
    implementation 'com.android.support:support-v4:28.0.0'
    implementation 'com.android.support:appcompat-v7:28.0.0'
    implementation 'com.android.support:gridlayout-v7:28.0.0'
    implementation 'com.android.support:design:28.0.0'
    implementation "com.sothree.slidinguppanel:library:3.4.0"
    implementation 'com.squareup.sqlbrite:sqlbrite:0.8.0'
    // To fix the error thrown by support library for @drawable/abc_ic_ab_back_mtrl_am_alpha
    androidTestImplementation 'com.android.support.test:runner:0.5'
    androidTestImplementation 'com.android.support.test:rules:0.5'
    androidTestImplementation 'com.android.support.test.espresso:espresso-core:2.2.2'
    androidTestImplementation 'com.android.support.test.espresso:espresso-web:2.2.2'
    androidTestImplementation 'org.mockito:mockito-core:1.10.19'
    androidTestImplementation 'com.google.dexmaker:dexmaker:1.2'
    androidTestImplementation 'com.google.dexmaker:dexmaker-mockito:1.2'
    implementation 'com.google.android:flexbox:1.1.0'

    //Mosby MVP Framework
    implementation 'com.hannesdorfmann.mosby:mvp:2.0.1'
    implementation 'com.hannesdorfmann.mosby:viewstate:2.0.1'

    implementation 'com.jakewharton:butterknife:8.8.1'
    annotationProcessor 'com.jakewharton:butterknife-compiler:8.8.1'

    implementation 'com.android.support:multidex:1.0.3'

    //androidTestCompile 'com.google.dagger:dagger:2.0'
    //androidTestApt 'com.google.dagger:dagger-compiler:2.0'
    //apt 'org.parceler:parceler:1.0.3'
    //apt 'com.google.dagger:dagger-compiler:2.0'

    implementation 'android.arch.lifecycle:extensions:1.1.1'
}`

我怀疑以下库以及这些修补程序。

  1. Fabric Crashlytics:2.9.3之前的所有版本都收集广告ID。 解决方案:
  

将其更新到最新的2.10.3版本

  1. Firebase:收集广告ID 解决方案:从清单中禁用它
<meta-data android:name="firebase_analytics_collection_enabled"
   android:value="false" />
  1. Facebook:收集广告ID。可以从应用清单文件中进行限制。

  2. 更新我们的应用政策。

除了这些库以外,还有其他原因可能会导致此问题吗?我想念什么吗?

enter image description here

enter image description here

3 个答案:

答案 0 :(得分:0)

这可能是由于您正在使用纯文本通信或未使用SSL。 要启用安全通信,

  1. xml目录下创建res资源目录。
  2. network_security_config.xml目录下创建xml文件
  3. 在文件中复制<?xml version="1.0" encoding="utf-8"?> <network-security-config> <domain-config cleartextTrafficPermitted="true"> <domain includeSubdomains="true">172.0.0.0.0. </domain>//your ip </domain-config> </network-security-config>
  4. 添加menifes.xml's application tag android:networkSecurityConfig="@xml/network_security_config"

最后,您可以创建 Play Protect Appeals

答案 1 :(得分:0)

可能与此权限有关:

android.permission.CALL_PHONE

具有该功能的沟渠或让用户按下绿色按钮进行呼叫...而且这些库也已经过时了(请自行查找它们,因为我在电话上):

com.google.android.gms

还有一种选择,就是某些库试图欺骗您或其他AdMob帐户,并且/或者广告客户ID和程序包名称与文件上的不匹配。

答案 2 :(得分:0)

这是可能的原因,

  1. 权限android.permission.CALL_PHONE

根据最新的政策更改,Google不允许我们使用Permissions那些被限制使用的用户,例如通话记录权限。这是一个很好的Medium post主题。也许您或使用该关键权限之一的基础依赖关系。如果是这样,则应将其快速删除。

  1. 布局/查看鼓励用户点击广告的广告。

如果您错误地设计了加载广告的布局/视图,从而导致用户意外点击广告,则表明您违反了该政策。也许您是在后台加载广告,并在广告准备就绪时显示。同时,如果用户正在与该应用进行交互,则他/她会意外地点击广告。建议您在用户切换新活动时显示全屏广告(例如插页式广告)的方法。

  1. Draw Overlay影响另一个应用程序的广告

如果您的应用程序使用的是screen overlay(例如Toucher App)渲染的窗口小部件,请确保您的窗口小部件不会影响其他应用程序正在加载的广告。

  1. 避免不必要的权限。

如果您的应用程序不需要功能/权限。请避免。不必要的许可有时会导致此问题。前往this

似乎您正在使用第三方库。如果您不了解第三方库的实现,则使用第三方库可能会有害。尽可能避免使用此类库。