본문 바로가기

개발이야기

유튜브 백그라운드 플레이 사유로 안드로이드 앱 거절 당함 그리고 해결책

안드로이드 앱 거절 메일을 통보 받고, 플레이 스토어에서 삭제되면 황당함과 빡침이 밀려오죠. 도대체 왜 그리고 그 사유에 대해서 정확하게 알려주지 않죠. 

 

그나마 아래와 같이 친절하게도 가이드를 주었네요. 생각해보면 유튜브 프리미엄 서비스의 주된 기능 중 하나가 백그라운드 플레이인데, 이 프리미엄에서만 제공되는 기능이 우회하여 재생이 되니 철저히 막을 수밖에 없다는 생각이 들긴해요. 

 

안타깝게도 내부 검토 기준에 관하여 알려드릴 수 없는 점 양해부탁드립니다.
YouTube 백그라운드 재생이란 사용자가 앱을 직접적으로 이용하고 있지 않은 상태(대기모드/잠금모드)에서도 YouTube 영상의 오디오가 계속 재생되는 것을 말합니다. 

 

YouTube 백그라운드 재생의 이해를 돕기 위해 아래와 같이 테스트 가이드를 드리오니 참고 바랍니다.
  1. 앱을 실행합니다.
  2. 앱 안에 있는 YouTube 동영상을 재생시킵니다. (이전 이메일의 첨부된 스크린샷 참조)
  3. 동영상이 재생되고 있는 상태에서 전원버튼을 눌러 기기를 대기모드로 만듭니다 (기기의 스크린이 꺼져있는 상태)
  4. 대기모드가 된 후에도 YouTube영상의 오디오가 재생되는지 확인합니다.
위의 가이드를 참고하셔서 앱을 테스트 해주신 후 규정에 준수할 수 있도록 수정해 주시기 바랍니다. 

 

그래서 방법은 앱을 전환했을 때 사용중인 플레이를 멈추는 것이지요. 아래와 같이 코드를 추가합니다. 두둥

 

protected void onPause() {
    super.onPause();
    try {
        Class.forName("android.webkit.WebView")
            .getMethod("onPause", (Class[]) null)
            .invoke(mWeb, (Object[]) null);
    } catch(Exception e) {
        e.printStackTrace();
    }
}

protected void onResume() {
    super.onResume();
    try {
        Class.forName("android.webkit.WebView")
            .getMethod("onResume", (Class[]) null)
            .invoke(mWeb, (Object[]) null);
    } catch(Exception e) {
        e.printStackTrace();
    }
}

 

이렇게 추가 하니 앱이 전환될 때 플레이가 멈추네요. 

한참을 고민했는데, 이제 다시 통과 기대해봐도 되겠네요.