3. • Comunicación oficial y con las
formalidades preceptivas de una
resolución.
• Noticia veraz de algo.
RAE, 2005
¿Qué es una notificación?
4. ¿Qué es una notificación?
Mecanismo que tienen las
aplicaciones móviles que no se
están ejecutando en primer
plano para indicar al usuario
que tiene alguna información
para él.
11. Notificaciones locales
• Almacenadas y entregadas por el propio
sistema operativo.
• Útiles para aplicaciones tipo calendarios,
recordatorios, temporizadores, etc...
• Límite de 64 notificaciones programadas por
aplicación.
13. Notificaciones remotas
• Conocidas como notificaciones Push.
• Almacenadas por un servidor propio.
• Enviadas por internet (Wi-Fi, 3G, ...).
• Entregadas por APNs al dispositivo.
• Útil para aplicaciones y/o juegos con
interacción entre usuarios.
14. Push vs. Pull design
Client Server
...
Client Server
Pull
Push
21. Finalizando...
• Completar la aplicación para que cuando se reciba una notificación se
vaya directamente a una pantalla que muestre los detalles de esa
notificación.
• Debe funcionar tanto si la aplicación esta en background, foreground o
cerrada.
24. Badge
Finalizar la aplicación de ejemplo añadiendo funcionalidad para poner
a cero el badge cuando la notificación sea ‘leída’.
25. Puesta en común
• ¿Cómo diseñaríais una aplicación de recordatorios
basados en fechas?
• El badge debe indicar exactamente el número de tareas
pendientes
26. Conclusiones
• No se puede controlar el badge 100%, habrá que actualizarlo desde la
app siempre que sea posible.
• La funcionalidad de nuestra aplicación no puede depender de la
notificación, ya que ésta puede no recibirse o ser ignorada.
29. APNs
• Siglas de Apple Push Notificacion service.
• ‘Piedra Angular’ del sistema de
Notificaciones Apple.
• Recibe y distribuye las notificaciones a sus
destinatarios.
• Esa distribución es un servicio PUSH.
30. ¿Servicio Push?
• ¿Qué es?
• ¿Cómo se consigue?
• ¿Qué ocurrirá con la
notificación si el teléfono
está apagado?
• ¿Y si no tiene internet?
31. APNs: Seguridad
Mecanismo 1: Seguridad basada en certificados digitales para todas las
comunicaciones.
Aseguramiento de la conexión dispositivo - APNs Aseguramiento de la conexión server - APNs
32. APNs: Seguridad
Mecanismo 2: Seguridad basada en un token único que identifica a cada
dispositivo.
Generación y distribución del token Notificación
33. APNs: Seguridad
• Servidor
• Certificado proporcionado por Apple.
• Token de los dispositivos.
• Aplicación Cliente
• Certificado proporciondo por Apple (code sign).
• Haber enviado su token al servidor.
35. APNs: Otros servicios
• Servicio de información (feedback) que
indica los dispositivos que rechazaron
notificaciones.
• Política de almacenamiento y reenvío (store
and forward), si el destinatario no se
encuentra conectado.
36. Calentamiento
• Crear una nueva aplicación iOS que tenga un
sólo botón en pantalla.
• Cuando arranque debe mostrar una vista
oscurecida, tapando el botón y un
UIActivityIndicator en el medio girando
constantemente y un mensaje de espera.
• La aplicación debe funcionar en el dispositivo
real, no solo en el simulador.
37. Registro APNs
• Cuando se complete el registro, la vista de carga debe
desaparecer.
• El botón debe habilitarse/deshabilitarse dependiendo de si
el registro fue correcto o no.
38. Solicitando notificaciones
• El botón de la pantalla servirá para solicitar notificaciones a
un provider.
• API del provider:
• POST http://mimo-apns.herokuapp.com/users/greet
• Body(JSON): {“name”:“<nombre>”,“token”:”<token>”}
• El token debe contener sólo números y letras, no espacios
en blanco ni otros caracteres.
• Pista: Para asegurarnos de que el provider interpreta el body
como JSON se debe especificar la cabecera “Content-Type”
con “application/json”