메뉴 바로가기 본문 바로가기

고객센터

공지사항

Android11의 패키지 가시성 정책 변경에 따른 안내
2021.10.29
안녕하십니까?

갤럭시아머니트리(주)의 전자결제서비스 운영자입니다.

Android11의 패키지 가시성 정책 변경에 따라 아래와 같이 안내 드리오니

참고 하시어 업무에 불편 없으시길 바랍니다.



- 아 래 -



1. 변경사항 : Android11의 패키지 가시성 변경

- 이전 버전OS에서는 앱이 PackageManager에서 제공하는

메소드(queryIntentActivities(), getInstalledApplications(), getInstalledApplications(), resolveActivity() 등)

를 사용하여 시스템에 설치된 앱을 확인 가능

- Android11(API 30)부터는 패키지 가시성 제한으로 시스템에 설치된 앱을 조회할 수 없음

이에 따라 결제창 등에서 사용하는 외부 앱(앱카드, 백신, 삼성페이, 페이코 등) 호출 시 패키지 정보로

앱 설치 여부를 확인하고 있을 경우 문제 발생 할 수 있음



2. 대상 가맹점 : 앱으로 서비스 제공 시 영향도 발생할 수 있음에 따라 조치 필요



3. 참고링크

- https://support.google.com/googleplay/android-developer/answer/10446026?hl=ko

- https://developer.android.com/about/versions/11/privacy/package-visibility?hl=ko

- https://developer.android.com/training/basics/intents/package-visibility?hl=ko#package-name

- https://developer.android.com/training/package-visibility/use-cases?hl=ko



4. 조치 방안

1안) 쇼핑몰 앱의 요소에 패키지를 정의

2안) 재정의한 shouldOverrideUrlLoading() 메소드에서 startActivity() 호출 시앱미설치로 발생하는

ActivityNotFoundException(No Activity found to handle Intent)에 예외처리 로직을 추가



5. 조치방안 상세

1안) 요소에 패키지 정의

- AndroidManifest.xml 파일 수정

- 매니페스트 파일의요소에 패키지를 정의하면 패키지의 가시성이 확보 가능 합니다.

[앱 패키지 목록 ▶ 첨부파일 클릭]

● 장점 : 소스 수정 없이 매니페스트 파일만 수정

● 단점 : 패키지 목록관리 필요 (카드사에 신규 앱 추가 시 쇼핑몰 앱에 패키지 추가 등록 필요)


2안) 쇼핑몰 앱의 WebViewClient shouldOverrideUrlLoading()예외처리 로직 추가

- 재정의한 shouldOverrideUrlLoading() 메소드 로직 수정 필요

- 앱의 설치여부 확인을 위해 startActivity() 호출 전에 패키지 정보를 조회하는 경우, 설치 여부 확인 로직을

제거하고 바로 startActivity()을 호출

- startActivity() 호출 시 ActivityNotFoundException(Message : No Activity found to handle Intent)이

발생한 경우 앱이 설치되지 않은 것으로 간주하고 앱 설치를 위해 마켓으로 이동하도록 처리

● 장점: 패키지 목록 관리 필요 없음

● 단점: 민감한 Webview 처리로직 수정필요



※ 2안으로 처리 시 쇼핑몰 앱 별로 구현 방식이 다양하므로, 반드시 각 카드사의 인증 수단 별 결제 테스트 진행 필요



언제나 저희 서비스를 이용해 주셔서 감사 드리며 더욱 나은 서비스로 보답 하겠습니다.

감사합니다.