Как я могу отформатировать местный номер мобильного телефона для международного? - PullRequest
0 голосов
/ 16 апреля 2020

Я использую пакет contact_service для трепетания, чтобы получить контакты с устройства. Но я заметил, что когда я смотрю на _contacts[index].phones, он держит либо мобильный, либо другой. Я беру только те контакты, которые имеют номер мобильного телефона. Но потом, когда я смотрю на номера телефонов, я вижу, что все они имеют разный формат.

+31XXXXXXXX
+31 6 XXXXXXXX
06-XXXXXXXX
06 XXXXXXXX
6 XXXXXXXX
(045) XXXXXXXX
045 XXXXXXXX

Примечание: Я работаю на симуляторе android с учетной записью Google

Я бы предпочел, чтобы они были все с кодом страны, чтобы я мог сравнить их с моим телефонным номером аутентификации firebase. Итак, мой вопрос: что мне делать?

Форматировать ли номер телефона списка контактов на стороне клиента? Или я просто отправляю его и использую облачную функцию, чтобы как-то это выяснить? И как мне это сделать?

Ответы [ 2 ]

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

Форматировать ли номер телефона списка контактов на стороне клиента?

Или просто отправить его и использовать облачную функцию, чтобы как-то это выяснить?

Клиентская сторона - хорошая идея. Особенно учитывая тот факт, что просто местный номер телефона не достаточно. Вам также нужно угадать страну. И это легче на стороне клиента, где у вас есть больше контекста. Это также лучше для производительности.

И как мне это сделать?

Возможно, это то, что вы ищете:

  1. https://github.com/google/libphonenumber
  2. https://pub.dev/packages/phone_number# - пример-вкладка-
0 голосов
/ 18 апреля 2020

Я бы предложил следующее:

  1. Узнайте, из какой страны ваш клиент.
  2. Сохраните номер как есть с именем
  3. Попробуйте угадать код страны через процесс и сохраните все версии
  4. Выполните поиск по всем версиям

Попытка угадать правильное число:

  • , если оно начинается с + => это хорошо
  • иначе, если он начинается с 00 => заменить 00 на +
  • , в противном случае использовать код страны пользователя, в этом случае проверить, соответствует ли имя контакта другому разыскиваемому пользователю
  • Или спросите пользователя: знаете ли вы этого человека?

Код страны можно найти здесь

Надеюсь, это поможет, Удачи .

...