la-haus / flutter-segment

Segment.io library for flutter
MIT License
22 stars 139 forks source link

[Android] Update Segment and Amplitude integration #31

Closed vbuberen closed 2 years ago

vbuberen commented 2 years ago

Updates for Android Segment dependencies to address Google Play policies violation and keep the project up to date.

Both updated dependencies had no breaking changes inside, so nothing breaking is expected from this update: https://github.com/segmentio/analytics-android/blob/master/CHANGELOG.md https://github.com/segment-integrations/analytics-android-integration-amplitude/blob/master/CHANGELOG.md

Suggest to merge this PR after #29 , because to test this branch a person would need to do adjustments already done in mentioned PR, like change in AndroidManifest of android:name to not use embedding V1.

Closes #30

danielgomezrico commented 2 years ago

@vbuberen do you know why it fails? it may be related to https://github.com/la-haus/flutter-segment/pull/29

vbuberen commented 2 years ago

@vbuberen do you know why it fails? it may be related to #29

Yes, it was related. This is why I was asking when #29 will be merged. Updated the branch with new changes and everything is fine now on CI.

tspoke commented 2 years ago

Hi, do you have an ETA for this PR and a new version ? This is really blocking us for deploying our new app on Google Play. Thank you!

vbuberen commented 2 years ago

Do we want to include a Changelog entry?

There is no info from core maintainers on if and how they want contributors from the outside to mention new changes or bump version, so I think it is up to core maintainers to do so when they decide to do a new release.

This is really blocking us for deploying our new app on Google Play.

Out of curiosity how it can be blocking if the new policy will be enforced on 9th of August?

tspoke commented 2 years ago

From codemagic (our CI), we are not allowed to publish due to this :


Publishing failed :|
Google Play failed to upload artefacts. Your artifact (version code 2102) contains an SDK (com.segment.analytics.android:analytics) with version 4.10.0 that collects personal or sensitive data that includes but may not be limited to Advertising ID, Android ID 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: https://support.google.com/googleplay/android-developer/answer/10144311. To be allowed to publish, you may consider upgrading to 4.10.1 which the SDK provider has recommended for use instead. Please consult the SDK provider for further information.Read through the User data policy: https://support.google.com/googleplay/android-developer/answer/10144311 policy for more details, and how to submit an updated app for review here: https://support.google.com/googleplay/android-developer/answer/2477981#resubmit. If you've reviewed the policy and feel our decision may have been in error, please reach out to our policy support team: https://play.google.com/console/appealsForm?aid=XXXXXXX&ts=SR. For more information see https://support.google.com/googleplay/android-developer/answer/10358880.: {
    "error": {
        "code": 403,
        "message": "Your artifact (version code 2102) contains an SDK (com.segment.analytics.android:analytics) with version 4.10.0 that collects personal or sensitive data that includes but may not be limited to Advertising ID, Android ID 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: https://support.google.com/googleplay/android-developer/answer/10144311. To be allowed to publish, you may consider upgrading to 4.10.1 which the SDK provider has recommended for use instead. Please consult the SDK provider for further information.Read through the User data policy: https://support.google.com/googleplay/android-developer/answer/10144311 policy for more details, and how to submit an updated app for review here: https://support.google.com/googleplay/android-developer/answer/2477981#resubmit. If you've reviewed the policy and feel our decision may have been in error, please reach out to our policy support team: https://play.google.com/console/appealsForm?aid=XXXXXXX&ts=SR. For more information see https://support.google.com/googleplay/android-developer/answer/10358880.",
        "status": "PERMISSION_DENIED"
    }
}
vbuberen commented 2 years ago

From codemagic (our CI), we are not allowed to publish due to this :

Interesting. It happened in last few days, right? Because on my project Codemagic uploaded build last Monday and still could do it, so I saw the message about this SDK only in the Developer Console.

tspoke commented 2 years ago

This is the first release with segment that we have built and try to deploy. Last week we released a version without segment with success so I can't tell if it's recent or not.

saigkl commented 2 years ago

@danielgomezrico - Any ETA on when this will get merged?

vbuberen commented 2 years ago

Last week we released a version without segment with success so I can't tell if it's recent or not.

Seems like Google treats apps, which already had Segment and which added it recently in a different way. Just tried to trigger a new build on Codemagic for my project, which uses Segment for quite some time already and publishing worked fine, so I only see the warning in the Developer Console as it was before.

Screenshot 2022-06-13 at 12 42 18
zenled commented 2 years ago

Hey, Has anyone tried to upload a build with the updated versions of Segment-Android and Amplitude-Android, did it fix the warning?

I noticed that in this issue and this issue they mention:

if you're using any device mode integration, you probably will see this warning even if you updated to 4.10.4. that's because the integration sdks internally uses an old version of analytics-android. a fix to that is underway.

And since flutter-segment depends on Amplitude-Android which depends on an older version of Segment-Android, I assume we will still see the warning. (relevant issue)