Adjust + Amplitude broken on Android
vishna opened this issue · 1 comments
Expected Behavior
[adjust] Install
is displayed on Android & iOS
Current Behavior
[adjust] Install
is only displayed on iOS
Possible Solution
The root of the problem is Android Amplitude SDK, logs show:
W/com.amplitude.api.DeviceInfo( 3416): Google Play Services not available for advertising id
W/com.amplitude.api.DeviceInfo( 3416): Google Play Services SDK not found for app set id!
Seems like class com.google.android.gms.ads.identifier.AdvertisingIdClient
is not getting found in DeviceInfo.java
Followed all the instructions regarding the gradle/proguard setup.
Someone suggested a fix (not using reflection), but afaik it got dismissed dantetam/Amplitude-Android@39c70ab due to "we would have to change our tests" 🤷♀️
Now Adjust SDK seems to find and assign advertising id on Android just fine. My fix introduces option to set custom advertising id, this involves changes in both Android and Flutter repos:
Then I can simply use it at initialisation time and supply valid advertising id:
final amplitude = Amplitude.getInstance();
final adId = await Adjust.getGoogleAdId();
await amplitude.setCustomAdvertisingId(advertisingId);
This fixed problem we saw in our amplitude dashboard.
Steps to Reproduce
- Integrate Flutter Amplitude SDK
- Integrate Flutter Adjust SDK
- Publish your apps
- Observe Adjust install events are reported on iOS while not reported on Android
Environment
- SDK Version: 3.8.1
- Flutter Version: 2.10 stable
- Device: any Android
- Device OS and Version: any Android
Hi @vishna , thanks for contributing our SDKs, we have viewed your pr and left some comments there.