AppLovin / AppLovin-MAX-Unity-Plugin

111 stars 31 forks source link

Could not collect Google Advertising ID #280

Open gagbaghdas opened 9 months ago

gagbaghdas commented 9 months ago

MAX Plugin Version

5.11.3

Unity Version

2022.3.7f1

Device/Platform Info

Android

Current Behavior

E/AppLovinSdk: [DataCollector] Could not collect Google Advertising ID - this will negatively impact your eCPMs! Please integrate the Google Play Services SDK into your application. More info can be found online at http://developer.android.com/google/play-services/setup.html. If you're sure you've integrated the SDK and are still seeing this message, you may need to add a ProGuard exception: -keep public class com.google.android.gms.* { public protected ; }

Expected Behavior

No Error

How to Reproduce

Build on Android and check Logs

Additional Info

Hey guys. Why am I seeing this error? the custom proguaard is enabled and the line is added there. Also , there are other logs , which may be related to this issue, please review and let me know.

The app is being crashed right after launching it.

E/AndroidRuntime: FATAL EXCEPTION: main
    Process: com.mycompany.maygame, PID: 7747
    java.lang.NoClassDefFoundError: Failed resolution of: Lcom/google/android/gms/common/wrappers/Wrappers;
        at com.google.android.gms.ads.internal.client.zzek.attachInfo(com.google.android.gms:play-services-ads-lite@@22.3.0:1)
        at com.google.android.gms.ads.MobileAdsInitProvider.attachInfo(com.google.android.gms:play-services-ads-lite@@22.3.0:1)
        at android.app.ActivityThread.installProvider(ActivityThread.java:7724)
        at android.app.ActivityThread.installContentProviders(ActivityThread.java:7202)
        at android.app.ActivityThread.handleBindApplication(ActivityThread.java:7070)
        at android.app.ActivityThread.access$1500(ActivityThread.java:263)
        at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2013)
        at android.os.Handler.dispatchMessage(Handler.java:106)
        at android.os.Looper.loop(Looper.java:236)
        at android.app.ActivityThread.main(ActivityThread.java:8164)
        at java.lang.reflect.Method.invoke(Native Method)
        at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:656)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:967)
     Caused by: java.lang.ClassNotFoundException: Didn't find class "com.google.android.gms.common.wrappers.Wrappers" on path: DexPathList[[zip file "/data/app/~~qUMj2FcmoLpPWapdFFQJHg==/com.mycompany.maygame-UCPPPTD-oZYBexFHyaGUKA==/base.apk"],nativeLibraryDirectories=[/data/app/~~qUMj2FcmoLpPWapdFFQJHg==/com.mycompany.maygame-UCPPPTD-oZYBexFHyaGUKA==/lib/arm64, /data/app/~~qUMj2FcmoLpPWapdFFQJHg==/com.mycompany.maygame-UCPPPTD-oZYBexFHyaGUKA==/base.apk!/lib/arm64-v8a, /system/lib64, /system_ext/lib64]]
        at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:207)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:379)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:312)
        at com.google.android.gms.ads.internal.client.zzek.attachInfo(com.google.android.gms:play-services-ads-lite@@22.3.0:1) 
        at com.google.android.gms.ads.MobileAdsInitProvider.attachInfo(com.google.android.gms:play-services-ads-lite@@22.3.0:1) 
        at android.app.ActivityThread.installProvider(ActivityThread.java:7724) 
        at android.app.ActivityThread.installContentProviders(ActivityThread.java:7202) 
        at android.app.ActivityThread.handleBindApplication(ActivityThread.java:7070) 
        at android.app.ActivityThread.access$1500(ActivityThread.java:263) 
        at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2013) 
        at android.os.Handler.dispatchMessage(Handler.java:106) 
        at android.os.Looper.loop(Looper.java:236) 
        at android.app.ActivityThread.main(ActivityThread.java:8164) 
        at java.lang.reflect.Method.invoke(Native Method) 
        at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:656) 
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:967) 
E/AppLovinSdk: [DataCollector] Could not collect Google Advertising ID - this will negatively impact your eCPMs! Please integrate the Google Play Services SDK into your application. More info can be found online at http://developer.android.com/google/play-services/setup.html. If you're sure you've integrated the SDK and are still seeing this message, you may need to add a ProGuard exception: -keep public class com.google.android.gms.** { public protected *; }
    java.lang.NoClassDefFoundError: Failed resolution of: Lcom/google/android/gms/common/internal/Preconditions;
        at com.google.android.gms.ads.identifier.AdvertisingIdClient.<init>(com.google.android.gms:play-services-ads-identifier@@17.1.0:2)
        at com.google.android.gms.ads.identifier.AdvertisingIdClient.getAdvertisingIdInfo(com.google.android.gms:play-services-ads-identifier@@17.1.0:1)
        at com.applovin.impl.sdk.utils.d.collectGoogleAdvertisingInfo(SourceFile:173)
        at com.applovin.impl.sdk.utils.d.c(SourceFile:142)
        at com.applovin.impl.sdk.utils.d.b(SourceFile:88)
        at com.applovin.impl.sdk.utils.d.a(SourceFile:52)
        at com.applovin.impl.sdk.utils.j$1.run(SourceFile:37)
        at java.lang.Thread.run(Thread.java:923)
     Caused by: java.lang.ClassNotFoundException: Didn't find class "com.google.android.gms.common.internal.Preconditions" on path: DexPathList[[zip file "/data/app/~~qUMj2FcmoLpPWapdFFQJHg==/com.mycompany.maygame-UCPPPTD-oZYBexFHyaGUKA==/base.apk"],nativeLibraryDirectories=[/data/app/~~qUMj2FcmoLpPWapdFFQJHg==/com.mycompany.maygame-UCPPPTD-oZYBexFHyaGUKA==/lib/arm64, /data/app/~~qUMj2FcmoLpPWapdFFQJHg==/com.mycompany.maygame-UCPPPTD-oZYBexFHyaGUKA==/base.apk!/lib/arm64-v8a, /system/lib64, /system_ext/lib64]]
        at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:207)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:379)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:312)
        at com.google.android.gms.ads.identifier.AdvertisingIdClient.<init>(com.google.android.gms:play-services-ads-identifier@@17.1.0:2) 
        at com.google.android.gms.ads.identifier.AdvertisingIdClient.getAdvertisingIdInfo(com.google.android.gms:play-services-ads-identifier@@17.1.0:1) 
        at com.applovin.impl.sdk.utils.d.collectGoogleAdvertisingInfo(SourceFile:173) 
        at com.applovin.impl.sdk.utils.d.c(SourceFile:142) 
        at com.applovin.impl.sdk.utils.d.b(SourceFile:88) 
        at com.applovin.impl.sdk.utils.d.a(SourceFile:52) 
        at com.applovin.impl.sdk.utils.j$1.run(SourceFile:37) 
        at java.lang.Thread.run(Thread.java:923) 
santoshbagadi commented 9 months ago

@gagbaghdas , are you using custom gradle main template. If not, it may be an issue with EDM not pulling all the dependencies. Do you mind trying Force resolving dependences by going to Assets > External Dependency Manager > Android Resolver > Force Resolve and see if that fixes the issue.

If not, could you please share a sample project where the issue can be reproduced.

gagbaghdas commented 9 months ago

@santoshbagadi Hi. Yup, I'm using custom gradle main template. Force Resolve shows Resolution Succeeded.

Here is my main template gradle file.

buildscript {
    repositories {
        google()
        jcenter()
        maven { url "https://oss.sonatype.org/content/repositories/snapshots/" }
        maven { url "https://oss.sonatype.org/content/repositories/releases/" }
    }

    dependencies {
        classpath 'com.android.tools.build:gradle:4.1.0'
    }
}

allprojects {
   repositories {
      google()
      jcenter()
      flatDir {
        dirs 'libs'
      }
   }
}

apply plugin: 'com.android.library'

dependencies {

    implementation fileTree(dir: 'libs', include: ['*.jar'])
// Android Resolver Dependencies Start
    implementation 'com.android.installreferrer:installreferrer:2.1' // Assets/AppsFlyer/Editor/AppsFlyerDependencies.xml:10
    implementation 'com.android.support:appcompat-v7:25.3.1' // Facebook.Unity.Editor.AndroidSupportLibraryResolver.addSupportLibraryDependency
    implementation 'com.android.support:cardview-v7:25.3.1' // Facebook.Unity.Editor.AndroidSupportLibraryResolver.addSupportLibraryDependency
    implementation 'com.android.support:customtabs:25.3.1' // Facebook.Unity.Editor.AndroidSupportLibraryResolver.addSupportLibraryDependency
    implementation 'com.android.support:support-v4:25.3.1' // Facebook.Unity.Editor.AndroidSupportLibraryResolver.addSupportLibraryDependency
    implementation 'com.applovin.mediation:facebook-adapter:[6.15.0.0]' // Assets/MaxSdk/Mediation/Facebook/Editor/Dependencies.xml:8
    implementation 'com.applovin.mediation:google-adapter:[22.3.0.0]' // Assets/MaxSdk/Mediation/Google/Editor/Dependencies.xml:5
    implementation 'com.applovin.mediation:ironsource-adapter:7.4.0.0.1' // Assets/MaxSdk/Mediation/IronSource/Editor/Dependencies.xml:8
    implementation 'com.applovin.mediation:unityads-adapter:4.8.0.0' // Assets/MaxSdk/Mediation/UnityAds/Editor/Dependencies.xml:4
    implementation 'com.applovin.mediation:vungle-adapter:6.12.1.1' // Assets/MaxSdk/Mediation/Vungle/Editor/Dependencies.xml:4
    implementation 'com.applovin:applovin-sdk:11.11.3' // Assets/MaxSdk/AppLovin/Editor/Dependencies.xml:4
    implementation 'com.appsflyer:af-android-sdk:6.1.3' // Assets/AppsFlyer/Editor/AppsFlyerDependencies.xml:6
    implementation 'com.appsflyer:unity-wrapper:6.1.3' // Assets/AppsFlyer/Editor/AppsFlyerDependencies.xml:8
    implementation 'com.facebook.android:facebook-applinks:[16.0,17)' // Assets/FacebookSDK/Plugins/Editor/Dependencies.xml:6
    implementation 'com.facebook.android:facebook-core:[16.0,17)' // Assets/FacebookSDK/Plugins/Editor/Dependencies.xml:5
    implementation 'com.facebook.android:facebook-gamingservices:[16.0,17)' // Assets/FacebookSDK/Plugins/Editor/Dependencies.xml:9
    implementation 'com.facebook.android:facebook-login:[16.0,17)' // Assets/FacebookSDK/Plugins/Editor/Dependencies.xml:7
    implementation 'com.facebook.android:facebook-share:[16.0,17)' // Assets/FacebookSDK/Plugins/Editor/Dependencies.xml:8
    implementation 'com.google.android.gms:play-services-base:18.2.0' // Assets/Firebase/Editor/AppDependencies.xml:17
    implementation 'com.google.code.gson:gson:2.8.6' // Packages/com.devtodev.sdk.analytics/Editor/Analytics/AppDependencies.xml:4
    implementation 'com.google.firebase:firebase-analytics:21.3.0' // Assets/Firebase/Editor/AppDependencies.xml:15
    implementation 'com.google.firebase:firebase-analytics-unity:11.4.0' // Assets/Firebase/Editor/AnalyticsDependencies.xml:18
    implementation 'com.google.firebase:firebase-app-unity:11.4.0' // Assets/Firebase/Editor/AppDependencies.xml:22
    implementation 'com.google.firebase:firebase-common:20.3.3' // Assets/Firebase/Editor/AppDependencies.xml:13
    implementation 'com.google.games:gpgs-plugin-support:0.11.01' // Assets/GooglePlayGames/com.google.play.games/Editor/GooglePlayGamesPluginDependencies.xml:11
    implementation 'com.parse.bolts:bolts-android:1.4.0' // Assets/FacebookSDK/Plugins/Editor/Dependencies.xml:4
    implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-android:1.6.4' // Packages/com.devtodev.sdk.analytics/Editor/Analytics/AppDependencies.xml:5
// Android Resolver Dependencies End
**DEPS**}

// Android Resolver Exclusions Start
android {
  packagingOptions {
      exclude ('/lib/armeabi/*' + '*')
      exclude ('/lib/mips/*' + '*')
      exclude ('/lib/mips64/*' + '*')
      exclude ('/lib/x86/*' + '*')
      exclude ('/lib/x86_64/*' + '*')
  }
}
// Android Resolver Exclusions End
android {
    compileSdkVersion **APIVERSION**
    buildToolsVersion '**BUILDTOOLS**'

    defaultConfig {
consumerProguardFiles 'proguard-unity.txt'**USER_PROGUARD**
        minSdkVersion **MINSDKVERSION**
        targetSdkVersion **TARGETSDKVERSION**

        ndk {
            abiFilters **ABIFILTERS**
        }
        versionCode **VERSIONCODE**
        versionName '**VERSIONNAME**'

    }

    lintOptions {
        abortOnError false
        disable 'MissingTranslation'
    }

   aaptOptions {

      noCompress = ['.ress', '.resource', '.obb'] + unityStreamingAssets.tokenize(', ')

      ignoreAssetsPattern = "!.svn:!.git:!.ds_store:!*.scc:.*:!CVS:!thumbs.db:!picasa.ini:!*~"

  }**PACKAGING_OPTIONS**

    buildTypes {
        debug {
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-unity.txt'**USER_PROGUARD**
            jniDebuggable true
        }
        release {

            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-unity.txt'**USER_PROGUARD****SIGNCONFIG**
        }
    }**PACKAGING_OPTIONS**
**BUILT_APK_LOCATION**
}**SOURCE_BUILD_SETUP**
gagbaghdas commented 9 months ago

BTW, I tried to debug the post process script to understand why the error is being shown. PLS Check the screenshots, do you have any ideas?

Screenshot 2023-08-26 at 12 35 20 Screenshot 2023-08-26 at 12 35 12
santoshbagadi commented 9 months ago

We do not add any Google dependencies via post processing scripts. Would you mind checking if you are able to reproduce the issue in our demo app, if so, could you please share the generated apk: https://github.com/AppLovin/AppLovin-MAX-Unity-Plugin/tree/master/DemoApp