Вариант приглашения в списке контактов - PullRequest
0 голосов
/ 15 февраля 2019

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

В настоящее время я отправляю все свои контакты, чтобы они соответствовали базе данных php и возвращали статус для каждого контакта.Но теперь playstore отклонил мое приложение, так как оно включает загрузку личных данных пользователя через API.Итак, как я могу реализовать это в моем приложении.Есть ли альтернатива?

1 Ответ

0 голосов
/ 17 февраля 2019

Не отправляйте текстовые контактные данные в ваш бэкэнд, если в этом нет необходимости.Для вашего варианта использования вы можете использовать хешированную контактную информацию вместо обычного текста, что позволяет вашему бэкэнду проверить, принадлежит ли этот хеш существующему пользователю вашего приложения, но было бы значительно трудно определить исходную информацию из этого хеша.

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

Вот пример для создания хеша из строки (в этом MD5случай), но есть много библиотек и опций, которые вы можете выбрать:

public static String md5(String key) {
        MessageDigest hash = null;
        try {
            hash = MessageDigest.getInstance("MD5");
        } catch (NoSuchAlgorithmException e) {
            return null;
        }

        hash.update(key.getBytes());
        byte[] digest = hash.digest();
        StringBuilder builder = new StringBuilder();
        for (int b : digest) {
            builder.append(Integer.toHexString((b >> 4) & 0xf));
            builder.append(Integer.toHexString((b >> 0) & 0xf));
        }
        return builder.toString();
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...