얼굴이 포함되어 있는 이미지를 공개된 곳에 올려야 할 일이 있었는데 그대로 올리기가 부담스러웠습니다. 얼굴 부분을 가리거나 흐리게 하고 싶었는데 적절한 앱이 설치되어 있지 않아 이미지 편집 도구로 수정했습니다. 해당 기능을 하는 앱이 있을 것 같았지만 직접 제작해 보기로 했습니다.
구상
먼저 얼굴을 인식하는 부분을 작업했습니다. 여러 가지 사진으로 테스트 해 보니 너무 작거나 한 경우가 아니면 전반적으로 잘 인식되었습니다. 앱 사용자가 인식된 얼굴 모두를 가리지 않을 수도 있어서 선택하도록 작업 했습니다.
얼굴 인식 및 선택 기능
이미지를 갤러리에서 선택하거나 카메라로 촬영해서 바로 사용할 수 있도록 했습니다.
얼굴 가리기 처리
선택된 얼굴을 흐리게 하거나 작은 이미지로 덮을 수 있도록 두 가지 옵션을 제공 했습니다.
얼굴을 흐리게 혹은 이미지로 대치
선택된 얼굴을 흐리게 처리해 보았는데 수치에 따라서 달라지는 것을 확인 했습니다. 사용자에 따라 흐리게 처리하는 정도가 다를 것 같아 조정할 수 있게 했습니다. 적절하다고 생각되는 수치를 계속 이용할 것으로 생각되었습니다. 그래서 기본적으로 마지막으로 적용된 값을 사용하도록 했습니다.
흐리게 처리하는 강도 입력
선택된 얼굴이 흐리게 처리된 모습
선택된 얼굴이 흐리게 처리된 결과를 이미지로 다시 저장할 수 있도록 했습니다.
이곳에서 앱 정보를 확인하실 수 있습니다. 무료 앱이며 광고를 포함하고 있습니다. 구독제를 통해 제한없이 사용할 수 있습니다.
구글 플레이에 앱을 올릴 때 제한이 없던 이전과 달리 패키지 이름을 먼저 등록해야 합니다. 기존 앱들은 자동으로 추가되었지만 신규 앱은 따로 등록해야 합니다. Unreal 에서 안드로이드 배포판을 등록할 때 패키지 이름을 등록하는 과정을 알아보겠습니다.
패키지 이름 결정 및 Unreal 에서 APK 파일 생성
먼저 패키지 이름을 결정합니다. com.yourcompany.yourapp 을 예로 진행해 보도록 하겠습니다. jks 파일을 Android Studio 를 이용하거나 다른 방법으로 생성합니다. Unreal 에서 다음과 같이 설정 합니다.
Project Settings > Packaging > Project
Build Configuration > Shipping, For Distribution 항목 선택
Project Settings > Packaging > Project 항목 설정
Project Settings > Platforms > Android
Package game data inside .apk? 항목을 선택해야 APK 파일이 생성됩니다.
Project Settings > Platforms > Android 항목 설정
Key Store 항목에 생성한 jks 파일명을 지정하고 비밀번호를 입력합니다.
위와 같이 설정 후 APK파일을 생성합니다. 반드시 배포용으로 생성해야 합니다. 그렇지 않으면 SHA-256 digest 키가 일치하지 않아 패키지 이름 등록이 불가능 합니다.
키 정보 확인
생성된 APK파일을 대상으로 다음과 같이 명령어를 입력하면 키 정보를 확인할 수 있습니다.
apksigner verify –print-certs yourapp.apk
키 정보
SHA-256 digest 키 정보를 복사해 놓습니다.
Android 개발자 인증에 등록
이제 구글 플레이 개발자 콘솔에 접속해서 Android 개발자 인증 버튼을 클릭합니다. 패키지 이름 등록 버튼을 클릭하면 다음과 같이 나타납니다.
패키지 이름 등록
여기에 패키지 이름을 입력합니다(ex:com.yourcompany.yourapp)
임시 상태로 등록 되는데 링크를 클릭해 보면 다음과 같이 키 추가 화면이 나타납니다.
키 추가 화면
키 추가 버튼을 클릭하면 다음 화면이 나타납니다. 이전에 복사해 두었던 SHA-256 digest 항목을 그대로 입력합니다.
SHA-256 digest 키 추가
키를 추가하면 다음과 같은 화면이 나타납니다.
등록된 지문 정보
우측의 확인 링크를 클릭하면 APK 파일을 안내와 같이 생성해서 올리라고 나타납니다.
APK 서명 및 업로드 안내 화면
패키지 이름 확인 용 APK 파일 생성
Android Studio 를 실행해서 아무 것도 없는 프로젝트를 생성합니다. Unreal에서 지정한 패키지 이름과 동일하게 생성해야 합니다. 패키지 이름이 동일하게 생성되었다면 app/src/main/assets/adi-registration.properties 파일을 생성하고 1 번에서 노출된 코드를 그대로 입력합니다. /assets/adi-registration.properties 경로는 임의로 변경하면 안됩니다. 경로가 잘못된 경우 APK 파일을 업로드 하면 The uploaded APK does not have the required token file. 오류가 발생합니다.
SHA-256 digest 키 정보가 일치하지 않으면 APK 파일을 업로드 하면 The uploaded APK has a different signature. 오류가 발생합니다.
문제가 없는 경우 하단의 제출 버튼이 활성화 되고 클릭하면 완료 됩니다. 잠시 기다리면 등록이 된 것을 확인할 수 있습니다.