SlideShare une entreprise Scribd logo
1  sur  40
Télécharger pour lire hors ligne
iOS Notifications
Teoría, programación, registro, envío, recepción, manejo,
etc...
¿Qué es una notificación?
• Comunicación oficial y con las
formalidades preceptivas de una
resolución.
• Noticia veraz de algo.
RAE, 2005
¿Qué es una notificación?
¿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.
¿Cómo se muestran?
¿Y luego?
¡Empezamos!
Notificaciones
Notificaciones locales y remotas en profundidad
Propósito
Permitir a una aplicación informar
al usuario que tiene algo para él.
Casos prácticos
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.
Notificaciones Locales
App iOS
App iOS
Programación
Entrega
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.
Push vs. Pull design
Client Server
...
Client Server
Pull
Push
Notificaciones Push
App
iOS
Server
APNs
Notificaciones Locales
Programación, recepción y manejo
Calentamiento
• Crear una nueva aplicación iOS.
• Cuando arranque debe mostrar una pantalla con un sólo botón.
Programación
Recepción
Manejo
Con la aplicación abierta (foreground o background)
Con la aplicación cerrada...
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.
... y esto?
Badge
Asignación
Manejo
¡¡Asigna directamente el valor al badge!!
Badge
Finalizar la aplicación de ejemplo añadiendo funcionalidad para poner
a cero el badge cuando la notificación sea ‘leída’.
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
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.
Notificaciones Push
Registro, envío, recepción y manejo
Notificaciones Push
App
iOS
Server
APNs
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.
¿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?
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
APNs: Seguridad
Mecanismo 2: Seguridad basada en un token único que identifica a cada
dispositivo.
Generación y distribución del token Notificación
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.
DEMO
Generación de certificados, configuración del app, ...
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.
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.
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.
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”
Solicitando notificaciones
Carlos Alonso Pérez
Developer
Twitter: @calonso
LinkedIn: mrcalonso
Mail: info@mrcalonso.com
¡Gracias!

Contenu connexe

En vedette

Ruby closures, how are they possible?
Ruby closures, how are they possible?Ruby closures, how are they possible?
Ruby closures, how are they possible?Carlos Alonso Pérez
 
Scalable data modelling by example - Cassandra Summit '16
Scalable data modelling by example - Cassandra Summit '16Scalable data modelling by example - Cassandra Summit '16
Scalable data modelling by example - Cassandra Summit '16Carlos Alonso Pérez
 
Case Study: Troubleshooting Cassandra performance issues as a developer
Case Study: Troubleshooting Cassandra performance issues as a developerCase Study: Troubleshooting Cassandra performance issues as a developer
Case Study: Troubleshooting Cassandra performance issues as a developerCarlos Alonso Pérez
 
Cassandra Workshop - Cassandra from scratch in one day
Cassandra Workshop - Cassandra from scratch in one dayCassandra Workshop - Cassandra from scratch in one day
Cassandra Workshop - Cassandra from scratch in one dayCarlos Alonso Pérez
 
Sensors (Accelerometer, Magnetometer, Gyroscope, Proximity and Luminosity)
Sensors (Accelerometer, Magnetometer, Gyroscope, Proximity and Luminosity)Sensors (Accelerometer, Magnetometer, Gyroscope, Proximity and Luminosity)
Sensors (Accelerometer, Magnetometer, Gyroscope, Proximity and Luminosity)Carlos Alonso Pérez
 

En vedette (9)

Ruby closures, how are they possible?
Ruby closures, how are they possible?Ruby closures, how are they possible?
Ruby closures, how are they possible?
 
Html5
Html5Html5
Html5
 
Scalable data modelling by example - Cassandra Summit '16
Scalable data modelling by example - Cassandra Summit '16Scalable data modelling by example - Cassandra Summit '16
Scalable data modelling by example - Cassandra Summit '16
 
Javascript
JavascriptJavascript
Javascript
 
Cassandra for impatients
Cassandra for impatientsCassandra for impatients
Cassandra for impatients
 
Case Study: Troubleshooting Cassandra performance issues as a developer
Case Study: Troubleshooting Cassandra performance issues as a developerCase Study: Troubleshooting Cassandra performance issues as a developer
Case Study: Troubleshooting Cassandra performance issues as a developer
 
Programacion web
Programacion webProgramacion web
Programacion web
 
Cassandra Workshop - Cassandra from scratch in one day
Cassandra Workshop - Cassandra from scratch in one dayCassandra Workshop - Cassandra from scratch in one day
Cassandra Workshop - Cassandra from scratch in one day
 
Sensors (Accelerometer, Magnetometer, Gyroscope, Proximity and Luminosity)
Sensors (Accelerometer, Magnetometer, Gyroscope, Proximity and Luminosity)Sensors (Accelerometer, Magnetometer, Gyroscope, Proximity and Luminosity)
Sensors (Accelerometer, Magnetometer, Gyroscope, Proximity and Luminosity)
 

Similaire à iOS Notifications

Similaire à iOS Notifications (20)

iOS Notifications
iOS NotificationsiOS Notifications
iOS Notifications
 
Presentación las apps
Presentación las appsPresentación las apps
Presentación las apps
 
Push notifications
Push notificationsPush notifications
Push notifications
 
Las Funciones & Características de Un App
Las Funciones & Características de Un AppLas Funciones & Características de Un App
Las Funciones & Características de Un App
 
Aplicaciones
AplicacionesAplicaciones
Aplicaciones
 
Sesion dos azuay
Sesion dos azuaySesion dos azuay
Sesion dos azuay
 
Windows phone y el sector empresarial
Windows phone y el sector empresarialWindows phone y el sector empresarial
Windows phone y el sector empresarial
 
Reto: 071
Reto: 071Reto: 071
Reto: 071
 
Webcast Cono Sur Febrero 2013
Webcast Cono Sur Febrero 2013Webcast Cono Sur Febrero 2013
Webcast Cono Sur Febrero 2013
 
Jornada 10 años ASP NET en Español - Implementación de Notificaciones Push...
Jornada 10 años ASP NET en Español - Implementación de Notificaciones Push...Jornada 10 años ASP NET en Español - Implementación de Notificaciones Push...
Jornada 10 años ASP NET en Español - Implementación de Notificaciones Push...
 
Azure Notification Hub
Azure Notification HubAzure Notification Hub
Azure Notification Hub
 
Expo
ExpoExpo
Expo
 
LAS APPS
LAS APPSLAS APPS
LAS APPS
 
Las apps
Las appsLas apps
Las apps
 
CFEmergencia
CFEmergenciaCFEmergencia
CFEmergencia
 
GESTIONSAD, la webAPP de Dependentex para el Control de la Atención Domicilia...
GESTIONSAD, la webAPP de Dependentex para el Control de la Atención Domicilia...GESTIONSAD, la webAPP de Dependentex para el Control de la Atención Domicilia...
GESTIONSAD, la webAPP de Dependentex para el Control de la Atención Domicilia...
 
Las apps
Las appsLas apps
Las apps
 
Descripcion de app de comidas
Descripcion de app de comidasDescripcion de app de comidas
Descripcion de app de comidas
 
Las apps
Las appsLas apps
Las apps
 
Las apps
Las appsLas apps
Las apps
 

Dernier

desarrollodeproyectoss inge. industrial
desarrollodeproyectoss  inge. industrialdesarrollodeproyectoss  inge. industrial
desarrollodeproyectoss inge. industrialGibranDiaz7
 
PPT SERVIDOR ESCUELA PERU EDUCA LINUX v7.pptx
PPT SERVIDOR ESCUELA PERU EDUCA LINUX v7.pptxPPT SERVIDOR ESCUELA PERU EDUCA LINUX v7.pptx
PPT SERVIDOR ESCUELA PERU EDUCA LINUX v7.pptxSergioGJimenezMorean
 
¿QUE SON LOS AGENTES FISICOS Y QUE CUIDADOS TENER.pptx
¿QUE SON LOS AGENTES FISICOS Y QUE CUIDADOS TENER.pptx¿QUE SON LOS AGENTES FISICOS Y QUE CUIDADOS TENER.pptx
¿QUE SON LOS AGENTES FISICOS Y QUE CUIDADOS TENER.pptxguillermosantana15
 
DOCUMENTO PLAN DE RESPUESTA A EMERGENCIAS MINERAS
DOCUMENTO PLAN DE RESPUESTA A EMERGENCIAS MINERASDOCUMENTO PLAN DE RESPUESTA A EMERGENCIAS MINERAS
DOCUMENTO PLAN DE RESPUESTA A EMERGENCIAS MINERASPersonalJesusGranPod
 
Controladores Lógicos Programables Usos y Ventajas
Controladores Lógicos Programables Usos y VentajasControladores Lógicos Programables Usos y Ventajas
Controladores Lógicos Programables Usos y Ventajasjuanprv
 
NTP- Determinación de Cloruros en suelos y agregados (1) (1).pptx
NTP- Determinación de Cloruros  en suelos y agregados (1) (1).pptxNTP- Determinación de Cloruros  en suelos y agregados (1) (1).pptx
NTP- Determinación de Cloruros en suelos y agregados (1) (1).pptxBRAYANJOSEPTSANJINEZ
 
nom-028-stps-2012-nom-028-stps-2012-.pdf
nom-028-stps-2012-nom-028-stps-2012-.pdfnom-028-stps-2012-nom-028-stps-2012-.pdf
nom-028-stps-2012-nom-028-stps-2012-.pdfDiegoMadrigal21
 
Una estrategia de seguridad en la nube alineada al NIST
Una estrategia de seguridad en la nube alineada al NISTUna estrategia de seguridad en la nube alineada al NIST
Una estrategia de seguridad en la nube alineada al NISTFundación YOD YOD
 
Flujo multifásico en tuberias de ex.pptx
Flujo multifásico en tuberias de ex.pptxFlujo multifásico en tuberias de ex.pptx
Flujo multifásico en tuberias de ex.pptxEduardoSnchezHernnde5
 
Clase 7 MECÁNICA DE FLUIDOS 2 INGENIERIA CIVIL
Clase 7 MECÁNICA DE FLUIDOS 2 INGENIERIA CIVILClase 7 MECÁNICA DE FLUIDOS 2 INGENIERIA CIVIL
Clase 7 MECÁNICA DE FLUIDOS 2 INGENIERIA CIVILProblemSolved
 
Calavera calculo de estructuras de cimentacion.pdf
Calavera calculo de estructuras de cimentacion.pdfCalavera calculo de estructuras de cimentacion.pdf
Calavera calculo de estructuras de cimentacion.pdfyoseka196
 
Clase 2 Revoluciones Industriales y .pptx
Clase 2 Revoluciones Industriales y .pptxClase 2 Revoluciones Industriales y .pptx
Clase 2 Revoluciones Industriales y .pptxChristopherOlave2
 
Curso intensivo de soldadura electrónica en pdf
Curso intensivo de soldadura electrónica  en pdfCurso intensivo de soldadura electrónica  en pdf
Curso intensivo de soldadura electrónica en pdfFernandaGarca788912
 
TEXTURA Y DETERMINACION DE ROCAS SEDIMENTARIAS
TEXTURA Y DETERMINACION DE ROCAS SEDIMENTARIASTEXTURA Y DETERMINACION DE ROCAS SEDIMENTARIAS
TEXTURA Y DETERMINACION DE ROCAS SEDIMENTARIASfranzEmersonMAMANIOC
 
Procesos-de-la-Industria-Alimentaria-Envasado-en-la-Produccion-de-Alimentos.pptx
Procesos-de-la-Industria-Alimentaria-Envasado-en-la-Produccion-de-Alimentos.pptxProcesos-de-la-Industria-Alimentaria-Envasado-en-la-Produccion-de-Alimentos.pptx
Procesos-de-la-Industria-Alimentaria-Envasado-en-la-Produccion-de-Alimentos.pptxJuanPablo452634
 
Sesión 02 TIPOS DE VALORIZACIONES CURSO Cersa
Sesión 02 TIPOS DE VALORIZACIONES CURSO CersaSesión 02 TIPOS DE VALORIZACIONES CURSO Cersa
Sesión 02 TIPOS DE VALORIZACIONES CURSO CersaXimenaFallaLecca1
 
El proyecto “ITC SE Lambayeque Norte 220 kV con seccionamiento de la LT 220 kV
El proyecto “ITC SE Lambayeque Norte 220 kV con seccionamiento de la LT 220 kVEl proyecto “ITC SE Lambayeque Norte 220 kV con seccionamiento de la LT 220 kV
El proyecto “ITC SE Lambayeque Norte 220 kV con seccionamiento de la LT 220 kVSebastianPaez47
 
PPT ELABORARACION DE ADOBES 2023 (1).pdf
PPT ELABORARACION DE ADOBES 2023 (1).pdfPPT ELABORARACION DE ADOBES 2023 (1).pdf
PPT ELABORARACION DE ADOBES 2023 (1).pdfalexquispenieto2
 
Condensadores de la rama de electricidad y magnetismo
Condensadores de la rama de electricidad y magnetismoCondensadores de la rama de electricidad y magnetismo
Condensadores de la rama de electricidad y magnetismosaultorressep
 
tema05 estabilidad en barras mecanicas.pdf
tema05 estabilidad en barras mecanicas.pdftema05 estabilidad en barras mecanicas.pdf
tema05 estabilidad en barras mecanicas.pdfvictoralejandroayala2
 

Dernier (20)

desarrollodeproyectoss inge. industrial
desarrollodeproyectoss  inge. industrialdesarrollodeproyectoss  inge. industrial
desarrollodeproyectoss inge. industrial
 
PPT SERVIDOR ESCUELA PERU EDUCA LINUX v7.pptx
PPT SERVIDOR ESCUELA PERU EDUCA LINUX v7.pptxPPT SERVIDOR ESCUELA PERU EDUCA LINUX v7.pptx
PPT SERVIDOR ESCUELA PERU EDUCA LINUX v7.pptx
 
¿QUE SON LOS AGENTES FISICOS Y QUE CUIDADOS TENER.pptx
¿QUE SON LOS AGENTES FISICOS Y QUE CUIDADOS TENER.pptx¿QUE SON LOS AGENTES FISICOS Y QUE CUIDADOS TENER.pptx
¿QUE SON LOS AGENTES FISICOS Y QUE CUIDADOS TENER.pptx
 
DOCUMENTO PLAN DE RESPUESTA A EMERGENCIAS MINERAS
DOCUMENTO PLAN DE RESPUESTA A EMERGENCIAS MINERASDOCUMENTO PLAN DE RESPUESTA A EMERGENCIAS MINERAS
DOCUMENTO PLAN DE RESPUESTA A EMERGENCIAS MINERAS
 
Controladores Lógicos Programables Usos y Ventajas
Controladores Lógicos Programables Usos y VentajasControladores Lógicos Programables Usos y Ventajas
Controladores Lógicos Programables Usos y Ventajas
 
NTP- Determinación de Cloruros en suelos y agregados (1) (1).pptx
NTP- Determinación de Cloruros  en suelos y agregados (1) (1).pptxNTP- Determinación de Cloruros  en suelos y agregados (1) (1).pptx
NTP- Determinación de Cloruros en suelos y agregados (1) (1).pptx
 
nom-028-stps-2012-nom-028-stps-2012-.pdf
nom-028-stps-2012-nom-028-stps-2012-.pdfnom-028-stps-2012-nom-028-stps-2012-.pdf
nom-028-stps-2012-nom-028-stps-2012-.pdf
 
Una estrategia de seguridad en la nube alineada al NIST
Una estrategia de seguridad en la nube alineada al NISTUna estrategia de seguridad en la nube alineada al NIST
Una estrategia de seguridad en la nube alineada al NIST
 
Flujo multifásico en tuberias de ex.pptx
Flujo multifásico en tuberias de ex.pptxFlujo multifásico en tuberias de ex.pptx
Flujo multifásico en tuberias de ex.pptx
 
Clase 7 MECÁNICA DE FLUIDOS 2 INGENIERIA CIVIL
Clase 7 MECÁNICA DE FLUIDOS 2 INGENIERIA CIVILClase 7 MECÁNICA DE FLUIDOS 2 INGENIERIA CIVIL
Clase 7 MECÁNICA DE FLUIDOS 2 INGENIERIA CIVIL
 
Calavera calculo de estructuras de cimentacion.pdf
Calavera calculo de estructuras de cimentacion.pdfCalavera calculo de estructuras de cimentacion.pdf
Calavera calculo de estructuras de cimentacion.pdf
 
Clase 2 Revoluciones Industriales y .pptx
Clase 2 Revoluciones Industriales y .pptxClase 2 Revoluciones Industriales y .pptx
Clase 2 Revoluciones Industriales y .pptx
 
Curso intensivo de soldadura electrónica en pdf
Curso intensivo de soldadura electrónica  en pdfCurso intensivo de soldadura electrónica  en pdf
Curso intensivo de soldadura electrónica en pdf
 
TEXTURA Y DETERMINACION DE ROCAS SEDIMENTARIAS
TEXTURA Y DETERMINACION DE ROCAS SEDIMENTARIASTEXTURA Y DETERMINACION DE ROCAS SEDIMENTARIAS
TEXTURA Y DETERMINACION DE ROCAS SEDIMENTARIAS
 
Procesos-de-la-Industria-Alimentaria-Envasado-en-la-Produccion-de-Alimentos.pptx
Procesos-de-la-Industria-Alimentaria-Envasado-en-la-Produccion-de-Alimentos.pptxProcesos-de-la-Industria-Alimentaria-Envasado-en-la-Produccion-de-Alimentos.pptx
Procesos-de-la-Industria-Alimentaria-Envasado-en-la-Produccion-de-Alimentos.pptx
 
Sesión 02 TIPOS DE VALORIZACIONES CURSO Cersa
Sesión 02 TIPOS DE VALORIZACIONES CURSO CersaSesión 02 TIPOS DE VALORIZACIONES CURSO Cersa
Sesión 02 TIPOS DE VALORIZACIONES CURSO Cersa
 
El proyecto “ITC SE Lambayeque Norte 220 kV con seccionamiento de la LT 220 kV
El proyecto “ITC SE Lambayeque Norte 220 kV con seccionamiento de la LT 220 kVEl proyecto “ITC SE Lambayeque Norte 220 kV con seccionamiento de la LT 220 kV
El proyecto “ITC SE Lambayeque Norte 220 kV con seccionamiento de la LT 220 kV
 
PPT ELABORARACION DE ADOBES 2023 (1).pdf
PPT ELABORARACION DE ADOBES 2023 (1).pdfPPT ELABORARACION DE ADOBES 2023 (1).pdf
PPT ELABORARACION DE ADOBES 2023 (1).pdf
 
Condensadores de la rama de electricidad y magnetismo
Condensadores de la rama de electricidad y magnetismoCondensadores de la rama de electricidad y magnetismo
Condensadores de la rama de electricidad y magnetismo
 
tema05 estabilidad en barras mecanicas.pdf
tema05 estabilidad en barras mecanicas.pdftema05 estabilidad en barras mecanicas.pdf
tema05 estabilidad en barras mecanicas.pdf
 

iOS Notifications