태그 보관물: 안드로이드

애드몹(Admob) 사이트 행동: 탐색 조치법

개요

어느 날 안드로이드 앱 하나가 AdMob 프로그램 정책을 준수하지 않아 앱에서 광고 게재가 중지 되었다는 내용으로 메일이 왔습니다. 문제는 사이트 행동: 탐색 이었습니다. 영문으로는 Site Behavior: Navigation 입니다. 앱이 처음 업로드 된 것은 9년전 이었습니다.

처음부터 문제가 있었다는 메일이 왔다면 이해가 되었을 겁니다. 시간이 이렇게나 많이 흘렀는데 사전통보도 없이 광고를 중단 시키는 것은 납득하기 어려웠습니다. 그래도 문제 해결을 해야 하니 이것저것 진행해 보았습니다.

광고 게재 중지 알림 메일 내용
광고 게재 중지 알림 메일 내용

첫번째 조치

역시나 메일 내용과 안내된 링크에서 확인해 보아도 명확하게 어느 지점인지 알 수 없었습니다. 상세하게 알려주면 해결이 쉬울텐데 너무 포괄적으로 안내가 됩니다.

앱내에 있는 버튼들이 하단에 배치되어 있었고 바로 밑에 배너 광고가 있었습니다. 의도하지 않게 사용자가 광고를 터치할 수 있다고 생각되어 광고 위쪽에 여백을 추가해서 검토를 요청했습니다. 결과는 여전히 문제가 있다는 메일이 전송되었습니다.

두번째 조치

여백도 안된다면 아예 버튼의 위치를 바꿔야 겠다는 생각이 들었습니다. 그래서 모두 위쪽으로 버튼을 이동했습니다. 검토를 요청했지만 여전히 해결되지 않았습니다.

세번째 조치

문제가 무엇인지 아무리 생각해 보아도 명확하지 않았습니다. 이리저리 살펴 보던 중 앱 기능 중 검색 부분에 버그가 있다는 것을 발견했습니다. 검색을 했을 때 자료가 없는 경우 목록에 아무것도 나타나지 않았습니다.

자료가 없다는 메시지도 나타나지 않고 이전 상태로 돌아갈 수 있는 방법도 없었습니다. 왜 그런 상태로 등록이 되었는지 필자도 이해가 되지 않았습니다. 아마도 나중에 처리한다고 생각하고 있다가 완전히 잊고 등록을 시킨게 아닌가 추측되었습니다.

검색결과가 없는 경우 검색 결과가 없다는 메시지를 보여주고 검색 전 목록이 다시 나타나도록 수정한 후 다시 검토 요청을 했습니다. 얼마 후 문제가 없다는 메일을 받았습니다.

정책 위반 해결 알림 메일 내용
정책 위반 해결 알림 메일 내용

정리

세번의 시도 끝에 문제를 해결했습니다. 그러나 배너 광고근처에 있는 버튼과 검색관련 부분 중 어떤 것이 원래 원인이었는지는 알 수 없었습니다. 둘다 원인이었는지도 확인할 수는 없었습니다.

광고 관련해서는 광고 영역근처에는 사용자가 터치할 수 있는 항목을 배치하지 않아야 할 것 같았습니다. 사용자가 의도하지 않게 광고를 터치하지 않도록 앱 기능을 수행하는 버튼을 잘 배열해야 겠다는 생각이 들었습니다.

검색관련한 부분은 명백하게 사용자에게 혼란을 야기하는 문제였습니다. 미리 확인하지 못한 필자의 터무니없는 실수였습니다. 앱을 만들 때 모든 기능을 사용자 입장에서 혼란스럽지 않도록 매끄럽게 만들어야 하는 중요성을 다시 한번 깨달았습니다.

해결된 사례

필자가 조치한 사항과는 다르지만 자료를 찾아보다가 해결이 되었다는 내용을 정리해 보았습니다. 오래전 항목도 있고 이 글을 보고계시는 분의 상황과 맞지 않을 수도 있습니다. 하지만 실마리라도 제공할 수 있을 것 같아 남겨둡니다.

  • 앱이 어린이용으로 등록되어 있었는데 18세 이상으로 변경한 후 해결(필자의 경우 원래 18세 이상으로 설정되어 있어 해당되지 않음)
  • 앱 내의 버튼으로 이동되는 링크가 깨져있어 제대로 연결되도록 수정한 후 해결(이 경우가 가장 많았음)
  • http 를 https 로 변경해서 해결
  • 30일 정도 지난 후 아무런 조치없이 해결

해결되지 않은 사례

  • 배너 광고를 전면 광고로 변경했으나 미해결(필자도 전면광고로 전환하려다가 해당내용을 보고 중단)

유니티(Unity) 안드로이드 빌드 이름 다국어 지원

개요

게임 개발이 완료되고 대상 기기에 설치되었을 때 사용자가 설정한 언어로 앱 이름이 나타나면 더 좋은 인상을 줄 수 있습니다. 안드로이드로 빌드 했을 때 원하는 언어로 앱 이름을 설정하는 방법을 알아보도록 하겠습니다. Localization 패키지를 이용합니다.

Localization 패키지

다국어 지원을 위해서 Localization 패키지를 설치해야 합니다. Window > Package Manager 메뉴를 선택하면 창이 나타나고 다음 이미지와 같이 + 버튼을 클릭해서 Add package from git URL… 을 선택합니다.

Add package from git URL... 선택
Add package from git URL… 선택

입력란에 com.unity.localization 을 입력하고 Add 버튼을 클릭합니다.

git URL 입력
git URL 입력

Unity Registry에서 검색하면 1.3.2 버전이 나타나는데 버그가 있어 다국어 관련 항목이 나타나지 않는 문제가 있습니다. 글 작성일 기준으로 1.3.2 버전은 Editor 2021.3.9f1, 2022.2.15f1 모두 같은 오류가 있었습니다. Add package from git URL… 을 선택하면 1.4.3 버전이 설치됩니다.

Localization 관련 항목 추가

Window > Asset Management > Localization Tables 메뉴를 선택합니다. 창이 나타나지만 아무것도 없는 상태입니다. Create 버튼을 클릭합니다. 폴더를 하나 생성하고 저장합니다.

등록된 자료가 없는 상태
등록된 자료가 없는 상태

그런 후 New Table Collection 탭을 선택합니다. Locale Generator 버튼을 클릭합니다.

New Table Collection 탭 선택
New Table Collection 탭 선택

창이 나타나는데 원하는 언어를 선택합니다. Generate Locales 버튼을 클릭합니다. 폴더를 지정하면 작업에 필요한 파일이 생성됩니다.

Locale Generator

New Table Collection 탭의 Create 버튼을 클릭합니다. 폴더를 선택하면 다음과 같은 화면이 나타납니다.

Entry 추가 전 화면
Entry 추가 전 화면

Add New Entry 버튼을 클릭합니다. Key는 app_name 을 입력하고 각각의 언어에 원하는 앱 이름을 입력합니다.

app_name key 추가
app_name key 추가

폴더내의 Localization Settings 파일을 선택하면 Inspector에 다음과 같이 나타납니다. List is Empty 아래 + 버튼을 클릭합니다. Android > App Info 를 선택합니다.

Inspector 항목
Inspector 항목

Inspector에서 추가된 Android App Info 항목을 펼쳐보면 다음과 같이 나타납니다.

추가된 Android App Info 항목

Display Name 의 None(String) 을 클릭하면 table entry 를 선택할 수 있습니다.

table entry 선택
table entry 선택

app_name 을 선택하면 다음과 같이 변경된 것을 알 수 있습니다. Localization Package 1.3.2 버전의 경우 None 만 나타나서 추가된 entry를 선택할 수 없는 문제가 있습니다. 그래서 더 이상 진행이 불가능 합니다.

app_name entry 선택 후 변경된 사항
app_name entry 선택 후 변경된 사항

이 상태에서 빌드하고 설치해보면 앱 이름이 지정한 대로 나타나는 것을 확인하실 수 있습니다.

문제점

필자가 확인한 바로는 글 작성 일자 기준으로 동일한 조건에서 Localization 패키지를 추가해서 앱 이름 정보와 함께 빌드하면 10MB 정도 용량이 늘어나는 현상이 있었습니다. 명확하게 어떤 이유 때문에 그런 것인지는 알아내지 못했습니다. 앱의 기본용량이 작은 경우 문제가 될 것 같다는 생각이 들었습니다. 참고하시기 바랍니다.