вторник, 18 ноября 2008 г.

Доступ к функциям телефона из web-страницы

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

Однако, есть выход. Оказывается, существует такая полезная вещь, как Trigger phone call. Суть в том, что можно вставлять прямо в HTML-код гиперссылки со специальным URI, и по нажатию на эти ссылки будут отправляться SMS, MMS, совершаться звонки и т.д.

Примеры

Отправка SMS

Ссылка, открывающая редактор SMS с текстом "Hello" и с указанным адресатом:

<a href="sms:+79021234567?body=Hello">Click to send message</a>

Ссылка, открывающая редактор SMS с текстом "Hello" и с указанным списком номеров:

<a href="sms:+79021234567,+79081234567?body=Hello">Click to send message</a>

Пишут, что в URI вместо sms: можно использовать smsto:, SMS: (для телефонов Siemens) и даже com.nokia.sms: (для телефонов Nokia).

Совершение вызова

Ссылка, совершающая вызов:

<a href="tel:+79021234567">Call</a>

Кстати, из Opera Mini, и без ссылок можно звонить на все числа, которые есть на сайте. Для дефаултного браузера же подобная конструкция очень может пригодиться.

Отправка MMS

Ссылка, отправляющая MMS:

<a href="mmsto:+3581234567?subject=Hi?body=Nice%20to%20see?">Send message</a>

Большой минус

Это все, конечно, очень хорошо и полезно. Но проблема в том, что не на всех телефонах работает. У меня были в наличии Nokia 2600 classic (самый обычный телефон) и Nokia же N73 (смартфон). Получилась такая картина:

Nokia 2600 classic (Series 40):

Default browserOpera Mini
SMSРугается на неверный адресМолча не работает
MMSРугается на неверный адресМолча не работает
telРаботаетРаботает

Nokia N73 (Series 60):

Default browserOpera Mini
SMSРаботает, если URI cодержит sms, но не работает с smsto (не заполняется тело сообщения) Работает smsto, но не работает sms (не заполняется тело сообщения)
MMSВроде работаетТоже вроде работает
telРаботаетРаботает

Эмулятор Android

Про него я сначала и забыла, но решила восполнить этот пробел.

Default browser
SMSИ sms, и smsto открывают редактор SMS, но адресат и тело сообщения не заполнены.
MMSОткрывается редактор, но, опять же, ничего не заполнено.
telРаботает

Зато я узнала, что эмулятор можно поворачивать на 90 градусов с помощью сочетания Ctrl+F11

В заключение

Итак, конструкция полезная и удобная, но использовать ее следует осторожно, потому как работать может не везде.

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

Ссылки

4 комментария:

Kirill Danilov комментирует...

Добрый день, стал сделедить за вашим блогом.
Страница http://ryazhskikh.ru/trigger.html не ваша случайно? выдает 404

darja комментирует...

Ой, файл пропал :( Положила его обратно, теперь 404 быть не должно.

Kirill Danilov комментирует...

Проверял на nokia E61i:
работают только:
1)Call
4)Click to send sms (sms)
5)Send message

valeirjko комментирует...

Ещё можно trigger phone call таким образом:
wtai://wp/mc;XXXXXXXX
где XXXXXXXX - номер телефона

поддерживается практически всеми устройствами