또 앱이 삭제됐다.
이번에도 "앱, 타사 광고, 기기 기능 방해 정책 위반 처리"로 인해 삭제됐다.
그래서 앱 시작과 동시에 전면 광고가 나오지 않도록 했다.
대신에 아이콘은 클릭했을 때 전면 광고가 노출되도록 변경해서 제출했다.
제출하고 하루가 지나서 앱이 다시 정상적으로 플레이 스토어에 노출된다는 메일을 받았다.
그러나 몇시간 뒤 다시 같은 이유로 삭제됐다.
도대체 무엇이 문제인가 싶어 찬찬히 코드와 광고가 나오는 타이밍 등을 살펴보려 했다.
광고가 나오는 타이밍을 보려고 테스트 광고 ID로 해봤지만 삭제돼서 그런지 광고가 나오지 않았다.
그러다 스택 오버플로우에서 이 이슈를 해결할 수 있을 것 같은 방법을 찾았다.
해당 내용에서 이 이슈가 발생하는 이유는 앱이 백그라운드에 있을 때
(광고를 보여주지 않아도) 광고 소재를 호출하는 것만으로도 위반으로 판단하기 때문이라고 했다
앱에서 전면 광고를 미리 불러오는데 constructor
에서 수행하고 있었다.
디버깅을 해보니 앱이 백그라운드로 넘어갔을 때도 호출하는 것을 확인할 수 있었다.
그래서 AppState
확인하는 부분에서 처리해보려고 했는데
background
에서 active
일 때는 잘 됐지만 active
상태가 유지되는 경우엔 동작하지 않았다.
(상태가 변경돼야 동작하기 때문)
어떻게 하면 두 상황 모두 가능하게 할 수 있을까 하다가setTimeout으로 쉽게 해결할 수 있었다.
일정 시간 동안 앱이 active
면 불러오고 시작과 동시에 백그라운드로 넘어갔을 때는 불러오지 않는 것을 확인했다.
constructor() {
setTimeout(() => {
if (this.state.appState) {
interstitial.load();
}
}, SLEEP_TIME);
}
_handleAppStateChange = nextAppState => {
if (this.state.appState.match(/inactive|background/) && nextAppState === 'active') {
interstitial.load();
}
this.setState({ appState: nextAppState });
};
이번에는 꼭 제발 성공하기를 빌었고 이틀 정도가 지나 다시 정상적으로 등록됐다는 메일을 받을 수 있었다.
참고 문헌
'ETC.' 카테고리의 다른 글
[PlayStore] 앱, 타사 광고, 기기 기능 방해 정책 위반 처리(3) (0) | 2020.07.23 |
---|---|
[Ansible] ansible로 mediainfo ffmepeg 설치 (0) | 2020.07.16 |
[PlayStore] 앱, 타사 광고, 기기 기능 방해 정책 위반 처리 (0) | 2020.06.25 |
[Linux] 서버 장애 대응 (0) | 2020.06.18 |
[Chrome] 크롬 확장 프로그램 웹스토어에 등록하기 (0) | 2020.06.11 |