Як вбудувати в Web-додаток мобільні текстові повідомлення

  1. Бар'єр для розробки додатків з використанням мобільних повідомлень
  2. Основи системи мобільних повідомлень
  3. Відправлення SMS і MMS
  4. Малюнок 1. SMS-повідомлення, передане через шлюз електронної пошти оператора зв'язку
  5. Таблиця 1. Адреси шлюзів електронної пошти великих операторів зв'язку США для передачі повідомлень SMS і MMS.
  6. Використання короткого номера
  7. Малюнок 2. Реєстрація URL зворотного виклику і ключового слова в TextMarks
  8. Лістинг 1. Приклад запиту GET
  9. Лістинг 2. Виклик API для відправки повідомлення всім абонентам ключового слова
  10. Лістинг 3. Виклик API для відправки повідомлення окремому абоненту ключового слова
  11. Використання довгого номера
  12. Twilio - не тільки служба мобільних повідомлень
  13. Лістинг 4. Відправлення SMS на будь-який номер мобільного телефону через API Twilio
  14. А як щодо MMS?
  15. Ресурси для скачування

Відправлення та отримання текстових повідомлень через Web-сервер

Бар'єр для розробки додатків з використанням мобільних повідомлень

"Закритий" характер служб обміну мобільними повідомленнями являє собою істотний бар'єр для розробників. Однак цей бар'єр робить додатки, які можуть управляти обміном мобільними повідомленнями, особливо привабливими. Наприклад, Twitter починав як компанія, що спеціалізується на текстових повідомленнях - звідси і обмеження на твіти в 140 символів, - а потім, скориставшись досягнутим успіхом, перетворився в сьогоднішню гігантську платформу спілкування. Ще одним прикладом служить Facebook, який також на самому початку використовував активну SMS-програму (відправка тексту на FBOOK з мобільного телефону).

Обмін повідомленнями став основним способом мобільного спілкування. У 2010 році американці відправили і отримали на свої мобільні телефони понад 2,1 трлн текстових повідомлень. За деякими оцінками, у всьому світі число активних користувачів системи мобільних повідомлень вдвічі перевищує число користувачів електронної пошти, що робить обмін мобільними повідомленнями, мабуть, найпоширенішим і ефективним каналом зв'язку на сьогоднішній день. Більш того, в порівнянні з іншими каналами зв'язку, такими як електронна пошта, мобільний обмін повідомленнями набагато менше схильний до спаму, і ймовірність того, що повідомлення буде негайно прочитано одержувачем, для нього набагато вище.

Однак на відміну від електронної пошти, відкритого інтернет-стандарту, мобільні повідомлення поширюються через закриту інфраструктуру зв'язку. Це робить розробку додатків з використанням мобільних повідомлень складним і дорогим справою. У цій статті пропонується кілька недорогих, або навіть безкоштовних способів включення мобільних повідомлень в додатки.

Основи системи мобільних повідомлень

Push-повідомлення

З ростом числа смартфонів, таких як iPhone і Android, з'явилася можливість відправляти повідомлення безпосередньо на ці телефони через стандартну мережу TCP / IP, в обхід операторів зв'язку. Такі повідомлення називаються push-повідомленнями. Push-повідомлення передаються через інтернет-сервери, контрольовані Apple і Google. Push-повідомлення спочатку призначені для взаємодії з додатками. Вони дозволяють передавати текст, медіа-файли і дані додатків, наприклад, мелодія дзвінка і зображення для відображення в якості значка додатка. Push-повідомлення хороші для смартфонів, але вони набагато менш широко поширені і менш надійні, ніж мобільні повідомлення, що передаються операторами зв'язку.

SMS - найбільш поширений спосіб обміну мобільними повідомленнями. Практично кожен мобільний телефон здатний відправляти і приймати SMS-повідомлення, довжина яких обмежена 160 символами. З урахуванням відмінностей між операторами безпечна межа довжини SMS становить 140 символів.

Служба мультимедійних повідомлень (MMS) являє собою розширення SMS, яке дозволяє відправляти і приймати на телефон фотографії та короткі відеокліпи. Розмір повідомлення зазвичай обмежений 300 КБ. Насправді для повідомлення користувача MMS використовується SMS, і коли той відкриває повідомлення, телефон витягує мультимедійний контент за допомогою стандартного протоколу електронної пошти. Обмін MMS дуже популярний серед молоді, але його загальна ринкова проникнення поки ще відносно мало, почасти через несумісних форматів контенту у різних операторів.

SMS і MMS використовуються головним чином для прямого зв'язку, дозволяючи користувачам відправляти повідомлення один одному. Розробників же додатків в першу чергу цікавить можливість відправки і прийому повідомлень з додатків і їх отримання додатками. На галузевому жаргоні, нас цікавлять повідомлення типу Mobile Terminated (MT) - відправлені з програми на мобільний пристрій - і Mobile Originated (MO) - з мобільного пристрою в додаток. Щоб відправляти і приймати повідомлення від мобільних телефонів, додаток повинен взаємодіяти з серверами шлюзів, що знаходяться у віданні операторів зв'язку.

Відправлення SMS і MMS

Надіслати МТ-повідомлення SMS або MMS на номер телефону насправді досить легко - якщо знати номер телефону одержувача та оператора зв'язку. Майже всі оператори мобільного зв'язку мають шлюзи, які приймають повідомлення електронної пошти і передають їх на телефони як SMS- або MMS-повідомлення. Наприклад, абоненту АТ & T можна відправляти SMS-повідомлення через електронну адресу [email protected]. AT & T усечет повідомлення до 140 символів і першлет його на телефон. Малюнок 1 ілюструє, як таке повідомлення відображається на екрані телефону.

Малюнок 1. SMS-повідомлення, передане через шлюз електронної пошти оператора зв'язку
Відправлення та отримання текстових повідомлень через Web-сервер   Бар'єр для розробки додатків з використанням мобільних повідомлень   Закритий характер служб обміну мобільними повідомленнями являє собою істотний бар'єр для розробників

Аналогічно, повідомлення email з вкладеними фотографіями можна передавати на телефон через шлюз електронної пошти MMS оператора зв'язку як MMS-повідомлення. У таблиці 1 наведені адреси електронної пошти для SMS- і MMS-повідомлень великих операторів зв'язку США. Замініть слово number в адресі електронної пошти 10-значним номером телефону одержувача (наприклад, [email protected]).

Таблиця 1. Адреси шлюзів електронної пошти великих операторів зв'язку США для передачі повідомлень SMS і MMS.

Оператор Шлюз SMS Шлюз MMS AT & T number @ txt.att.net number @ mms.att.net Verizon number @ vtext.com number @ vzwpix.com T-Mobile number @ tmomail.net number @ tmomail.net Sprint number @ messaging.sprintpcs .com number @ pm.sprint.com Virgin Mobile number @ vmobl.com number @ vmpix.com

Підхід шлюзу електронної пошти хороший для відправки окремих повідомлень або нагадувань, але в більшості інших випадків він має серйозні обмеження:

  • повідомлення приходить від довільних телефонних номерів і погано відформатоване. Воно виглядає непрофесійно;
  • користувач не може відповісти на повідомлення або повернути в додаток будь-яку інформацію. Це виключає цілі категорії додатків, в тому числі найбільш популярні SMS-додатки, такі як Twitter і American Idol;
  • оскільки кожне повідомлення приходить з нового номера телефону, користувач не може встановити закладку, щоб зв'язати цей номер з додатком;
  • щоб правильно вибрати шлюз електронної пошти, при реєстрації користувача доведеться просити його вказати свого оператора мобільного зв'язку.

Для професійної взаємодії з користувачами необхідно відправляти і отримувати повідомлення через відповідний телефонний номер, який асоціюється з вашою службою. Традиційно для цього застосовуються короткі номери.

Використання короткого номера

Кожен з нас, швидше за все, щодня стикається з короткими номерами. Це 5-значні номери, які можна побачити в ресторанах, на спортивних заходах або на оголошеннях про продаж нерухомості. Вам пропонують відправити текстове повідомлення за номером 12345, щоб отримати додаткову інформацію або купон і т.п. Короткі номери знаходяться у веденні "агрегаторів повідомлень", які діють від імені операторів зв'язку. У число основних агрегаторів в США входять mblox, Sybase 365 і ін. Можна зареєструвати короткий номер у одного з цих агрегаторів, і той надасть вам API Web-служби на основі HTTP, який дозволяє відправляти повідомлення з цього короткого номера на будь-який номер телефону (MT ) і отримувати відповідь, якщо хтось надішле на нього повідомлення (MO). Здається, що все просто, але у такого використання коротких номерів є серйозні недоліки:

  • по-перше, за спеціальний короткий номер потрібно дуже дорого заплатити. Він коштує кілька тисяч доларів на місяць, плюс висока початкова вартість будівництва і плата за повідомлення;
  • по-друге, короткі номери регулюються Асоціацією мобільного маркетингу (ММА). ММА вимагає, щоб всі заявники попередньо затверджувалися кожним з операторів зв'язку. Це тривалий і дорогий процес.

На щастя, існують компанії, які надають короткі номери загального користування за помірну плату. Провідний постачальник послуг цього типу - TextMarks. Короткий номер TextMarks дуже легко запам'ятати: 41411. Оскільки його використовують багато додатків, кожному з додатком присвоюється своє ключове слово. Наприклад, я зареєстрував в TextMarks ключове слово conf і організував URL зворотного виклику для цього ключового слова (див. Рисунок 2). URL зворотного виклику може містити шаблони з посиланнями на окремі частини вхідного SMS. Наприклад, \ p вказує на номер телефону відправника вхідного повідомлення, а \ 0 - на текст повідомлення, наступний за ключовим словом.

Малюнок 2. Реєстрація URL зворотного виклику і ключового слова в TextMarks

Тепер TextMarks буде перенаправляти на URL зворотного виклику кожне повідомлення, яке починається словом CONF. Наприклад, якщо хтось надішле на номер 41411 повідомлення "conf Michael Jack" зі свого мобільного телефону 5125551234, на мій URL зворотного виклику прийде запит GET, показаний в лістингу 1:

Лістинг 1. Приклад запиту GET

http://app.ringful.com/conf? attendees = Michael + Jack & phonenumber = 15125551234

Додаток обробить цей запит. Воно може проаналізувати повідомлення, зберегти відомості про учасників конференції (attendees) в базі даних, повідомити їх, а потім згенерувати відповідь відправнику повідомлення. Тіло HTTP-відповіді від URL зворотного виклику буде повернуто користувачеві як відповідь текстове повідомлення. Це значно спрощує створення SMS-додатків, що реагують на введення даних користувачем (наприклад, надсилаючи купон для отримання знижки в ресторані або повідомляючи ціну продажу будинку).

Коли користувач набирає ваше ключове слово, він реєструється як абонент цього ключового слова. TextMarks надає також API розробника, що дозволяє відправляти SMS-повідомлення абонентам в будь-який час, кожному окремо або всім відразу. Виклик API, наведений у лістингу 2, відправляє повідомлення всім абонентам ключового слова:

Лістинг 2. Виклик API для відправки повідомлення всім абонентам ключового слова

POST TO: http://dev1.api2.textmarks.com/GroupLeader/broadcast_message/ Parameters: auth_user = YOUR_USERNAME auth_pass = YOUR_PASSWORD api_key = API_KEY_FROM_TEXTMARKS tm = YOUR_KEYWORD msg = The + message + to + send + out

Наступний виклик відправляє повідомлення одному абоненту ключового слова:

Лістинг 3. Виклик API для відправки повідомлення окремому абоненту ключового слова

POST TO: http://dev1.api2.textmarks.com/GroupLeader/send_one_message/ Parameters: auth_user = YOUR_USERNAME auth_pass = YOUR_PASSWORD api_key = API_KEY_FROM_TEXTMARKS tm = YOUR_KEYWORD to = RECIPIENT_PHONE_NUMBER msg = The + message + to + send + out

TextMarks надзвичайно зручний, проте користувачам доводиться запам'ятовувати ключове слово і кожен раз вказувати його при відправці текстового повідомлення. Крім того, не можна відправити повідомлення МТ того, хто попередньо не надіслав вам ваше ключове слово (тобто неабоненту). Вся ідея ключових слів і коротких номерів націлена на великомасштабні розсилки повідомлень, тоді як багатьом додаткам потрібно пряму взаємодію. Для прямого взаємодії кращим і, ймовірно, найбільш економічним варіантом буде довгий номер.

Використання довгого номера

Під "довгим номером" розуміється звичайний 10-значний номер телефону. Замість оренди коротких номерів за тисячі доларів на місяць, можна орендувати звичайні телефонні номери всього за 1 долар в місяць (або навіть отримати їх безкоштовно, як в разі використання Google Voice). Так як ці телефонні номери не пов'язані з фізичними телефонами, їх ще називають "віртуальними номерами". Через ці віртуальні номери можна відправляти і приймати мобільні повідомлення.

Twilio - не тільки служба мобільних повідомлень

API Twilio дозволяє здійснювати голосові телефонні дзвінки і приймати їх від віртуальних номерів, підтримуючи VoIP-дзвінки на зразок Skype. Детальніше про це можна дізнатися на Web-сайті Twilio і в документації API (див. Розділ ресурси ).

Провідний постачальник Web-послуг, які працюють з довгими номерами - Twilio. Використовуючи API Twilio, можна отримати будь-яке повідомлення, відправлене на цей номер телефону, і відправляти повідомлення на будь-які номери мобільних телефонів, навіть міжнародні.

Twilio надає консоль адміністрування, яка дозволяє управляти декількома віртуальними номерами. Оскільки ці номери коштують всього 1 долар в місяць, можна отримати за номером на кожне зі своїх додатків, і користувачеві не доведеться вводити ніяких ключових слів. За кожне SMS, відправлене або отримане через його API, Twilio бере 1 цент.

API Web-служби Twilio добре продуманий і простий у застосуванні. Ще більше спрощує завдання то, що Twilio надає розробникам SDK для різних мов програмування. Нижче наведені деякі приклади, засновані на SDK для Java. У лістингу 4 показано, як відправити повідомлення на номер мобільного телефону.

Лістинг 4. Відправлення SMS на будь-який номер мобільного телефону через API Twilio

public static void sendSms (String from, String to, String msg) throws Exception {TwilioRestClient client = new TwilioRestClient YOUR_API_KEY, null); String path = "/ 2010-04-01 / Accounts /" + client.getAccountSid () + "/ SMS / Messages"; Map <String, String> vars = new HashMap <String, String> (); vars.put ( "From", from); vars.put ( "To", to); vars.put ( "Body", msg); TwilioRestResponse tresp = client.request (path, "POST", vars); if (tresp.isError ()) {throw new Exception ( "Twilio response error:" + tresp.getResponseText ()); }}

Для повідомлень типу MO Twilio працює так само, як TextMarks: вони перенаправляються на URL зворотного виклику, зареєстрований в консолі адміністрування, звідки користувач отримує відповідь в форматі HTTP. Наприклад, якщо користувач відправляє на мій віртуальний номер повідомлення Hello World, то на мій зареєстрований URL зворотного виклику прийде запит HTTP GET такого змісту:

http://my.callback.com/process? From = 5125551234 & To = 3215554567 & Body = Hello + World

Зверніть увагу, що у виклику Twilio є параметр To, який визначає віртуальний номер одержувача повідомлення. Це необхідно тому, що на один обліковий запис Twilio можна зареєструвати кілька віртуальних номерів. Мій сервлет, що знаходиться по URL зворотного виклику, може обробити вхідне повідомлення і згенерувати відповідь.

А як щодо MMS?

Поки усі послуги, які ми розглянули, за винятком MMS-шлюзу електронної пошти, ставилися до взаємодії за допомогою SMS. MMS набагато складніше, ніж SMS, тому що контент потрібно адаптувати для кожного телефону і кожного оператора. У кожного пристрою свій дозвіл екрана і свій формат відео, і кожна мережа накладає власні обмеження щодо максимального розміру повідомлень.

Навіть Twitter почав підтримувати MMS для окремих операторів в США лише в вересні 2011 - через роки після того, як SMS-сервіс цієї компанії придбав всесвітню популярність.

На щастя, нові компанії, такі як Hook Mobile, розробляють і просувають нові Web-служби, що підтримують MMS-повідомлення між різними операторами зв'язку. API MMS від Hook Mobile поки не відкритий для широкої публіки (потрібно зареєструватися в якості партнера), але це, безумовно, цікавий напрямок!

Для користувачів смартфонів push- повідомлення складають привабливу альтернативу MMS, тому в наступній статті я зупинюся на методі push.

Ресурси для скачування

Схожі теми

  • оригінал статті
  • CTIA : Авторитетне джерело статистики по використанню і проникненню послуг передачі мобільних повідомлень.
  • MMA Mobile Advertising Guidelines : Посібник з допустимим підходам і процесам залучення споживачів за допомогою кампаній, заснованих на мобільних повідомленнях.
  • TextMarks : Провідний постачальник недорогих SMS-рішень, заснованих на його короткому номері 41411.
  • Hook Mobile : Провідний постачальник MMS-рішень, які залежать від оператора зв'язку.
  • Twilio забезпечує API на базі довгих номерів для SMS і голосових дзвінків за допомогою простої у застосуванні Web-служби.

Підпишіть мене на повідомлення до коментарів

Com/conf?
Com/process?
А як щодо MMS?