Android 14는 새로운 API 덕분에 타사 앱 스토어 사용자에게 더 나은 환경을 제공할 준비를 합니다.
Google Play는 Android 사용자들 사이에서 단연코 가장 인기 있는 앱 스토어입니다. Google은 다음과 같은 이유로 전 세계의 규제 기관 및 입법 기관에서 정밀 조사를 받았습니다 앱 스토어 지배력을 유지하는 방법과 이 압력이 언제라도 풀릴 조짐이 없습니다. 곧. 이것이 아마도 Google이 안드로이드 14 타사 앱 스토어 사용자의 경험을 개선합니다.
Android에 있는 대부분의 타사 앱 스토어는 Google Play와 실제로 경쟁하지 않으며 앱 선택 때문만도 아닙니다. 자사의 사전 설치된 앱 스토어는 항상 자동 앱 업데이트를 수행할 수 있었지만 타사 앱 스토어는 최근에야 무인 업데이트를 수행할 수 있게 되었습니다. 구글이 추가했다 Android 12의 API 타사 앱 스토어에서 사용자 조치 없이 앱을 업데이트할 수 있도록 하여 타사 앱 스토어 사용.
그러나 이로 인해 서드파티 앱 스토어는 쉽게 알 수 없었기 때문에 기능면에서 여전히 큰 불리한 위치에 놓였습니다. 언제 실제로 자동 업데이트를 수행하는 것이 안전합니다. 이것이 바로 Google이 타사 앱 스토어에서 "부드러운 업데이트"를 수행할 수 있도록 하는 새로운 API를 통해 Android 14에서 해결하려는 것입니다.
부드러운 업데이트
Android 14에는 타사 앱 스토어에서 앱 자동 업데이트를 진행하기 전에 특정 조건이 충족되는지 여부를 확인할 수 있는 새로운 API가 추가되었습니다. 그만큼 PackageInstaller. InstallConstraints API "앱 스토어에서 사용자 경험을 방해하지 않고 자동 업데이트를 제공하는 데 사용할 수 있습니다(완전한 업데이트라고 함). - 예를 들어 앱 스토어는 업데이트할 앱이 사용자."
이 새로운 API를 통해 타사 앱 스토어는 업데이트를 준비 중인 앱에 활성 포그라운드 서비스가 있는지 여부를 확인할 수 있습니다. (isRequireAppNotForeground), 어떤 방식으로든 사용자와 상호 작용 중이거나(isRequireAppNotInteracting) 화면에 있음 (isRequireAppNotTopVisible). 타사 앱 스토어는 기기가 잠자기 모드(isRequireDeviceIdle)인지 전화 통화(isRequireNotInCall)인지도 확인할 수 있습니다.
API를 사용하면 확인할 조건을 지정할 수 있지만 문서에서는 "시스템이 알고 있는" 사전 설정 제약 조건을 사용하도록 권장합니다. 어떻게 하는 것이 가장 좋습니다.” Google이 자체 앱 스토어에서 자동 업데이트를 가장 잘 처리하는 방법을 개발할 시간이 충분하다는 점을 고려하면 이는 논리적입니다. Google이 API에 더 많은 제약 조건을 추가하면 향후 릴리스에서 부드러운 업데이트의 정확성과 효율성이 향상될 수 있으므로 사전 설정을 사용하는 것도 도움이 됩니다.
PackageInstaller가 수행하는 모든 조건. InstallConstaints API를 사용하면 기존 API를 통해 이미 확인할 수 있지만 시스템에서 이러한 검사를 처리하는 것이 훨씬 쉽고 덜 방해가 됩니다. 예를 들어 업데이트 중인 앱이 활발하게 사용되고 있는지 확인하려는 타사 앱 스토어 사용자는 현재 둘 다 민감한 UsageStats 또는 AccessibilityService와 같은 API를 사용해야 합니다. 권한. 하지만 이 새로운 Android 14 API를 사용하는 경우 작업을 수행하는 데 이러한 권한이 필요하지 않습니다.
소유권 업데이트
타사 앱 스토어를 위한 Android 14의 개선 사항은 '부드러운 업데이트'를 사용하는 것뿐이 아닙니다. 또한 타사 앱 스토어가 처음 설치한 앱에 대한 향후 자동 업데이트의 독점 소스가 될 수 있는 새로운 "소유권 업데이트" 메커니즘이 있습니다. 이는 타사 앱 스토어를 통해 사용할 수 있는 앱이 예를 들어 다른 앱 스토어를 통해 제공되는 검증되지 않은 업데이트는 커뮤니티에 자동으로 푸시되지 않습니다. 당신의 장치.
현재 타사 앱 스토어를 통해 앱을 설치하면 자사 앱 스토어에서 해당 앱을 업데이트하는 것을 막을 수 없습니다. Android 12의 무인 업데이트 API는 타사 앱 스토어가 처음 설치한 앱만 자동으로 업데이트하도록 허용하지만 자사 앱 스토어는 권한을 보유하므로 영향을 받지 않습니다. 설치_패키지 허가.
Android 14의 타사 앱 스토어는 새로운 setRequestUpdateOwnership 방법 PackageInstaller. 세션 매개변수, 그러나 설치하려는 앱에 대한 업데이트 소유권을 주장하고 있음을 시스템에 알립니다. 앱에 대해 업데이트 소유권 적용이 활성화되면 다른 모든 앱 스토어(INSTALL_PACKAGES 권한이 있는 앱 스토어 포함)에서 앱을 업데이트하려면 사용자의 조치가 필요합니다. 업데이트 소유권은 앱의 초기 설치 중에만 활성화할 수 있으므로 다른 앱 스토어 문제의 앱을 제거하고 다시 설치하지 않으면 업데이트를 인계받을 수 없습니다. 가게. 앱 스토어는 앱에 대해 업데이트 소유권이 활성화되어 있는지, 그렇다면 어떤 앱이 업데이트 소유자인지 확인할 수 있습니다. InstallSourceInfo#getUpdateOwnerPackageName() API.
타사 앱 스토어는 새로운 집행_업데이트_소유권 업데이트 소유권 적용 API를 사용할 수 있는 권한이지만 이 권한의 보호 수준이 "정상"이므로 설치 시 시스템에서 부여합니다. 그러나 Google Play가 이 권한/API의 사용을 감사할지는 두고 봐야 합니다.
사전 승인 설치
마지막으로 강조하고 싶은 새로운 Android 14 API는 PackageInstaller. Session#requestUserPreapproval. 이 API를 사용하면 타사 앱 스토어에서 설치 세션을 커밋하기 전에 사용자 승인을 요청할 수 있습니다. 백그라운드에서 앱을 업데이트하기 전에 의도적으로 사용자에게 메시지를 표시하려는 타사 앱 스토어에 유용할 것이라고 생각합니다.
예를 들어 보안에 중점을 둔 앱 스토어에서 앱 업데이트가 새 권한을 추가할 때 사용자에게 알리고 싶어 한다고 가정해 보십시오. 해당 앱을 자동으로 업데이트하여 보호 수준이 "정상"인 경우 해당 권한을 자동으로 부여하는 대신 앱 스토어에서 업데이트를 수행하기 전에 사용자에게 메시지를 표시할 수 있습니다. 현재 자동 업데이트 중에 사용자가 없으면 타사 앱 스토어에서 설치 세션을 추적하고 나중에 메시지를 표시해야 합니다. 이 API는 해당 프로세스를 단순화합니다.
Android 14는 올해 후반에 대중에게 공개될 때 수많은 새로운 기능과 API를 도입할 예정입니다. 이 새로운 API는 우리가 발견한 다른 변경 사항처럼 숨겨져 있지는 않지만 안정적인 릴리스에서 개발자가 이러한 API를 사용할 수 있다는 보장은 없습니다. 2023년 6월 베타 3에서 Android 14가 "플랫폼 안정성"에 도달할 때까지 API 동결이 발생하지 않으며 현재 DP1에만 있기 때문입니다. 이러한 API가 계속 유지되는지 또는 타사 앱 스토어와 관련된 새로운 API가 추가되는지 확인하기 위해 향후 Android 14 DP 및 베타 릴리스를 주시할 것입니다.