Как получить только общедоступные контакты в приложении Android

Одно из моих приложений было удалено Google из Google Playstore в результате нарушения политики пользовательских данных. Я получаю контакты и публикую их на своем сервере с целью идентификации истинного абонента.

Вот как я получаю контакты пользователя:

    public ArrayList<CallHistoryModel> getdata() {
        try {
            managedCursor = contextnew.getContentResolver().query(CallLog.Calls.CONTENT_URI,
                    null, null, null, CallLog.Calls.DEFAULT_SORT_ORDER + " LIMIT 100");
        } catch (SecurityException se) {
            se.printStackTrace();
//            Toast.makeText(contextnew,se.toString(),Toast.LENGTH_SHORT).show();
        }
        if (managedCursor.getCount()>0){
            int number = managedCursor.getColumnIndex(CallLog.Calls.NUMBER);
            managedCursor.moveToFirst();
        do {
            String phNumber = managedCursor.getString(number);
            callHistoryModel = new CallHistoryModel();
            char first_letter = getContactDisplayNameByNumber(phNumber).charAt(0);
            callHistoryModel.setFirst_letter(first_letter);
            callHistoryModel.setName(getContactDisplayNameByNumber(phNumber));
            callHistoryModel.setPhone_number(phNumber);
            callhistoryList.add(callHistoryModel);
           } while (managedCursor.moveToNext());
            managedCursor.close();}
        return callhistoryList;
    }

Google отправил мне электронное письмо с уведомлением:

Мы не разрешаем несанкционированную публикацию или разглашение непубличных контактов людей.

Здесь я хочу знать, как мы можем получить только публичные контакты программно.

1 ответ

Вы спрашиваете у пользователя разрешение на чтение контактов? Если вы получаете все контакты пользователя без разрешения и без политики конфиденциальности, это противоречит политике Google Play Store в отношении данных пользователя:

Активность: Если ваше приложение обрабатывает закрытую телефонную книгу или контактную информацию

Требование: Мы не разрешаем несанкционированную публикацию или разглашение не закрытых контактов людей.

Вот пример распространенного нарушения в Google Play Store:

Приложение, которое не обрабатывает данные телефона или контактной книги пользователя как личные или конфиденциальные данные пользователя и не соответствует требованиям Политики конфиденциальности, Защищенной передачи и Выдающегося раскрытия.

Поскольку ваше приложение имеет дело с конфиденциальной информацией (контактами), вот краткий контрольный список для просмотра:

  1. У вас есть Политика конфиденциальности?

    Google Play Store говорит:

    Опубликуйте политику конфиденциальности как в указанном поле в консоли разработчика Play, так и в самом распределенном приложении Play.

    Это означает, что у вас должна быть Политика конфиденциальности в вашем приложении и в вашем приложении.

    Чтобы добавить URL-адрес в свою Политику конфиденциальности в консоли разработчика для отображения на странице со списком Play Store:

    Скриншот URL-адреса политики конфиденциальности с помощью TermsFeed

    Пример политики конфиденциальности в приложении Android:

    Примеры политик конфиденциальности внутри приложений Android

  2. Вы используете SSL?

    Из правил Google Play Store:

    Безопасная обработка пользовательских данных, включая их передачу с использованием современной криптографии (например, по HTTPS).

  3. Вы запрашиваете разрешение пользователя перед доступом к списку контактов?

    Пример диалогового окна с разрешениями (кредиты на whatitallboilsdownto)

    Разрешить Slack доступ к контактам

Другие вопросы по тегам