Google Play Services Analytics 库实施导致 Play 管理中心广告警告

Google Play Services Analytics library implementation causing Play Console ads warning

我一直在 Google Play 的广告应用内容中收到一条警告,说“我们在您的应用中发现了广告 SDK”。在发布了许多试图解决该问题的版本后,我发现原因是我的应用程序级构建 Gradle 文件中的这些行:

implementation ('com.google.android.gms:play-services-analytics-impl:18.0.1') {
    exclude module: "play-services-ads"
    exclude module: "play-services-ads-identifier"
    exclude module: "play-services-measurement"
    exclude module: "play-services-measurement-sdk"
}

有什么我可能遗漏要排除的吗?

I 运行 'gradlew -q dependencies app:dependencies command' 这些是库的 t运行sitive 依赖项:

+--- com.google.android.gms:play-services-analytics-impl:18.0.1
|    +--- com.google.android.gms:play-services-base:18.0.1
|    |    +--- androidx.collection:collection:1.0.0
|    |    |    \--- androidx.annotation:annotation:1.0.0 -> 1.1.0
|    |    +--- androidx.core:core:1.2.0
|    |    |    +--- androidx.annotation:annotation:1.1.0
|    |    |    +--- androidx.lifecycle:lifecycle-runtime:2.0.0
|    |    |    |    +--- androidx.lifecycle:lifecycle-common:2.0.0
|    |    |    |    |    \--- androidx.annotation:annotation:1.0.0 -> 1.1.0
|    |    |    |    +--- androidx.arch.core:core-common:2.0.0
|    |    |    |    |    \--- androidx.annotation:annotation:1.0.0 -> 1.1.0
|    |    |    |    \--- androidx.annotation:annotation:1.0.0 -> 1.1.0
|    |    |    \--- androidx.versionedparcelable:versionedparcelable:1.1.0
|    |    |         +--- androidx.annotation:annotation:1.1.0
|    |    |         \--- androidx.collection:collection:1.0.0 (*)
|    |    +--- androidx.fragment:fragment:1.0.0
|    |    |    +--- androidx.core:core:1.0.0 -> 1.2.0 (*)
|    |    |    +--- androidx.legacy:legacy-support-core-ui:1.0.0
|    |    |    |    +--- androidx.annotation:annotation:1.0.0 -> 1.1.0
|    |    |    |    +--- androidx.core:core:1.0.0 -> 1.2.0 (*)
|    |    |    |    +--- androidx.legacy:legacy-support-core-utils:1.0.0
|    |    |    |    |    +--- androidx.annotation:annotation:1.0.0 -> 1.1.0
|    |    |    |    |    +--- androidx.core:core:1.0.0 -> 1.2.0 (*)
|    |    |    |    |    +--- androidx.documentfile:documentfile:1.0.0
|    |    |    |    |    |    \--- androidx.annotation:annotation:1.0.0 -> 1.1.0
|    |    |    |    |    +--- androidx.loader:loader:1.0.0
|    |    |    |    |    |    +--- androidx.annotation:annotation:1.0.0 -> 1.1.0
|    |    |    |    |    |    +--- androidx.core:core:1.0.0 -> 1.2.0 (*)
|    |    |    |    |    |    +--- androidx.lifecycle:lifecycle-livedata:2.0.0
|    |    |    |    |    |    |    +--- androidx.arch.core:core-runtime:2.0.0
|    |    |    |    |    |    |    |    +--- androidx.annotation:annotation:1.0.0 -> 1.1.0
|    |    |    |    |    |    |    |    \--- androidx.arch.core:core-common:2.0.0 (*)
|    |    |    |    |    |    |    +--- androidx.lifecycle:lifecycle-livedata-core:2.0.0
|    |    |    |    |    |    |    |    +--- androidx.lifecycle:lifecycle-common:2.0.0 (*)
|    |    |    |    |    |    |    |    +--- androidx.arch.core:core-common:2.0.0 (*)
|    |    |    |    |    |    |    |    \--- androidx.arch.core:core-runtime:2.0.0 (*)
|    |    |    |    |    |    |    \--- androidx.arch.core:core-common:2.0.0 (*)
|    |    |    |    |    |    \--- androidx.lifecycle:lifecycle-viewmodel:2.0.0
|    |    |    |    |    |         \--- androidx.annotation:annotation:1.0.0 -> 1.1.0
|    |    |    |    |    +--- androidx.localbroadcastmanager:localbroadcastmanager:1.0.0
|    |    |    |    |    |    \--- androidx.annotation:annotation:1.0.0 -> 1.1.0
|    |    |    |    |    \--- androidx.print:print:1.0.0
|    |    |    |    |         \--- androidx.annotation:annotation:1.0.0 -> 1.1.0
|    |    |    |    +--- androidx.customview:customview:1.0.0
|    |    |    |    |    +--- androidx.annotation:annotation:1.0.0 -> 1.1.0
|    |    |    |    |    \--- androidx.core:core:1.0.0 -> 1.2.0 (*)
|    |    |    |    +--- androidx.viewpager:viewpager:1.0.0
|    |    |    |    |    +--- androidx.annotation:annotation:1.0.0 -> 1.1.0
|    |    |    |    |    +--- androidx.core:core:1.0.0 -> 1.2.0 (*)
|    |    |    |    |    \--- androidx.customview:customview:1.0.0 (*)
|    |    |    |    +--- androidx.coordinatorlayout:coordinatorlayout:1.0.0
|    |    |    |    |    +--- androidx.annotation:annotation:1.0.0 -> 1.1.0
|    |    |    |    |    +--- androidx.core:core:1.0.0 -> 1.2.0 (*)
|    |    |    |    |    \--- androidx.customview:customview:1.0.0 (*)
|    |    |    |    +--- androidx.drawerlayout:drawerlayout:1.0.0
|    |    |    |    |    +--- androidx.annotation:annotation:1.0.0 -> 1.1.0
|    |    |    |    |    +--- androidx.core:core:1.0.0 -> 1.2.0 (*)
|    |    |    |    |    \--- androidx.customview:customview:1.0.0 (*)
|    |    |    |    +--- androidx.slidingpanelayout:slidingpanelayout:1.0.0
|    |    |    |    |    +--- androidx.annotation:annotation:1.0.0 -> 1.1.0
|    |    |    |    |    +--- androidx.core:core:1.0.0 -> 1.2.0 (*)
|    |    |    |    |    \--- androidx.customview:customview:1.0.0 (*)
|    |    |    |    +--- androidx.interpolator:interpolator:1.0.0
|    |    |    |    |    \--- androidx.annotation:annotation:1.0.0 -> 1.1.0
|    |    |    |    +--- androidx.swiperefreshlayout:swiperefreshlayout:1.0.0
|    |    |    |    |    +--- androidx.annotation:annotation:1.0.0 -> 1.1.0
|    |    |    |    |    +--- androidx.core:core:1.0.0 -> 1.2.0 (*)
|    |    |    |    |    \--- androidx.interpolator:interpolator:1.0.0 (*)
|    |    |    |    +--- androidx.asynclayoutinflater:asynclayoutinflater:1.0.0
|    |    |    |    |    +--- androidx.annotation:annotation:1.0.0 -> 1.1.0
|    |    |    |    |    \--- androidx.core:core:1.0.0 -> 1.2.0 (*)
|    |    |    |    \--- androidx.cursoradapter:cursoradapter:1.0.0
|    |    |    |         \--- androidx.annotation:annotation:1.0.0 -> 1.1.0
|    |    |    +--- androidx.legacy:legacy-support-core-utils:1.0.0 (*)
|    |    |    +--- androidx.annotation:annotation:1.0.0 -> 1.1.0
|    |    |    +--- androidx.loader:loader:1.0.0 (*)
|    |    |    \--- androidx.lifecycle:lifecycle-viewmodel:2.0.0 (*)
|    |    +--- com.google.android.gms:play-services-basement:18.0.0
|    |    |    +--- androidx.collection:collection:1.0.0 (*)
|    |    |    +--- androidx.core:core:1.2.0 (*)
|    |    |    \--- androidx.fragment:fragment:1.0.0 (*)
|    |    \--- com.google.android.gms:play-services-tasks:18.0.1
|    |         \--- com.google.android.gms:play-services-basement:18.0.0 (*)
|    +--- com.google.android.gms:play-services-basement:18.0.0 (*)
|    \--- com.google.android.gms:play-services-stats:17.0.3
|         +--- androidx.legacy:legacy-support-core-utils:1.0.0 (*)
|         \--- com.google.android.gms:play-services-basement:18.0.0 (*)

如果您的应用没有使用广告,请不要担心,在这种情况下,这是误报,Google 知道并告诉您保持原样(见下图)

我发现大多数分析 SDK 都使用 (IDFA) 来有效地识别唯一身份用户。