Microsoft Cognitive Services con Xamarin
Hola amigos, les comparto la forma de crear una aplicación que nos permita conectarnos a los Microsoft Cognitive Services usando Xamarin.
Sin duda los Cognitive Services son una fantástica oportunidad para la creación de aplicaciones móviles de diferentes tipos, especialmente para asistencia a personas con capacidades diferentes.
Podemos crear una cuenta trial en el sitio Web:
Una vez registrado, obtenemos las claves de acceso para Emotion y Computer Vision:
Ahora empezamos creando un proyecto clásico para iOS:
Paso 1 - Realizar la siguiente Interfaz Gráfica para iOS:

Paso 2 - Agregamos el Paquete vía NuGet:

Paso 3 - Agregamos las librerías necesarias:

Paso 4 - Declaramos una variable de tipo AVSpeechSynthesizer para escuchar la voz de Siri para que nos narre el texto:

Paso 5 - Declaramos un manejador de evento que mande llamar asíncronamente a un método llamado DescargarImagenAnalizarFelicidad el cual descargará la imagen que vamos a verificar, generamos un stream de la misma y enviamos a otro método asíncrono llamado NiveldeFelicidad que nos indicará el porcentaje de acuerdo al Servicio Cognitivo. Por último enviamos el texto a la variable de narración:

Paso 6 - Descargamos la imagen como arreglo de bytes y después la guardamos y extraemos la ruta local:

Paso 7 - Verificamos en un método asíncrono el porcentaje de felicidad del Servicio Cognitivo enviando el stream de la imagen a un método llamado TraerEmocion y dependiendo lo que regrese le extraemos el grado de felicidad.
Paso 8 - Definimos la clave de la API de Emoción de los Servicios Cognitivos, generamos el cliente de conexión con la clave, enviamos el stream de la Imagen y recibimos el resultado, si puede hacer la detección, extraemos la variable, en caso contrario enviamos el mensaje de error.
Paso 9 - Ya con el grado de felicidad verificamos el mensaje a enviar a la pantalla:

Paso 10 - Probamos la funcionalidad:

Paso 11 - Ahora generamos un método para la descripción, en donde extraemos cada elemento en la lista y se envía al narrador uno a uno:

Paso 12 - De la misma forma bajamos la imagen al dispositivo:
Paso 13 - Generamos el método asíncrono para recibir la descripción de la imagen enviándole el stream:
Paso 14 - Mandamos llamar ambos botones desde ViewDidLoad:
Corremos la Aplicación:
A continuación les dejo el video ejecutando la aplicación en iOS que se conecta a los Servicios Cognitivos de Microsoft con narración de los resultados:
Espero les sirva para sus proyectos móviles.
Saludos.
@enriqueaguilar