Το Android 14 προσθέτει νέες δυνατότητες για να κάνει τα καταστήματα εφαρμογών τρίτων να λειτουργούν ακόμα καλύτερα

Το Android 14 προετοιμάζεται να κάνει την εμπειρία ακόμα καλύτερη για τους χρήστες καταστημάτων εφαρμογών τρίτων, χάρη στα νέα API.

Το Google Play είναι μακράν το πιο δημοφιλές κατάστημα εφαρμογών μεταξύ των χρηστών Android, αλλά κάποιοι μπορεί να υποστηρίξουν ότι δεν κέρδισε δίκαια την πρώτη του θέση. Η Google έχει ελεγχθεί από ρυθμιστικούς φορείς και νομοθετικά όργανα σε όλο τον κόσμο λόγω πώς διατηρεί την κυριαρχία του στο κατάστημα εφαρμογών και δεν υπάρχουν ενδείξεις ότι αυτή η πίεση θα χαλαρώσει ανά πάσα στιγμή σύντομα. Αυτός είναι ίσως ο λόγος που η Google αναλαμβάνει την πρωτοβουλία να εισάγει νέες δυνατότητες Android 14 που βελτιώνουν την εμπειρία για τους χρήστες καταστημάτων εφαρμογών τρίτων.

Τα περισσότερα καταστήματα εφαρμογών τρίτων στο Android δεν είναι πραγματικά ανταγωνιστικά με το Google Play και αυτό δεν οφείλεται μόνο στην επιλογή εφαρμογών τους. Ενώ τα καταστήματα εφαρμογών πρώτου κατασκευαστή, προεγκατεστημένα είχαν πάντα τη δυνατότητα να κάνουν αυτόματες ενημερώσεις εφαρμογών, τα καταστήματα εφαρμογών τρίτων μόλις πρόσφατα μπόρεσαν να κάνουν ενημερώσεις χωρίς επίβλεψη. Η Google πρόσθεσε

ένα API στο Android 12 που επιτρέπει σε καταστήματα εφαρμογών τρίτων να ενημερώνουν τις εφαρμογές χωρίς να απαιτείται η ενέργεια του χρήστη, μειώνοντας την τριβή του χρησιμοποιώντας ένα κατάστημα εφαρμογών τρίτου μέρους.

Ωστόσο, αυτό εξακολουθεί να αφήνει τα καταστήματα εφαρμογών τρίτων σε σημαντικό μειονέκτημα όσον αφορά τη λειτουργικότητα, επειδή δεν μπορούσαν εύκολα να γνωρίζουν πότε θα ήταν ασφαλές να κάνετε πραγματικά μια αυτόματη ενημέρωση. Αυτό προσπαθεί να λύσει η Google στο Android 14 με ένα νέο API που επιτρέπει στα καταστήματα εφαρμογών τρίτων να εκτελούν «ευγενείς ενημερώσεις».

Απαλές ενημερώσεις

Το Android 14 πρόσθεσε ένα νέο API που επιτρέπει σε καταστήματα εφαρμογών τρίτων να ελέγχουν εάν πληρούνται ορισμένες προϋποθέσεις προτού προχωρήσουν στην αυτόματη ενημέρωση μιας εφαρμογής. ο PackageInstaller. InstallConstraints API «μπορεί να χρησιμοποιηθεί από τα καταστήματα εφαρμογών για την παροχή αυτόματων ενημερώσεων χωρίς διακοπή της εμπειρίας του χρήστη (αναφέρεται ως ήπια ενημέρωση) - για παράδειγμα, ένα κατάστημα εφαρμογών μπορεί να αναστέλλει τις ενημερώσεις όταν ανακαλύπτει ότι η εφαρμογή προς ενημέρωση αλληλεπιδρά με το χρήστης."

Αυτό το νέο API επιτρέπει σε καταστήματα εφαρμογών τρίτων να ελέγχουν εάν μια εφαρμογή που ετοιμάζονται να ενημερώσουν έχει ενεργή υπηρεσία προσκηνίου (isRequireAppNotForeground), αλληλεπιδρά με τον χρήστη με κάποιο τρόπο (isRequireAppNotInteracting) ή βρίσκεται στην οθόνη (isRequireAppNotTopVisible). Τα καταστήματα εφαρμογών τρίτων μπορούν επίσης να ελέγξουν εάν η συσκευή βρίσκεται σε λειτουργία doze (isRequireDeviceIdle) ή σε τηλεφωνική κλήση (isRequireNotInCall).

Ενώ το API επιτρέπει τον καθορισμό των συνθηκών που πρέπει να ελεγχθούν, η τεκμηρίωση συνιστά τη χρήση των προκαθορισμένων περιορισμών όπως το «σύστημα γνωρίζει ο καλύτερος τρόπος για να το κάνουμε." Αυτό είναι λογικό δεδομένου ότι η Google είχε αρκετό χρόνο για να αναπτύξει τον καλύτερο τρόπο χειρισμού των αυτόματων ενημερώσεων στο δικό της κατάστημα εφαρμογών. Η χρήση της προεπιλογής είναι επίσης επωφελής, όπως σημειώνεται στην τεκμηρίωση, καθώς η ακρίβεια και η αποτελεσματικότητα των ήπιων ενημερώσεων ενδέχεται να βελτιωθούν σε μελλοντικές εκδόσεις, εάν η Google προσθέσει περισσότερους περιορισμούς στο API.

Κάθε συνθήκη που το PackageInstaller. Το InstallConstaints API επιτρέπει τον έλεγχο που μπορεί ήδη να ελεγχθεί μέσω των υπαρχόντων API, αλλά η διαχείριση αυτών των ελέγχων από το σύστημα είναι πολύ πιο εύκολη και λιγότερο παρεμβατική. Για παράδειγμα, καταστήματα εφαρμογών τρίτων που θέλουν να ελέγξουν εάν μια εφαρμογή που ενημερώνουν χρησιμοποιείται ενεργά από τον χρήστη θα πρέπει επί του παρόντος να χρησιμοποιήσει ένα API όπως το UsageStats ή το AccessibilityService, και τα δύο ευαίσθητα άδειες. Ωστόσο, εάν χρησιμοποιούν αυτό το νέο Android 14 API, δεν θα χρειάζονταν αυτές τις άδειες για να κάνουν τη δουλειά τους.

Ενημέρωση ιδιοκτησίας

Η ενεργοποίηση "απαλών ενημερώσεων" δεν είναι η μόνη βελτίωση στο Android 14 για καταστήματα εφαρμογών τρίτων. Υπάρχει επίσης ένας νέος μηχανισμός «ιδιοκτησίας ενημέρωσης» που επιτρέπει στα καταστήματα εφαρμογών τρίτων να γίνουν η αποκλειστική πηγή μελλοντικών αυτόματων ενημερώσεων σε μια εφαρμογή που εγκατέστησαν για πρώτη φορά. Αυτό σημαίνει ότι εάν χρησιμοποιείτε κατάστημα εφαρμογών τρίτου μέρους, επειδή οι εφαρμογές που διατίθενται μέσω αυτού ελέγχονται από το κοινότητα, για παράδειγμα, τότε μια ενημέρωση χωρίς έλεγχο που είναι διαθέσιμη μέσω άλλων καταστημάτων εφαρμογών δεν θα προωθηθεί αυτόματα σε η συσκευή σου.

Αυτήν τη στιγμή, όταν εγκαθιστάτε μια εφαρμογή μέσω ενός καταστήματος εφαρμογών τρίτου μέρους, τίποτα δεν εμποδίζει ένα κατάστημα εφαρμογών πρώτου κατασκευαστή να ενημερώσει αυτήν την εφαρμογή. Ενώ το API ενημερώσεων χωρίς επίβλεψη του Android 12 επιτρέπει μόνο σε καταστήματα εφαρμογών τρίτων να ενημερώνουν αθόρυβα τις εφαρμογές που εγκατέστησαν για πρώτη φορά, τα καταστήματα εφαρμογών πρώτου κατασκευαστή δεν επηρεάζονται καθώς διαθέτουν τα προνομιακά INSTALL_PACKAGES άδεια.

Τα καταστήματα εφαρμογών τρίτων στο Android 14 μπορούν να χρησιμοποιήσουν το νέο setRequestUpdateOwnership μέθοδος σε PackageInstaller. SessionParams, ωστόσο, για να ενημερώσουν το σύστημα ότι διεκδικούν την ιδιοκτησία της ενημέρωσης στην εφαρμογή που πρόκειται να εγκαταστήσουν. Μόλις ενεργοποιηθεί η επιβολή ιδιοκτησίας ενημέρωσης για μια εφαρμογή, όλα τα άλλα καταστήματα εφαρμογών — ακόμη και αυτά με άδεια INSTALL_PACKAGES — χρειάζονται ενέργειες από τον χρήστη για την ενημέρωση της εφαρμογής. Η ιδιοκτησία της ενημέρωσης μπορεί να ενεργοποιηθεί μόνο κατά την αρχική εγκατάσταση μιας εφαρμογής, επομένως σε άλλο κατάστημα εφαρμογών δεν θα είναι σε θέση να αναλάβει ενημερώσεις εκτός εάν η εν λόγω εφαρμογή απεγκατασταθεί και επανεγκατασταθεί από αυτήν κατάστημα. Τα καταστήματα εφαρμογών μπορούν να ελέγξουν εάν η ιδιοκτησία ενημέρωσης είναι ενεργοποιημένη για μια εφαρμογή και, εάν ναι, ποια εφαρμογή είναι ο κάτοχος της ενημέρωσης, μέσω του νέου InstallSourceInfo#getUpdateOwnerPackageName() API.

Τα καταστήματα εφαρμογών τρίτων πρέπει να διαθέτουν το νέο ENFORCE_UPDATE_OWNERSHIP άδεια χρήσης του API επιβολής ιδιοκτησίας ενημέρωσης, αλλά επειδή αυτή η άδεια έχει ένα επίπεδο προστασίας «κανονικό», θα χορηγηθεί από το σύστημα κατά την εγκατάσταση. Ωστόσο, μένει να δούμε αν το Google Play θα ελέγξει τη χρήση αυτής της άδειας/API.

Εγκατάσταση προέγκρισης

Το τελευταίο νέο Android 14 API που ήθελα να επισημάνω είναι PackageInstaller. Session#requestUserPreapproval. Αυτό το API επιτρέπει σε καταστήματα εφαρμογών τρίτων να ζητούν έγκριση από τον χρήστη προτού πραγματοποιήσουν μια περίοδο λειτουργίας εγκατάστασης. Φαντάζομαι ότι αυτό θα είναι χρήσιμο για καταστήματα εφαρμογών τρίτων που θέλουν σκόπιμα να ζητήσουν από τον χρήστη πριν ενημερώσουν μια εφαρμογή στο παρασκήνιο.

Για παράδειγμα, φανταστείτε ότι ένα κατάστημα εφαρμογών που εστιάζει στην ασφάλεια θέλει να ενημερώσει τον χρήστη του όταν μια ενημέρωση εφαρμογής προσθέτει νέα δικαιώματα. Αντί να ενημερώνεται αυτόματα αυτή η εφαρμογή, δίνοντας έτσι αυτόματα αυτήν την άδεια εάν το επίπεδο προστασίας της είναι «κανονικό», το κατάστημα εφαρμογών θα μπορούσε να ζητήσει από τον χρήστη πριν κάνει την ενημέρωση. Επί του παρόντος, εάν ένας χρήστης δεν είναι παρών κατά τη διάρκεια μιας αυτόματης ενημέρωσης, το κατάστημα εφαρμογών τρίτου μέρους θα πρέπει να παρακολουθεί την περίοδο λειτουργίας εγκατάστασης και να τους ζητήσει αργότερα. Αυτό το API απλοποιεί αυτή τη διαδικασία.


Το Android 14 θα παρουσιάσει πολλές νέες δυνατότητες και API όταν κυκλοφορήσει στο κοινό αργότερα φέτος. Αν και αυτά τα νέα API δεν είναι κρυφά όπως ορισμένες από τις άλλες αλλαγές που εντοπίσαμε, δεν υπάρχει καμία εγγύηση ότι αυτά τα API θα είναι διαθέσιμα στους προγραμματιστές στη σταθερή έκδοση. Αυτό συμβαίνει επειδή το πάγωμα του API δεν θα συμβεί έως ότου το Android 14 φτάσει στη "σταθερότητα της πλατφόρμας" με την Beta 3 τον Ιούνιο του 2023 και είμαστε μόνο στο DP1 αυτή τη στιγμή. Θα παρακολουθούμε τις μελλοντικές εκδόσεις Android 14 DP και Beta για να δούμε εάν αυτά τα API παραμένουν σταθερά ή εάν προστίθενται νέα API σχετικά με καταστήματα εφαρμογών τρίτων.