마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

[권한] SMS관련 퍼미션이 불필요하다고 메일이왔는데 궁금한게 많습니다 도와주십시오

0 추천

앱의 주요기능:  문자메시지 전송하기 , 사용자 전화번호 확인하기

설명:  사용자가 앱 실행시 전화번호를 체크하여 인가된 사용자인지를 확인한다.

         수신자 휴대폰 번호/날짜/이름/장소등 데이터를 EDIT TEXT로 입력받은 후 다음 단계로 진행시 

         TEXT들을 조합하여 입력된 수신자 휴대폰 번호로 전송한다.

 

본론:

Google Play에서 아래와 같은 메일이 왔습니다.

-------------------------------------- 메일 내용 --------------------------------

The declared functionality {Default SMS handler (and any other core functionality usage while default handler), Default Phone handler (and any other core functionality usage while default handler)} is determined to be unnecessary for the core functionality of your app. 

 

Status: Provisional Pass
Your app will be published to Google Play, but a compliant version of your app must be submitted by March 9, 2019, or your app will be removed.
Next steps: Submit your app for another review
Please review the rejection reasons carefully and make the suggested changes (update your app accordingly and submit it again for review through the Play Console).

Subject to compliance with all other Developer Program Policies, your app will be available on Google Play, but a fully compliant version of your app must be submitted by March 9, 2019, or your app will be removed from Google Play.

For additional help, you can review the Permissions policy and the Play Console Help Center article, which describes intended uses, exceptions, invalid uses, and alternative options for use of Call Log or SMS permissions.

If you've reviewed the policy and have further questions please reach out to our policy support team.
Please help us improve the developer experience by completing this two question survey.

-------------------------------------- 메일 내용 끝 --------------------------------

 

제가 이해하기로는 제가 퍼미션에 등록한 SEND_SMS, READ_SMS, READ_PHONE_STATE 퍼미션에 대하여 

구글에서 불필요하다고 생각을 하는거 같은데 저는 전화번호를 가져와야하며 입력된 수신자 전화번호로 문자 메시지를 발송 해야하기에 꼭 필요하다고 생각합니다.

 

퍼미션 체크관련 되어서는 한번 리젝된적이 있어서 셋팅은 이미 되어있습니다.

implementation 'com.github.ParkSangGwon:TedPermission:v1.0.11'

깃허브에서 해당 라이브러리를 참조하여 해당 기능 수행시 퍼미션 체크를 하여 

사용자에게 수집 내용등에 대해 다이얼로그로 보여준 후 진행까지 하였었습니다.

 

초기에 앱 실행시 퍼미션을 체크하고 보여주는거나 제가 택한 방식으로 사용자가 해당 권한을

필요로하는 기능을 실행시 체크하는거랑 크게 다르다고 생각이 들지않기에 문제로 삼진 않았습니다.

 

 

질문

구글에서 SEND_SMS와 READ_PHONE_STATE에 대하여 로그수집에 민감하게 대처하는것이 아닌가 싶습니다

if (smsText != null || smsHP != null) {
    SmsManager smsManager = SmsManager.getDefault();
    if (smsText.getBytes().length > 80) {
        ArrayList<String> parts = smsManager.divideMessage(smsText);
        smsManager.sendMultipartTextMessage(smsHP, null, parts, null, null);
    } else if (smsText.getBytes().length < 80) {
        smsManager.sendTextMessage(smsHP, smsHP, smsText, null, null);
    }
}

저는 SmsManager 객체를 생성하여 메시지를 발송하는 기능외에는 따로 구현한것은 없습니다.

해당 문제로 검색을 해보니 구글에 문의도 해보라고 하는데 해당 정책에 대해 크게 타격을 입은 앱들조차

리젝당하고 있다고 하니 미처 못하고 있습니다.  다른 앱들에도 적용하기 위해 대안을 찾아야할 것같은데 

해당 정책사유를 통과하려면 어떻게 해야할까요?

bg_u 1 (550 포인트) 님이 2019년 2월 8일 질문

2개의 답변

0 추천
구글에서 개인정보관련된 퍼미션은 쓰지않도록 유도한건 계속된 방향이라 어쩔수 없구요.

sms같은 경우도 내용만 작성해서 사용자가 보내기 버튼 누르도록 intent에 태우거나 하면 퍼미션 안쓸수 있을겁니다. 전화번호의 경우도 사용자 구별용도로 사용못하게 가이드하기 때문에 사용자 구별용이면 다른방식으로 하시는게 나을것 같네요.

그리고 read_sms는 정말 불필요해보입니다. 인증목적이면 상요자가 복사해서 붙여넣기를 하도록 유도하시는게 나아보입니다.
사막돌고래 (1,410 포인트) 님이 2019년 2월 14일 답변
넵 사막돌고래 님께서 말씀하신대로 현재 SMS관련 퍼미션은 모두 제거를 한 상태에서 Intent형태로 메시지를 구현하였습니다.

다만 여러 사용자에게 각기 다른 내용을 전송해야하는 기능 구현에서 어려움이 남긴하였습니다

답글 감사합니다
0 추천

일단 로그캣 메시지 전체를 올려주셔야 할것 같구요.

doInBackground 함수 첫줄부터 디버깅해보세요.

htmlPageUrl이 정상적인 경로인지

google street view

sheilaflores (140 포인트) 님이 2019년 5월 21일 답변
...