Play Integrity API를 사용하여 위험한 상호작용으로부터 앱과 게임을 보호할 수 있습니다. 이러한 상호작용을 식별함으로써 앱이 적절히 대응하여 공격 및 악용의 위험을 줄일 수 있습니다.
작동 원리
Integrity API는 Android 앱 및 게임 개발자가 잠재적으로 위험한 허위 트래픽을 감지할 수 있도록 무결성 신호 모음과 Google Play 악용 방지 기능을 통합합니다. 이 트래픽은 수정된 버전의 앱 또는 게임, 신뢰할 수 없는 기기, 기타 신뢰할 수 없는 환경에서 발생할 수 있습니다. 이 트래픽을 감지하면 적절한 조치로 대응하여 공격뿐 아니라 사기, 속임수, 무단 액세스와 같은 악용을 줄일 수 있습니다.
사용자가 앱이나 게임에서 정의된 작업을 수행하면 서버에서 클라이언트 측 코드에 Integrity API를 호출하도록 지시합니다. Google Play 서버는 이 기기 및 바이너리를 신뢰할 수 있는지에 관한 무결성 확인 결과가 포함된 암호화된 응답을 반환합니다. 그런 다음 앱에서 확인을 위해 이 응답을 서버로 전달합니다. 서버는 앱이나 게임이 다음으로 수행해야 하는 작업을 결정할 수 있습니다.
API는 다음 정보가 포함된 무결성 확인 결과를 응답으로 제공합니다.
- 정품 앱 바이너리: Google Play에서 인식하는 수정되지 않은 바이너리와 상호작용하는지 확인합니다.
- 정품 Play 설치: 현재 사용자 계정에 라이선스가 부여되었는지 확인합니다. 즉, 사용자가 Google Play에서 앱이나 게임을 설치했거나 비용을 지불했음을 의미합니다.
- 정품 Android 기기: Google Play 서비스(또는 PC용 Google Play 게임즈의 정품 인스턴스)에서 제공하는 정품 Android 기기에서 앱이 실행되는지 확인합니다.
무결성 확인 결과에서 환경에 관한 추가 정보를 수신하도록 선택할 수도 있습니다.
- 앱 액세스의 위험: 화면을 캡처하거나, 앱 위에 오버레이를 표시하거나, 기기를 제어할 수 있는 다른 앱이 실행 중인지 확인합니다.
- 알려진 멀웨어의 위험: Google Play 프로텍트가 사용 설정되어 있는지 확인하고 기기에 알려진 멀웨어가 발견되지는 않았는지 확인합니다.
도움말:
- Google Play 상태 대시보드를 사용하여 Play Integrity API 및 기타 Play 서비스의 상태를 모니터링할 수 있습니다.
- Android 개발자 사이트에 제공되는 문서의 각 권장사항을 따르면 Integrity API를 앱에 가장 잘 활용할 수 있습니다.
Play Integrity API 설정 및 관리하기
앱에 Integrity API 사용 설정
앱에 Integrity API 응답을 사용 설정하려면 Play Console에서 Google Cloud 프로젝트를 연결해야 합니다. 프로젝트를 연결하려면 다음 안내를 따르세요.
- Play Console을 열고 앱 무결성 페이지(출시 > 앱 무결성)로 이동합니다.
- 'Play Integrity API' 섹션으로 스크롤합니다.
- '기존 프로젝트 연결'과 연결하려는 프로젝트를 선택합니다.
- 클라우드 프로젝트 연결을 클릭합니다.
Integrity API를 앱에 통합하려면 다음 작업을 해야 합니다.
- 자바/Kotlin 앱의 경우 Google Maven 저장소에서 Play Integrity API에 사용할 수 있는 최신 Android 라이브러리를 설치합니다.
- Unity 게임의 경우 최신 버전의 Unity용 Google Play 플러그인을 설치합니다. 2019.x, 2020.x 이상의 모든 버전이 지원됩니다. Unity 2018.x를 사용하는 경우 2018.4 이상을 설치합니다. Unity 2017.x를 사용하는 경우 2017.4.40 이상을 설치합니다. Unity 5.x 및 이전 버전은 지원되지 않습니다.
- 네이티브 앱 및 게임의 경우 최신 Play Core Native SDK를 설치합니다.
이제 Android 개발자 사이트에서 다음 단계에 따라 앱 또는 게임에 Play Integrity API를 사용할 수 있습니다.
(선택사항) Integrity API 응답 맞춤설정
API 무결성 응답을 구성하는 방법을 알아보려면 Android 개발자 사이트를 참고하세요.
API 응답을 수정하려면 다음 안내를 따르세요.
- Play Console을 열고 앱 무결성 페이지(출시 > 앱 무결성)로 이동합니다.
- 'Play Integrity API' 섹션으로 스크롤합니다.
- 설정을 클릭합니다.
- '응답' 섹션으로 스크롤합니다.
- 수정을 클릭합니다.
- 변경할 API 응답 옆에 있는 체크박스를 선택하거나 선택 해제합니다.
- 변경사항 저장을 클릭합니다.
중요: API 응답에 대한 변경사항은 앱이 프로덕션 단계에 있는 경우를 포함하여 저장하는 즉시 적용됩니다. Play Console에서 API 응답 세트를 변경하기 전에 서버가 이러한 응답을 수락할 준비가 되어 있는지 확인합니다.
(선택사항) 기존 요청 설정 구성
기존 요청의 응답 암호화는 기본적으로 Google에서 관리합니다. 그러나 원하는 경우 응답 암호화를 직접 관리할 수 있습니다.
중요: 응답 암호화 관리를 Google 관리형과 직접 관리형 간에 전환하려면 백엔드 서버에서 코드를 변경해야 합니다.
응답 암호화를 직접 관리하려면 다음 안내를 따르세요.
- Play Console을 열고 앱 무결성 페이지(출시 > 앱 무결성)로 이동합니다.
- 'Play Integrity API' 섹션으로 스크롤합니다.
- 설정을 클릭합니다.
- '기존 요청' 섹션으로 스크롤합니다. '응답 암호화' 옆에 상태가 기본적으로 'Google에서 관리하는 키'로 표시됩니다. 변경을 클릭합니다.
- '내 응답 암호화 키 관리 및 다운로드'를 선택하고 변경사항 저장을 클릭합니다. Google에서 개발자를 대신해 응답 암호화를 생성하여 다운로드하고 관리합니다. 이 키를 사용해 응답을 복호화하려면 백엔드 서버 로직을 업데이트해야 합니다.
- 화면에 표시된 안내에 따라 .pem 파일을 생성하고 업로드하여 API 키를 다운로드합니다.
- 응답 암호화 관리 설정이 업데이트되었음을 확인하는 메시지가 화면에 표시됩니다.
- 새 응답 암호화 키를 다운로드하고 프로덕션에서 새 응답 암호화 키로 응답을 복호화하는 데 사용할 백엔드 서버를 업데이트합니다. 앱 무결성 페이지의 Integrity API 탭으로 돌아가 Google Play에서 기존 키가 아닌 새 응답 암호화 키를 사용하도록 합니다. 이 변경사항은 즉시 적용됩니다.
자체 관리형에서 Google 관리형으로 되돌리려면 다음 안내를 따르세요.
- Play Console을 열고 앱 무결성 페이지(출시 > 앱 무결성)로 이동합니다.
- 'Play Integrity API' 섹션으로 스크롤합니다.
- 설정을 클릭합니다.
- '기존 요청' 섹션으로 스크롤합니다. 이전에 변경한 적이 있으므로 '응답 암호화' 옆에 상태가 '자체 관리형'으로 표시됩니다. 변경을 클릭합니다.
- 'Google에서 응답 암호화를 관리하도록 허용(권장)'을 선택하고 변경사항 저장을 클릭합니다. Google에서 응답 암호화 키를 생성하고 관리합니다. 백엔드 서버에서는 Google Play의 서버를 호출하여 응답을 복호화합니다.
Play Integrity API 통합 테스트
Integrity API 통합을 테스트하려면 Gmail 계정 목록을 설정합니다. 먼저 테스터가 버전에 액세스할 수 있는지 확인합니다. 내부 테스트 트랙 또는 테스트하려는 트랙에 앱을 게시합니다. 그런 다음 테스터가 버전에 액세스할 수 있도록 이메일 주소로 테스터 관리 또는 Google 그룹스 사용 관련 안내를 따릅니다.
테스트를 설정하려면 다음 안내를 따르세요.
- Play Console을 열고 앱 무결성 페이지(출시 > 앱 무결성)로 이동합니다.
- 'Play Integrity API' 섹션으로 스크롤합니다.
- 설정을 클릭합니다.
- '테스트' 섹션으로 스크롤합니다.
- 새 테스트 만들기를 클릭합니다.
- 이메일 목록을 선택하거나 새로 만듭니다.
- 테스트 만들기를 클릭합니다.
사용자가 Integrity API 대화상자를 통해 방문할 때 표시되는 스토어 등록정보 맞춤설정
Integrity API 해결 대화상자를 사용하면 비공식적으로 앱을 획득한 사용자에게 Google Play에서 앱을 다운로드하라는 메시지를 표시할 수 있습니다. 사용자가 대화상자를 탭하면 스토어 등록정보로 리디렉션됩니다. 그러면 사용자는 설치(또는 구매 또는 업데이트) 버튼을 탭하여 앱을 사용자의 Play 라이브러리에 추가할 수 있습니다.
Integrity API 해결 대화상자를 탭하는 모든 방문자를 위해 앱 이름, 아이콘, 설명, 그래픽 저작물 등 스토어 등록정보 애셋을 맞춤설정할 수 있습니다. 사용자가 Integrity API 대화상자에서 방문할 때 표시되는 스토어 등록정보를 맞춤설정하려면 다음 안내를 따르세요.
- Play Console을 열고 앱 무결성 페이지(출시 > 앱 무결성)로 이동합니다.
- 'Play Integrity API' 섹션으로 스크롤합니다.
- 설정을 클릭합니다.
- '스토어 등록정보 맞춤설정' 섹션으로 스크롤합니다.
- 등록정보 만들기를 클릭합니다.
- 맞춤 스토어 등록정보 만들기 페이지의 안내를 따르고 저장을 클릭합니다.
또는 '맞춤 스토어 등록정보' 페이지에서 직접 Integrity API 대화상자의 맞춤 스토어 등록정보를 만들 수 있습니다.
- Play Console을 열고 맞춤 스토어 등록정보 페이지(성장 > 맞춤 스토어 등록정보)로 이동합니다.
- 등록정보 만들기를 클릭하고, 새 등록정보를 만들지 또는 기존 등록정보를 복제할지 선택한 후 다음을 클릭합니다.
- '등록정보 세부정보'에서 '타겟층' 섹션을 찾습니다.
- URL 기준을 선택하고 텍스트 상자에 'playintegrity'를 입력합니다.
- 다른 모든 세부정보를 입력하고 저장을 클릭합니다.
도움말: URL 매개변수 'playintegrity'는 무결성 딥 링크용으로 예약되는 특수 키워드이므로, 맞춤 스토어 등록정보를 설정할 때 정확하게 입력해야 합니다.
Play Integrity API 일일 최대 요청 수 늘리기
앱은 기본적으로 Integrity API에 일일 최대 10,000개의 요청을 전송할 수 있습니다.
앱의 일일 요청 수를 보려면 다음 안내를 따르세요.
- Play Console을 열고 앱 무결성 페이지(출시 > 앱 무결성)로 이동합니다.
- 'Play Integrity API' 섹션으로 스크롤합니다.
- 일일 요청 수를 확인합니다. 더 많은 데이터를 확인하고, 기간을 변경하고, 필터를 적용하려면 Integrity API 보고서 보기를 클릭하세요.
앱의 일일 최대 요청 수를 보려면 다음 안내를 따르세요.
- Play Console을 열고 앱 무결성 페이지(출시 > 앱 무결성)로 이동합니다.
- 'Play Integrity API' 섹션으로 스크롤합니다.
- 설정을 클릭합니다.
- 사용 등급을 확인합니다.
일일 10,000개가 넘는 요청을 요청할 수 있습니다. 자격 요건을 충족하려면 다음 사항을 준수해야 합니다.
- 재시도를 포함하여 API 로직의 올바른 구현을 확인합니다.
- 다른 배포 채널은 물론 Google Play에도 앱을 게시합니다.
일일 최대 요청 수를 늘리려면 이 양식을 작성하세요.
관련 콘텐츠
- Play Integrity API 개발자 문서를 읽어 보세요.
- Play Integrity API 개요 동영상을 시청하세요.
- Play Console의 무결성 및 서명 서비스를 알아보세요.
- Android 개발자 사이트의 무결성 및 서명 서비스를 알아보세요.