Как iMessage узнает, что получателем является устройство iOS 5?

76

Когда вы отправляете сообщение с помощью приложения Сообщения, iOS, кажется, волшебным образом выясняет, что получатель находится на iOS 5 и автоматически переключается на iMessage (синие сообщения вместо зеленых SMS).

Кто-нибудь знает (или воображает догадку), как iMessage из iOS 5 знает, что получатель - это устройство iOS 5? Я в тупике.

задал этот вопрос в Твиттере несколько месяцев назад и хотел найти более простой способ найти ответ!)

alexmuller
источник
Как вы отменяете регистрацию устройства? В случае активации iPhone друзей с вашей SIM-карты или если ваш iPhone украден? Дополнительное чтение: arstechnica.com/apple/news/2011/12/…
Джош Ньюман

Ответы:

47

Небольшая редакция Кажется, что ниже немного изменилась, и теперь Apple проверяет, какие номера / электронные письма были активированы для каждого устройства для отправки сообщений. Таким образом, мой номер мобильного телефона на моем iPhone может быть зарегистрирован в моей учетной записи iCloud и позволяет мне получать сообщения, отправленные на мой номер мобильного телефона, для получения на моем iPad. Поэтому вы можете отображать диалог на нескольких устройствах одновременно и переключаться между ними. iMessage будет синхронизировать эти разговоры. Я отключаю это, указав, какие учетные записи должны быть связаны с каким устройством при настройке iMessage.

Чтобы развернуть ответ alexmuller, он использует идентификатор устройства, чтобы определить, работает ли iOS 5 на другом устройстве. Это делается во время регистрации или когда iMessage настроен в настройках телефона. Фактически идентификатор устройства и номера Apple ID / номера мобильных телефонов хранятся на серверах Apple.

Он проверяет серверы Apple, чтобы определить, зарегистрирован ли номер или адрес электронной почты как Apple ID и использует iOS 5. Затем он сначала отправит сообщение через серверы Apple. Он также использует откат текста, поэтому, если другой пользователь не использует устройство iOS, или iMessage недоступен или недоступен, или ваше соединение для передачи данных не работает, оно отправит сообщение в виде текста. Однако текстовый резерв может быть отключен. Это не влияет на нормальные текстовые сообщения.

На самом телефоне сообщения iMessages обозначены синим фоном и могут показывать доставлено / прочитано для каждого сообщения. SMS для того же человека по-прежнему отображается на зеленом фоне.

Он также использует идентификатор устройства, чтобы определить, на какое устройство отвечать. На моем iPhone настроены мой адрес электронной почты и номер телефона, а на iPad - только мой адрес электронной почты.

В примере

  • Я отправляю сообщение на iPad моей жены, используя ее адрес электронной почты с моего iPhone, она получает его на iPad, и ответ отправляется обратно на мой iPhone.
  • Я отправляю сообщение через мой iPad на ее адрес электронной почты, ответ отправляется обратно на мой iPad, а не на мой iPhone.
  • Она отправляет сообщение на мой iPhone, используя мой номер мобильного телефона с iPad, приходит на мой iPhone и полностью обходит iPad, а ответ возвращается на ее iPad.

Он достаточно умен, чтобы знать, откуда пришло сообщение и где ответить.

BinaryMisfit
источник
И если она отправит iMessage на твой адрес электронной почты, он пойдет на оба?
Николь
Да, когда мой сын отправляет мне iMessages, используя мой адрес электронной почты со своего iPod Touch, это сообщение появляется на моем iPhone и iPad. Когда я отвечаю с одного устройства, последующие сообщения в разговоре направляются только на устройство, с которого я ответил.
smountcastle
19

Ответ, который я получил от @chrismear в Twitter, был следующим:

Ваш номер мобильного телефона должен быть отправлен на сервер Apple и сохранен в ID вашего устройства для APN. Я думаю, это происходит при активации. « Как они идентифицируют устройства FaceTime по номеру телефона? » - это тот же вопрос. Ответ в 4. (с) жирным шрифтом ( заархивированный URL ).

Чирикать один , чирикать два .

оборота алексмюллер
источник
Ссылка на Apple не годится, 404.
Sparky
3

Я слышал, что они используют волшебников.

Это и они хранят ваш номер на сервере в момент активации, однако это очень быстро, так что я не на 100% на этом. Очень быстрый на данный момент может быть просто низкая нагрузка на систему, хотя.

Николас Смит
источник
5
Какой номер у iPad или iPod? (или это похоже на Платформу 9-3 / 4 на станции Кингс-Кросс, и эти цифры видят только волшебники)
bmike
1
Число / Устройство UUID / Количество слез Единорога в этом устройстве и т. Д.
Николас Смит
1

Я думаю, что он просто ищет номер, на который вы отправляете сообщение. Если это номер или адрес электронной почты в базе данных Apple iMessage, то для передачи сообщения используются серверы iMessage.

Другие интересные трюки, чтобы узнать об iMessage:

Если у вас есть iPad, и вы используете адрес электронной почты с iMessage на iPad, перейдите на свой iPhone и перейдите к:

Настройки -> Сообщения -> Получить при

Здесь вы можете добавить другие «адреса», на которые iMessage вашего телефона будет отвечать. Если вы введете свой адрес электронной почты здесь, то каждый раз, когда кто-то отправляет iMessage на ваш адрес электронной почты, он будет отображаться как на вашем iPad, так и на вашем iPhone. Если у вас открыто приложение iMessage на одном из ваших устройств, и вы активно участвуете в разговоре, другое устройство перестает звонить, когда приходит новое сообщение. Разве вы не любите внимание Apple к деталям?

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

jbella
источник