Как найти зарегистрированных пользователей из телефонных контактов - PullRequest
0 голосов
/ 07 мая 2018

Я пишу простое приложение (в React Native, но это не должно иметь значения), где пользователи могут зарегистрироваться, а затем увидеть список своих телефонных контактов, которые также зарегистрированы. Он в основном соединяет пользователей, которые хранят друг друга в своих телефонах, подобно Whatsapp.

У меня вопрос, как мне это сделать?

Я вижу два варианта:

  1. При поиске «друзей» отправьте все контакты пользователя на сервер и сравните их там со списком зарегистрированных пользователей в базе данных (что не совсем правильно, я имею в виду поиск всех ваших контакты пользователей без разрешения этих контактов?) или

  2. Скачать всех пользователей из базы данных на телефон и сравнить их там (что, очевидно, не может быть и речи)

Есть ли третий способ, о котором я не думаю?

[править]: спасибо, что нашли время ответить, но пока это не так уж и полезно. Я имею в виду, очевидно, я собираюсь зашифровать материал: D

Я хотел бы знать, есть ли третий способ для разработки этого, о котором я не думал. Спасибо!

Ответы [ 3 ]

0 голосов
/ 07 мая 2018

В дополнение к предыдущему ответу, возможно, лучше использовать SHA-256 (в Java вы бы использовали MessageDigest.getInstance("SHA-256").digest() из пакета java.security) для хеширования очищенных телефонных номеров из адресной книги, если они доступны в React Native.

0 голосов
/ 20 апреля 2019

Я сделал что-то подобное, используя «Reaction-native-Contacts», вы можете узнать больше об этом здесь: https://github.com/rt2zz/react-native-contacts

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

Как заявили Т. Пасичник и Норберт, вы должны предпринять необходимые шаги для защиты данных вашего пользователя

0 голосов
/ 07 мая 2018

Прежде всего, в обоих случаях (1 и 2) вам нужно будет попросить у пользователей разрешение на доступ к книге контактов.

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

Первое, что я погуглил. (пример Swift) Но вам придется включить CommonCrypto в файл.

Я уверен, что вы сможете найти и эти алгоритмы для реакции на нативные, если это необходимо.

...