Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Feature Request]: Provide instructions for updating the app's target API level and verifying compatibility. #5473

Closed
1 task done
seanlip opened this issue Jul 27, 2024 · 7 comments · Fixed by #5538
Closed
1 task done
Assignees
Labels
enhancement End user-perceivable enhancements. Impact: Medium Moderate perceived user impact (non-blocking bugs and general improvements). Work: Medium The means to find the solution is clear, but it isn't at good-first-issue level yet.

Comments

@seanlip
Copy link
Member

seanlip commented Jul 27, 2024

Describe the bug

We are getting regular emails from the Play Store roughly once a year that say:

"[Action required] Your app is affected by Google Play's target API level requirements"

These emails tell us that the app is targeting an old version of Android, and that we need to "meet target API level requirements".

The aim of this issue is threefold:

  • Write a wiki page that gives instructions on how to do this in the future (including the data-gathering process), so that any developer on the team can do it. (@BenHenning to do this.)
  • Fix the current app to correct the target API level requirements. Per the Google Play email, this must be done by 31 Aug 2024.
  • Establish an annual cadence for making these updates, such that they are completed well before we are warned about them by the Play Store.

Steps To Reproduce

N/A

Expected Behavior

We should hopefully stop getting these emails if the app API level requirements are always correctly up-to-date.

Screenshots/Videos

No response

What device/emulator are you using?

N/A

Which Android version is your device/emulator running?

N/A

Which version of the Oppia Android app are you using?

N/A

Additional Context

No response

@seanlip seanlip added bug End user-perceivable behaviors which are not desirable. triage needed and removed triage needed labels Jul 27, 2024
@adhiamboperes adhiamboperes added enhancement End user-perceivable enhancements. and removed bug End user-perceivable behaviors which are not desirable. labels Aug 5, 2024
@adhiamboperes adhiamboperes changed the title [BUG]: Provide instructions for updating the app's target API level and verifying compatibility. [Feature Request]: Provide instructions for updating the app's target API level and verifying compatibility. Aug 5, 2024
@adhiamboperes adhiamboperes added Impact: Medium Moderate perceived user impact (non-blocking bugs and general improvements). Work: Medium The means to find the solution is clear, but it isn't at good-first-issue level yet. labels Aug 5, 2024
@thanushree267
Copy link

Hi @seanlip , I just have a simple suggestion regarding the issue, just check for current Google Play's API requirements.
In 'build.gradle', update 'targetSdkVersion' to the latest required API level. Also, consider updating 'compileSdkVersion' to match or exceed the 'targetSdkVersion' .
Finally update the app's dependencies using Gradle dependency tool.

@adhiamboperes
Copy link
Collaborator

adhiamboperes commented Aug 26, 2024

Thanks for the suggestion @thanushree267! If you'd like to contribute to Oppia Android, please take a look at our starter issues here, as well as more advance issues here, that are currently not assigned. Do also check out the wiki on how to get started.

@BenHenning
Copy link
Member

NB: #5137 is useful to see what the upgrade process can look like, though we'll want to be more prescriptive in exactly the investigation and documentation steps that we take so that a general process may be defined.

@BenHenning
Copy link
Member

BenHenning commented Sep 17, 2024

FYI I removed the second item under the original task list since #5535 is tracking it separately.

As for the regular cadence, I'm not actually sure of a good way to do this short of responding to the reminder from Google Play Console. I'm not sure that GitHub has a good mechanism for "recurring audit"-type reminders. Do you have any suggestions @seanlip?

Edit: I spent a few minutes combing the GitHub extensions/actions marketplace for a tool like this, and didn't find anything that would directly help. It seems like a reasonable thing to exist, though.

@seanlip
Copy link
Member Author

seanlip commented Oct 3, 2024

@BenHenning (and @adhiamboperes) I think it suffices for the Android tech leads to have a regular annual event on their calendar that says "[REMINDER] Update the target API level requirements for the Android app" (and perhaps this is shared with the Android team as well).

This would presumably be scheduled for around the same time each year, about 3 or 6 months before the expected date of the Google reminder (depending on how long the update process typically takes). Do you think that would work?

@adhiamboperes
Copy link
Collaborator

@BenHenning (and @adhiamboperes) I think it suffices for the Android tech leads to have a regular annual event on their calendar that says "[REMINDER] Update the target API level requirements for the Android app" (and perhaps this is shared with the Android team as well).

This would presumably be scheduled for around the same time each year, about 3 or 6 months before the expected date of the Google reminder (depending on how long the update process typically takes). Do you think that would work?

@seanlip, 3 months(around May) should suffice.

subhajitxyz pushed a commit to subhajitxyz/oppia-android that referenced this issue Nov 19, 2024
… SDK versions (oppia#5538)

## Explanation

Fixes oppia#5473

This PR introduces a new wiki page that describes the process by which
we can carefully upgrade the app to a newer compile/target SDK version
(with a specific emphasis on the target SDK version).

This is largely meant to capture past processes we have followed since
those weren't documented in an easily reproducible way. The intent is
for this now-documented process to be trialed by upgrading the app to
SDK 34 in order to address oppia#5535 (though that technically means that
part (1) of the documented process has already been completed).

This PR does not:
- Address exactly when the compile version should be updated, except
when required by the target SDK version. It's expected that the team
will perform an out-of-band analysis for cases when the compile SDK
actually needs to be upgraded sooner than the target SDK.
- Specify a strongly enforced cadence for upgrading the target SDK since
the Google Play Console and Google Play app policy seems to already
perform this function, though it does add a recommendation for checking
for updates periodically (July/August every year).

## Essential Checklist
- [x] The PR title and explanation each start with "Fix #bugnum: " (If
this PR fixes part of an issue, prefix the title with "Fix part of
#bugnum: ...".)
- [x] Any changes to
[scripts/assets](https://github.com/oppia/oppia-android/tree/develop/scripts/assets)
files have their rationale included in the PR explanation.
- [x] The PR follows the [style
guide](https://github.com/oppia/oppia-android/wiki/Coding-style-guide).
- [x] The PR does not contain any unnecessary code changes from Android
Studio
([reference](https://github.com/oppia/oppia-android/wiki/Guidance-on-submitting-a-PR#undo-unnecessary-changes)).
- [x] The PR is made from a branch that's **not** called "develop" and
is up-to-date with "develop".
- [x] The PR is **assigned** to the appropriate reviewers
([reference](https://github.com/oppia/oppia-android/wiki/Guidance-on-submitting-a-PR#clarification-regarding-assignees-and-reviewers-section)).

## For UI-specific PRs only
N/A -- This is introducing a new wiki page and doesn't change the app
itself.
@BenHenning
Copy link
Member

As a post-update: we now have https://github.com/oppia/oppia-android/wiki/Upgrading-Target-Sdk-Guide as the standard guide for performing SDK upgrades moving forward (with #5535 being the first SDK upgrade going through this process).

As for the regular cadence, I don't think it needs to be explicitly tracked as we already have a pretty good forcing function in the Play Console forcing us to upgrade each year. It's also a bit historically unusual to force SDK upgrades for subsequent years. It may be more important to address this on a regular cadence it this does become a regular thing for the Play Console moving forward.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement End user-perceivable enhancements. Impact: Medium Moderate perceived user impact (non-blocking bugs and general improvements). Work: Medium The means to find the solution is clear, but it isn't at good-first-issue level yet.
Development

Successfully merging a pull request may close this issue.

4 participants