Windows Azure - Mobile Services
Slide per Talk introduttivo all'evento @DotNetToscana #AMSDay sui Mobile Services di Windows Azure.
Il Talk si è tenuto da @rcappello e @lderiu entrambi di @vivido
3. Agenda
Introduzione agli Azure Mobile Services – No’attri
Mobile Services con Windows 8.1 (creazione e utilizzo del
PhotoBook) – Marco Minerva
Mobile Services con Windows Phone – Marco Dal Pino
Mobile Services con Xamarin per iOS e Android – Dan Ardelean
Mobile Services con applicazioni Web – Emanuele Bartolesi
10. Auth
Autenticazione tramite Microsoft Account, Twitter, Facebook,
Google
Possibilità di assegnare permessi per ogni operazione CRUD
(Everyone, Anyone with the Application Key, Only Authenticated Users,
Only Scripts and Admins)
Possibilità di utilizzare l’oggetto user lato Server Side per inserire
ancor più flessibilità nelle operazioni CRUD
11.
12. Scheduler
Esegue script ad intervalli di tempo
Minuti, Ore, Giorni, Mesi
Pulizia periodica dei dati
Caricare dati terzi ad intervalli regolari (RSS, Tweet Feed..)
Processare / ridimensionare immagini
Inviare Notifiche Push
Eseguire script su richiesta (On Demand)
Esempi d’uso:
13.
14. Diagnostic, Logging & Scale
Diagnostic
Api Calls, CPU time, Data out
Numero di istanze, tipo VM
Tipo e dimensione del database
Logging
Scale
LUCA:Come prima cosa, a nome di tutti, grazie per aver scelto di passare insieme a noi questa giornata! Ammetto che siamo stati un po’ dubbiosi sul giorno in cui fare questo evento, eravamo indecisi se fosse stato meglio un weekend oppure un giorno lavorativo. Abbiamo optato per questa seconda scelta dato che l’argomento è estremamente attuale ma anche estremamente interessante..
LUCA1) comeaccedere al portale 2) come si crea un nuovo mobile service 3) download della solution già collegata4)creazione todoitem – RUN!5) Spiegazione del codice in App.xaml.cs (Dichiarazione del MS) e MainPage.xaml.cs
LUCAData ToDoItem Script insertInserite l’if se la lunghezza è < 5 ritorna bad request, altrimenti inserisci!if(item.text.length < 5) { request.respond(statusCodes.BAD_REQUEST, "valore troppo corto"); } else { request.execute(); }Debug e mettiamo il breack su MainPage.xaml.cs
LUCACi colleghiamo a manage.windowsazure.com e facciamo vedere il tab push! Dev.windows.comCreiamo l’appTasto destro sul progetto Store Associate App with the storeNel progetto doppio click su Package.appxmanifestTab packagingCi serviranno: Package Name & PublisherApriamo dev.windows.com, selezioniamo l’app, clicchiamo su Servizi e selezioniamo la riga : Se hai già una soluzione WNS o hai bisogno di aggiornare la tua attuale chiave privata client, visita il sito dei servizi Liveselezioniamo il primo link: Identificazione dell'appclicchiamo su:Autenticazione del servizioRicopiamo il SID nella sezione Push del mobile serviceRicopiamo la chiave privata nella sezione Push del mobile serviceIn App.xaml.cs andiamo nell’evento OnLaunched: mettiamo async dopo il protectedSubito dopo questo evento creiamo la classe Channelpublic class Channel{ public int Id{get;set;} public string Uri { get; set; }}A fine dell’evento OnLaunched inseriamo:var ch = await PushNotificationChannelManager.CreatePushNotificationChannelForApplicationAsync();await MobileService.GetTable<Channel>().InsertAsync(new Channel{ Uri = ch.Uri});Andiamo nello script di insert della tabella Channel ed inseriamo il seguente codice:var channelTable = tables.getTable("Channel");channelTable.where({ url: item.url}) .read({success: insertChannelIfNotFound});function insertChannelIfNotFound(existingChannel){ if(existingChannel.length > 0) request.respond(200, existingChannel[0]); else request.execute();}A questo punto non rimane che andare nello script di inserti di ToDoItems ed implementare il codice per inviare la push!(lo troviamo commentato)
RICCARDOMission: Far vedere come si implementa l’autenticazione via Twitter così da far richiedere user e password al primo avvio!Per autenticare su Twitter, per prima cosa, dobbiamo creare un’app su dev.twitter.comSettare come WebSite e CallBackWebSite su https://vividodotnettoscana.azure-mobile.net/ e abilitare la login da appPrendere poi la Customer KeyHJCL42VzNtbXiO7kkzCx9wAndare nelTab Identity nel nostro Mobile ServiceInserire la Customer Key e la Consumer Secret KFrE4Nk7TXF35WIFX8VbDyKSXp779osZMsDbqGPawSalvare (Far vedere che continua tutto a funzinare)Andare nella tabella ToDoItem e mettere i permessi su Authenticated UserSalvare e far vedere il messaggio d’erroreAndare su MainPage.xaml.cs.Mettere Async su OnNavigatedToPrima di RefreshToDoItems aggiungere awaitApp.MobileService.LoginAsync(MobileServiceAuthenticationProvider.Twitter);Salvare e lanciare
RICCARDOMission: Far vedere come si implementa uno schedulerTabScheduler, creaiamo un nuovo schedulerDiamogli il nome getUpdates e scheduliamolo ogni 15 MinutiApriamo loscheduler e incolliamoci lo scriptMettiamo le API e Creiamo la tabella UpdatesAggiungiamo la WideLogo.png, cambiamo il testo in scuro sulla Wide e cambiamo l’icona in Wide sullo StartTorniamo sullo scheduler e facciamo girare OneTimeGuardiamo come ha riempito la tabella Updates e come le Tile sono piene