Your app includes non compliant SDK version com.my.tracker:mytracker-sdk - android

I recently updated my Flutter app with Appodeal ads, later I got a message.
Google Play Console:
Your app **** version code *** includes SDK com.my.tracker:mytracker-sdk or an SDK that one of your libraries depends on, which collects personal or sensitive data that includes but may not be limited to Advertising ID, Android ID, Device Wifi MAC identifiers. Persistent device identifiers may not be linked to other personal and sensitive user data or resettable device identifiers as described in the User Data policy.
where can I find in my app SDK com.my.tracker:mytracker-sdk
app>build.gradle
dependencies {
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
testImplementation 'junit:junit:4.12'
androidTestImplementation 'androidx.test:runner:1.1.1'
androidTestImplementation 'androidx.test.espresso:espresso-core:3.1.1'
implementation 'com.google.firebase:firebase-analytics:21.1.1'
implementation ('com.appodeal.ads:sdk:3.0.0.+') {
exclude group: 'com.appodeal.ads.sdk.services', module: 'adjust'
exclude group: 'com.appodeal.ads.sdk.services', module: 'appsflyer'
exclude group: 'com.appodeal.ads.sdk.services', module: 'firebase'
exclude group: 'com.appodeal.ads.sdk.services', module: 'facebook_analytics'
}
implementation 'com.appodeal.ads.sdk.services:firebase:3.0.0.+'
}
How to make persistent device identifiers not be linked to other personal and sensitive user data or resettable device identifiers??
How should I resolve this problem. Do I really need to stop advertising (using appodeal)?

Message i got from Appodeal support. and it seems to work
Currently, MyTracker has released an updated version, 3.0.9, which
includes all necessary fixes and to update the MyTracker library,
please resync your dependencies file with all dependencies, and the
new MyTracker version will be downloaded automatically.

myTracker is included in the myTarget SDK, which is part of the Appodeal SDK.
Try to exclude the myTarget adapter in the build.gradle
exclude group: 'com.appodeal.ads.sdk.networks', module: 'my_target'

I did an update to version 3.0.9 instead an error occurred, then I changed it to 3.0.0.4 with normal success. Will this version 3.0.0.4 also still get SDK violation warnings from Google Play

Related

Cloud Firestore with gRPC build error

I’m working on an android application, which have to use gRPC and Firestore. However, when I added both one of module from ‘io.grpc’ group dependency (e.g. io.grpc:grpc-okhttp:1.7.0) and firestore dependency (com.google.firebase:firebase-firestore:11.4.2) in the build gradle config, I got a build error “Unable to merge dex”. After with ‘stacktrace’ build option, I saw that the problem is
Multiple dex files define Lio/grpc/internal/OobChannel$5;
It could happen if firestore uses grpc-core module, but there is no one similar in tree dependencies, which I got using [androidDependencies] gradle task. I tried to exclude io.grpc like this:
implementation ('com.google.firebase:firebase-firestore:11.4.2') {
exclude group: 'io.grpc'
}
but there was the same error. Then I thought what if I exclude all ‘io.grpc.’ transitive dependencies from grpc module dependencies with adding grpc-core for internal classes. In this way, I wrote ugly dependencies just for test
implementation 'com.google.firebase:firebase-firestore:11.4.2'
implementation('io.grpc:grpc-okhttp:1.7.0') {
exclude group: 'io.grpc'
}
implementation('io.grpc:grpc-protobuf-lite:1.7.0') {
exclude group: 'io.grpc'
}
implementation('io.grpc:grpc-stub:1.7.0') {
exclude group: 'io.grpc'
}
implementation 'io.grpc:grpc-core:1.7.0'
I was surprised when it successfully compiled, but after launch app, it crashed with java.lang.RuntimeException: Internal error in Firestore (0.6.6-dev)
Caused by: java.lang.NoSuchMethodError: No static method zzcyc()Lio/grpc/ManagedChannelProvider; in class Lio/grpc/ManagedChannelProvider; or its super classes (declaration of 'io.grpc.ManagedChannelProvider' appears in /data/app/com.zipr.test-2/split_lib_dependencies_apk.apk)
I use gradle 3.0.0-rc1 with enabling multidex support. I deleted .gradle, build directories, cleaned rebuilt project, but I still have build error. What can I do to resolve this problem?
Due to a variety of factors that constrain the way we build Android SDKs at Google, Firestore proguards a copy of gRPC within itself. Unfortunately this is leaky and you're running into the fallout: the 11.4.2 Firestore SDK is incompatible with any external gRPC :-(.
This is essentially our top issue for the Firestore Android SDK and I'm sorry you've run into it.

Universal version of google play services

I want to use the react-native-maps package in my react-native app and this package needs the latest version of google play services to work properly. I want to host an APK of google play services in somewhere and refer the users to download it if the version of their google play services is out of date.I want to know is there any universal version of google play services that is compatible with all android devices?
I think the (030) version of google play services will work on every version.
Well, You are trying to use latest/updated version of google-play-services. In react-native-maps Maybe they are using updated one. Or I'm assuming they are using out of date one.
If you want to use updated one first fix that which one you want to use then do like below: skip react-native-maps google-play-services version and use your own defined.
compile (project(':react-native-maps')) {
// exclude version their version
exclude group: 'com.google.android.gms', module: 'play-services-base'
exclude group: 'com.google.android.gms', module: 'play-services-maps'
}
//user your own
compile 'com.google.android.gms:play-services-base:X.x.x'
compile 'com.google.android.gms:play-services-maps:X.x.x'
Thanks if you have any query you can ask me and for Gradle dependency, you can learn more from here

Google play services raising the version of support-v4 (to 24.0.0)

In my project I'm compiling against sdk-version 23 and using the compat/support libraries version 23.2.0.
Now I'm trying to update the play-services-version from 9.2.1 to 10.2.0
compile 'com.google.android.gms:play-services-base:10.2.0'
But making this change ads the com.android.support:support-v4:24.0.0 library to my project making my project to crash due with strange not found errors in the compat libraries like explained in this question.
How can I avoid that? should I skip the play-services update? can I avoid them to raise the version of the support-v4 lib?
Maybe it could work with something like this:
compile('com.google.android.gms:play-services-base:10.2.0') {
exclude group: 'com.android.support'
}
or if this does not work then maybe:
compile('com.google.android.gms:play-services-base:10.2.0') {
exclude group: 'com.android.support', module: 'support-v4'
}
Or maybe you don't need the whole base play services and only specific packages as defined here

How you can exclude compile file

I have used dropbox and box with my application.
But when i have used Dropbox with latest SDK then some classes conflict with Box SDK.
So i have found one solution by which you can exclude group and compile file.
compile('com.dropbox.core:dropbox-core-sdk:2.1.1') {
exclude group: 'com.fasterxml.jackson.core'//for Box
compile 'com.squareup.okhttp3:okhttp:3.3.1'// this for PayPal
}
Note:
By this all working well means 100%.

App initialization very slow: FirebaseApp initialization unsuccessful

I know about this question but I don't think it helps me and the problem looks slightly different.
I'm doing this app where I need to implement AppsFlyer for tracking and I'm required to use only 2 components from Google Play Services:
com.google.android.gms:play-services-ads
com.google.android.gms:play-services-gcm
And I'm using the latest version of the Google Play Services, 9.0.2 that is.
The problem is that on the first app launch after installing the app, the app takes quite a bit of time to start. There's no log output and when the app starts doing something, the first line on the log is:
06-16 16:50:23.782 22368-22368/com.company.app I/FirebaseInitProvider:
FirebaseApp initialization unsuccessful
I'm not using Firebase, how can I get rid of this? It really slows down the application initialization. Not a very good user experience...
EDIT:
I've added both libs, one at a time and I've realized that the GCM is the one causing the issue. When I add:
com.google.android.gms:play-services-gcm
I start getting the "FirebaseApp initialization unsuccessful" log and the app takes a while to start. Perhaps downgrading "fixes" the problem, but that's not a very good solution.
I would suggest you to exclude the firebase group using gradle:
compile('com.google.android.gms:play-services-ads:9.0.2') {
exclude group: 'com.google.firebase', module: 'firebase-common'
}
compile('com.google.android.gms:play-services-gcm:9.0.2') {
exclude group: 'com.google.firebase', module: 'firebase-common'
}
Or, simply apply a global exclude configuration, like this:
configurations {
all*.exclude group: 'com.google.firebase', module: 'firebase-common'
}
Hope it helps :)
I had the same issue and not only I had to downgrade the services but also gradle version.
In my case I had (in app/build.gradle)
compile 'com.google.android.gms:play-services-location:9.0.2'
compile 'com.google.android.gms:play-services-maps:9.0.2'
compile 'com.google.android.gms:play-services-gcm:9.0.2'
and (in build.gradle)
classpath 'com.android.tools.build:gradle:2.1.2'
After changing services back to 8.4.0 and gradle to 1.5.0 (Probably higher version is fine also but it was the one I had before upgrading to 2.1.2) everything is fine and FirebaseApp initialization is gone.
Maybe it's not the best solution but I couldn't find anything else.

Categories

Resources