Menú de navegaciónMenú
Categorías

La mejor forma de Aprender Programación online y en español www.campusmvp.es

Cómo hacer llamadas y enviar SMS desde páginas Web móviles


Foto: Esparta Palma - CC BY 2.0

Si creamos una página web que sabemos que va a ser utilizada desde dispositivos móviles, o si se trata de una aplicación que luego desplegaremos usando algún entorno de empaquetado de aplicaciones como Apache Cordova/PhoneGap, puede resultar muy útil permitir que los usuarios marquen un número de teléfono o envíen un SMS solamente pulsando un botón o un enlace.

El acceso al teléfono, entendiendo por ello la posibilidad de realizar llamadas, es muy limitado en aplicaciones HTML5. De hecho, no hay manera de acceder a los contactos en una aplicación web pura. Aunque el W3C estuvo trabajando en una especificación al respecto se abandonó hace años y no está soportada por ningún navegador. Mediante tecnologías como Apache Cordova o PhoneGap sí es posible, pero no en HTML puro que es lo que estamos tratando aquí.

En este caso lo único que puede hacerse es generar un enlace (etiqueta <a />) y que al pulsarlo realice una llamada a un número de teléfono determinado.

El esquema tel:

Para que se realice una llamada al pulsar un enlace basta con que dicho enlace apunte a un URI que use el esquema tel. Dicho esquema es muy simple:

<a href="tel:+34123456789">Llamar a la central</a>

Es recomendable usar siempre el formato internacional para el número de teléfono a marcar (es decir empezar el número con el signo + y el código del país). No sabemos dónde pueden estar nuestros visitantes en cada momento y el formato internacional funciona siempre (incluso si el usuario está dentro del propio país al que se llama).

Lo que ocurre cuando el usuario pulse el enlace ya depende de cada sistema operativo móvil. Así en iOS y Android p. ej., aparece una alerta que muestra el número y permite decidir al usuario si quiere realizar la llamada o no. Otros sistemas operativos muestran una lista con varias opciones. Por ejemplo el iPad, que no admite llamadas de voz, permite añadir el número a la agenda de contactos.

Otras aplicaciones pueden registrar esquemas propios de URI para ser abiertas desde páginas web. Por ejemplo, la aplicación Facetime en iOS registra el esquema facetime, lo que permite abrir dicha aplicación con enlaces cuya href sea algo parecido a facetime:+34123456789. El esquema que registra cada aplicación y su formato es totalmente dependiente de la aplicación.

El esquema sms

Dicho esquema permite mostrar la pantalla de mensajería para permitir mandar un SMS:

<a href="sms:+34123456789?body=Hola!">¡Pulsa para decirnos hola!</a>

Este enlace mostraría la página de enviar un sms con el texto Hola! pre-escrito en el mismo.

Algunos dispositivos no soportan el parámetro ?body. Por ejemplo en iOS no puedes usarlo y debes utilizar tan solo sms:<numero> sin posibilidad de incorporar un texto por defecto en el mensaje. Como todos los esquemas su soporte depende de cada sistema operativo.

Eduard Tomás Eduard es ingeniero informático, atesora muchos años de experiencia como desarrollador y ha sido galardonado como MVP por Microsoft en diez ocasiones. Está especializado en el desarrollo de aplicaciones web y móviles. Mantiene un conocido blog sobre desarrollo en .NET en general y ASP.NET MVC en particular. Colabora con la comunidad impartiendo charlas en formato webcast y en eventos de distintos grupos de usuarios. Puedes seguirlo en Twitter en @eiximenis. Ver todos los posts de Eduard Tomás

Boletín campusMVP.es

Solo cosas útiles. Una vez al mes.

🚀 Únete a miles de desarrolladores

DATE DE ALTA

x No me interesa | x Ya soy suscriptor

La mejor formación online para desarrolladores como tú

Comentarios (2) -

gracias, era justo lo que buscaba me ayudaste mucho.

Responder

Hola, existe alguna URL que pueda sustituir a la etiqueta <a href="tel:">...Gracias

Responder

Agregar comentario

Los datos anteriores se utilizarán exclusivamente para permitirte hacer el comentario y, si lo seleccionas, notificarte de nuevos comentarios en este artículo, pero no se procesarán ni se utilizarán para ningún otro propósito. Lee nuestra política de privacidad.