#dotNetSpain2016
.NET Conference 2016
Spain
CATDOTNET
#dotNetSpain2016
Marc Rubiño
CIO - Captio
mrubino@captio.com
¿Who is Who Cortana?
Patrocinadores
Colaboradores
#dotNetSpain2016
#dotNetSpain2016
Actualmente CIO en Captio ha
trabajado desde hace más de 15
años como consultor especializado
en tecnologías de Microsoft y
colaborador habitual de los grupos
de usuario.
Anti-Charla
#dotNetSpain2016
Historia de la idea
Los Precursores
Internet of Tricks
Internet of Tricks
Anti-Charla
#dotNetSpain2016
Aprender a utilizar
Cortana
¿ Who is Who
Cortana ?
Cortana
#dotNetSpain2016
The Game - ¿ Who is Who Cortana ?
Android Windows Phone
Who is Who Cortana ? Who is Who Cortana
#dotNetSpain2016
Gordi :)
Posibles Preguntas
The Making off
¿Who is Who?
Cortana
Back-End
Mobile services
#dotNetSpain2016
• Asistentes
• Preguntas para validar el perfil
Notificaciones Push
#dotNetSpain2016
1. Dar de alta el servicio y obtener las credenciales
#dotNetSpain2016
1. Habilitar inserciones no autentificadas
#dotNetSpain2016
2. Vincular la API con la Aplicación
#dotNetSpain2016
3. Vincular con Azure
#dotNetSpain2016
Enviar notificación al insertar la pregunta
request.execute({
success: function() {
// If the insert succeeds, send a notification.
push.mpns.send(null, payloadWp, 'toast', 22);
push.gcm.send(null, payloadAndroid);
request.respond();
}
});
}
Cortana
#dotNetSpain2016
Lanzar aplicación en primer plano o segundo plano
#dotNetSpain2016
Nombre de la aplicación como:
• Prefijo (antes de la frase de comando)
• Infijo (dentro de la frase de comando)
• Sufijo (después de la frase de comando)
#dotNetSpain2016
Hay que registrar el fichero de comandos
<CommandSet xml:lang="es" Name="examplevcd">
<CommandPrefix>Gordi</CommandPrefix>
<Example>tiene los ojos azules</Example>
<Command Name="Pelis">
<Example>señor de los anillos o star wars</Example>
<ListenFor>eres mas de {pelis} o de {pelis} </ListenFor>
<Feedback>Yo soy mas de Matrix</Feedback>
<Navigate/>
</Command>
#dotNetSpain2016
Hay que registrar el fichero de comandos
//Registramos el fichero de comandos en el dispositivo
if (e.NavigationMode == NavigationMode.New)
{
var storageFile = await Windows.Storage.StorageFile
.GetFileFromApplicationUriAsync(new Uri("ms-appx:///Question_VCD.xml"));
await Windows.ApplicationModel.VoiceCommands.VoiceCommandDefinitionManager
.InstallCommandDefinitionsFromStorageFileAsync(storageFile);
}
#dotNetSpain2016
Para mostrar el resultado convertimos el texto en voz.
private async Task SpeakText(string text)
{
var synth = new SpeechSynthesizer();
var mediaElement = new MediaElement();
var stream = await synth.SynthesizeTextToStreamAsync(text);
mediaElement.SetSource(stream, stream.ContentType);
mediaElement.Play();
}
Front-End
#dotNetSpain2016
Dos tipos de participantes
View Code
Q&A
#dotNetSpain2016
http://aka.ms/DOTNETT4S3
No olvides realizar la encuesta
¡Gracias!
#dotNetSpain2016
http://aka.ms/DOTNETT4S3
Marc Rubiño
CIO - Captio
mrubino@captio.com

Dot netspain 2016