태그 보관물: unity

애드몹(Admob) 의도하지 않은 클릭을 유도하는 레이아웃 – 예기치 않은 전면 광고 실행 조치 방법

개요

간단한 기능을 하는 앱에 애드몹 전면광고가 삽입되어 있었습니다. 어느 날 “귀하의 앱에서 Google AdMob 광고 게재가 중지되었습니다” 라는 제목으로 메일이 왔습니다. 내용을 살펴보니 “의도하지 않은 클릭을 유도하는 레이아웃 – 예기치 않은 전면 광고 실행” 이라고 안내되어 있었습니다. 영문으로는 Layout Encourages Accidental Clicks – Unexpected Launch Interstitials 입니다.

내용 파악

복잡한 기능을 하는 앱이 아니어서 무엇이 문제인지 처음에는 잘 몰랐습니다. 생각해 보니 전면광고가 나타나는 시점을 약간 조정했는데 그것이 문제가 된 것 같았습니다. 우측 상단의 설정 버튼을 제외하고 화면상에 터치가 필요한 앱이 아니었습니다.

처음 앱이 실행되었을 때 사용자가 무심코 화면을 터치하려는 순간 전면광고가 나타나서 의도하지 않은 광고 클릭이 될 수 있다는 생각이 들었습니다. 당연히 의도한 것은 아니었고 가능성은 낮지만 충분히 일어날 수 일이라는 판단이 들어 조치에 들어갔습니다.

첫 번째 조치

지연 시간을 없애고 광고가 완전히 준비된 후 표시가 가능할 때 나타나도록 수정했습니다. 지연 시간을 둔 이유는 광고가 나타나지 않는 현상이 있어서 그랬는데 결과적으로 문제가 되었습니다.

앱 수정 및 업데이트하고 반영된 것을 확인 후 검토 요청을 했습니다. 그러나 거부 메일이 또 다른 위반 사항이 추가되어 도착했습니다.

“게시자 콘텐츠보다 광고나 기타 유료 프로모션 자료가 더 많은 화면 이라는 위반 사항이 추가되었습니다.” 라는 내용이었습니다. 자세한 사항은 이곳에서 확인하실 수 있습니다. 요약하자면 앱에서 제공하는 내용보다 광고가 차지하는 영역이 많다는 것 입니다. 영문으로는 More ads or paid promotional material than publisher-content 입니다.

두 번째 조치

두 개의 문제를 어떻게 해결해야 할지 난감했습니다. 무엇이 문제일까 고민을 해 보았는데 광고가 나타나는 시점을 사용자가 예측할 수 없다는 것이 제일 큰 것 같았습니다. 가장 먼저 앱의 기능이 화면에 표시되고 그 후에 광고가 나타나는데 상황에 따라 빠를 수도 늦을 수도 있을 것 같았습니다.

고민 끝에 앱 기능과 광고가 나타나는 시점을 아예 분리하기로 했습니다. 광고의 준비, 표시, 실패 등 관련된 이벤트가 발생한 후 앱의 본 기능이 작동하도록 수정했습니다. 그리고 추가된 위반사항에 대한 것도 앱의 내용이 나타나기 전에 광고가 나타나므로 문제가 해결될 것 같았습니다. 다시 업데이트하고 반영된 것을 확인한 후 다시 검토 요청했습니다.

대략 한 시간 조금 지나서 문제가 없다는 메일을 받았고 앱에서 전면광고가 나타나는 것을 확인했습니다.

위반 해결 알림 메일

구글에서 위반 메일을 받으면 당황하게 됩니다(필자는 그랬습니다). 약간 막연하지만 차분히 생각해 보면 대부분 해결책을 찾을 수 있을 것 입니다.

위에 언급한 두 가지 위반 사항으로 고민하시는 분들께 도움이 되었으면 합니다.

유니티(Unity) 의도하지 않은 버튼 활성화

개요

Scene Canvas에 Screen Stick, Screen Button, 일시 정지 버튼을 배치해서 화면을 구성했습니다. 이상하게 일시 정지 버튼이 터치를 하지 않았는데 동작하는 현상이 있었습니다.

이상현상 확인

일시 정지 버튼을 비활성화 하면 게임이 의도와는 다르게 중지되지 않았습니다. 버튼 크기를 아주 작게 변경해도 같은 현상이 있었습니다. Screen Button을 터치하지 않으면 문제가 발생하지 않는 것을 확인하고 뭔가 일시 정지 버튼과 상호작용을 하는 것으로 추측되었습니다.

조치

다음과 같이 여러가지 방법으로 시도해 보았습니다. 그러나 문제가 해결되지 않았습니다.

  • Input System Package 최신버전으로 업데이트
  • Assets > Reimport All

분명히 버튼설정 부분과 연관이 있다고 생각이 들어서 자세히 살펴보았습니다. Navigation 속성이 눈에 들어와 살펴보았습니다. 자세한 설명은 여기에서 확인하실 수 있습니다.

Button Navigation 속성
Button Navigation 속성

Navigation 속성이 Automatic 으로 설정되어 있어 발생한 문제였습니다. 이것을 None 으로 변경하니 문제가 해결되었습니다. Visualize 버튼을 눌러보면 각 UI 요소간 Navigation 을 볼 수 있습니다.

화면에 여러개의 버튼이 있고 의도하지 않은 클릭이나 터치가 일어나는 경우 Navigation 속성을 확인해 보시기 바랍니다.