SlideShare une entreprise Scribd logo
1  sur  16
Télécharger pour lire hors ligne
LUMIA APP LABS #6
USING THE NOKIA
MUSIC WINDOWS
PHONE APIS
Steve Robbins
Chief Architect
Nokia Music
AGENDA
What is Nokia Music?

Nokia Music Windows Phone App-to-App APIs.

Using the Nokia Music REST API to add music data to your app.
NOKIA MUSIC
Instant free music streaming
on Lumia Windows Phones

100s of curated mixes
Create your own artist mixes
Offline caching
Graphic Equalizer
No login, no ads
Gig Finder for live concerts
NOKIA MUSIC APP-TO-APP APIS

               Nokia Music 3.5 for Windows Phone 8
               added App-to-App APIs

               In the Windows Phone Store now!
APP-TO-APP APIS

App-to-App protocols allow one
app to launch another with a
specific URI scheme.

Launcher.LaunchUriAsync(
"nokia-music://show/artist/?name=
Rihanna")
NOKIA MUSIC APP-TO-APP APIS
Launch App                             nokia-music://
Search MP3 store                       nokia-music://search/anything/?term={term}
Show Artist Details                    nokia-music://show/artist/?name={name}
Play an Artist Mix                     nokia-music://play/artist/?artist={name}
Show Gigs Around You                   nokia-music://show/gigs/
Search for Gigs                        nokia-music://search/gigs/?term={term}
Show Curated Mixes                     nokia-music://show/mixes/
Play a Curated Mix                     nokia-music://play/mix/?id={id}
Show Product Details – e.g. an album   nokia-music://show/product/?id={id}
DEMOS
Create App that Launches Nokia Music

Extend App to search for music
APP-TO-APP AND NFC
ProximityDevice device = ProximityDevice.GetDefault();
if (device != null) {
 device.PublishBinaryMessage("WindowsUri:WriteTag",
   GetBufferFromUrl("nokia-music://play/mix/?id=35541874"),
   UnregisterUponSend);
 MessageBox.Show("Tap NFC tag to write link");
}

See http://nokia.ly/nfcslides
USING APP-TO-APP TO MAKE
LAUNCHER TASKS
new ShowArtistTask() {
 ArtistName = "Green Day"
}.Show();
WEB FALL-BACK
void Launch(Uri appToAppUri, Uri webFallbackUri)
{
  #if WINDOWSPHONE8
  if (IsNokiaDevice())
  {
    Launcher.LaunchUriAsync(appToAppUri);
    return;
  }
  #endif
  WebBrowserTask web = new WebBrowserTask();
  web.Uri = webFallbackUri;
  web.Show();
}
NOKIA MUSIC LAUNCHER TASKS
Launch App                                new LaunchTask().Show();

                                          new MusicSearchTask() {
Search MP3 store                                SearchTerms = "Rihanna"
                                          }.Show();
                                          new ShowArtistTask() {
Show Artist Details                               ArtistName = "Green Day”
                                          }.Show();
                                          new PlayMixTask() {
Play an Artist or Curated Mix                 ArtistName = "Green Day"
                                          }.Show();
Show Gigs Around You or Search for Gigs   new ShowGigsTask().Show();
Show Curated Mixes                        new ShowMixesTask().Show();
DEMOS
API installation with NuGet

Replace URI-based App-to-App with MusicSearchTask

Take an existing Location-based app and add “Gigs Near You” feature
NOKIA MUSIC WINDOWS PHONE API
Makes it easy for you to integrate music
data into your app.
MusicClientAsync client = new
MusicClientAsync(AppId, AppCode);
var artists =
   await client.GetTopArtists();
list.ItemsSource = artists.Result;
// when user selects artist...
artist.PlayMix();
NOKIA MUSIC WINDOWS PHONE API
Search Nokia Music            var items = await client.Search("Green Day");
Search Artist By Location     var a = await client.GetArtistsAroundLocation(51.45,-2.6);
Gets available genres         var genres = await client.GetGenres();
Gets top artists for a genre var artists = await client.GetTopArtistsForGenre(myGenre);
Gets charts                   var albums = await client.GetTopProducts(Category.Album);
Gets a list of new releases   var tracks = await client.GetNewReleases(Category.Track);
Gets the top artists          var artists = await client.GetTopArtists();
Gets products by an artist    var products = await client.GetArtistProducts(myArtist);
Gets similar artists          var artists = await client.GetSimilarArtists(myArtist);
Gets available Mix Groups     var mixGroups = await client.GetMixGroups();
Gets Mixes for a group        var mixes = await client.GetMixes(myMixGroup);
DEMOS
Sign up for API Keys

Create application to show artists on map
SUMMARY
Source and examples: http://nokia.ly/wpmusicapi

Contact @sr_gb or steve.robbins@nokia.com

Contenu connexe

Plus de Microsoft Mobile Developer

Nokia Asha webinar: Developing health-care applications for Nokia Asha phones
Nokia Asha webinar: Developing health-care applications for Nokia Asha phonesNokia Asha webinar: Developing health-care applications for Nokia Asha phones
Nokia Asha webinar: Developing health-care applications for Nokia Asha phones
Microsoft Mobile Developer
 
Nokia Asha webinar: Add VoIP services to your Nokia Asha apps
Nokia Asha webinar: Add VoIP services to your Nokia Asha appsNokia Asha webinar: Add VoIP services to your Nokia Asha apps
Nokia Asha webinar: Add VoIP services to your Nokia Asha apps
Microsoft Mobile Developer
 

Plus de Microsoft Mobile Developer (20)

Location based services for Nokia X and Nokia Asha using Geo2tag
Location based services for Nokia X and Nokia Asha using Geo2tagLocation based services for Nokia X and Nokia Asha using Geo2tag
Location based services for Nokia X and Nokia Asha using Geo2tag
 
HERE Maps for the Nokia X platform
HERE Maps for the Nokia X platformHERE Maps for the Nokia X platform
HERE Maps for the Nokia X platform
 
Nokia In-App Payment - UX considerations
Nokia In-App Payment - UX considerationsNokia In-App Payment - UX considerations
Nokia In-App Payment - UX considerations
 
Introduction to Nokia Asha SDK 1.2 (beta)
Introduction to Nokia Asha SDK 1.2 (beta)Introduction to Nokia Asha SDK 1.2 (beta)
Introduction to Nokia Asha SDK 1.2 (beta)
 
UX considerations when porting to Nokia X
UX considerations when porting to Nokia XUX considerations when porting to Nokia X
UX considerations when porting to Nokia X
 
Kids' games and educational app design
Kids' games and educational app designKids' games and educational app design
Kids' games and educational app design
 
Nokia X: opportunities for developers
Nokia X: opportunities for developersNokia X: opportunities for developers
Nokia X: opportunities for developers
 
Lumia App Labs: Nokia Imaging SDK 1.1
Lumia App Labs: Nokia Imaging SDK 1.1Lumia App Labs: Nokia Imaging SDK 1.1
Lumia App Labs: Nokia Imaging SDK 1.1
 
Intro to Nokia X software platform and tools
Intro to Nokia X software platform and toolsIntro to Nokia X software platform and tools
Intro to Nokia X software platform and tools
 
Lumia App Labs: Lessons learned from 50 windows phone 8 design consultations
Lumia App Labs: Lessons learned from 50 windows phone 8 design consultationsLumia App Labs: Lessons learned from 50 windows phone 8 design consultations
Lumia App Labs: Lessons learned from 50 windows phone 8 design consultations
 
Windows Phone 8 speech: parliamo con la nostra app
Windows Phone 8 speech: parliamo con la nostra appWindows Phone 8 speech: parliamo con la nostra app
Windows Phone 8 speech: parliamo con la nostra app
 
La pubblicazione di un'applicazione sullo store
La pubblicazione di un'applicazione sullo storeLa pubblicazione di un'applicazione sullo store
La pubblicazione di un'applicazione sullo store
 
Il pattern mvvm come strutturare al meglio il vostro progetto
Il pattern mvvm come strutturare al meglio il vostro progettoIl pattern mvvm come strutturare al meglio il vostro progetto
Il pattern mvvm come strutturare al meglio il vostro progetto
 
Lens app trasformare il telefono in una fotocamera
Lens app trasformare il telefono in una fotocameraLens app trasformare il telefono in una fotocamera
Lens app trasformare il telefono in una fotocamera
 
NFC, Bluetooth e comunicazione tra app
NFC, Bluetooth e comunicazione tra appNFC, Bluetooth e comunicazione tra app
NFC, Bluetooth e comunicazione tra app
 
Nokia Asha webinar: Developing health-care applications for Nokia Asha phones
Nokia Asha webinar: Developing health-care applications for Nokia Asha phonesNokia Asha webinar: Developing health-care applications for Nokia Asha phones
Nokia Asha webinar: Developing health-care applications for Nokia Asha phones
 
Connettersi al Cloud Azure Mobile Services
Connettersi al Cloud Azure Mobile ServicesConnettersi al Cloud Azure Mobile Services
Connettersi al Cloud Azure Mobile Services
 
Nokia Asha webinar: Add VoIP services to your Nokia Asha apps
Nokia Asha webinar: Add VoIP services to your Nokia Asha appsNokia Asha webinar: Add VoIP services to your Nokia Asha apps
Nokia Asha webinar: Add VoIP services to your Nokia Asha apps
 
LUMIA APP LABS #18: INTRODUCING NOKIA IMAGING SDK 1.0
LUMIA APP LABS #18: INTRODUCING NOKIA IMAGING SDK 1.0LUMIA APP LABS #18: INTRODUCING NOKIA IMAGING SDK 1.0
LUMIA APP LABS #18: INTRODUCING NOKIA IMAGING SDK 1.0
 
Nokia Asha webinar: Developing location-based services for Nokia Asha phones ...
Nokia Asha webinar: Developing location-based services for Nokia Asha phones ...Nokia Asha webinar: Developing location-based services for Nokia Asha phones ...
Nokia Asha webinar: Developing location-based services for Nokia Asha phones ...
 

Dernier

Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 

Dernier (20)

Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
Manulife - Insurer Innovation Award 2024
Manulife - Insurer Innovation Award 2024Manulife - Insurer Innovation Award 2024
Manulife - Insurer Innovation Award 2024
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 

LUMIA APP LAB: USING THE NOKIA MUSIC WINDOWS PHONE API

  • 1. LUMIA APP LABS #6 USING THE NOKIA MUSIC WINDOWS PHONE APIS Steve Robbins Chief Architect Nokia Music
  • 2. AGENDA What is Nokia Music? Nokia Music Windows Phone App-to-App APIs. Using the Nokia Music REST API to add music data to your app.
  • 3. NOKIA MUSIC Instant free music streaming on Lumia Windows Phones 100s of curated mixes Create your own artist mixes Offline caching Graphic Equalizer No login, no ads Gig Finder for live concerts
  • 4. NOKIA MUSIC APP-TO-APP APIS Nokia Music 3.5 for Windows Phone 8 added App-to-App APIs In the Windows Phone Store now!
  • 5. APP-TO-APP APIS App-to-App protocols allow one app to launch another with a specific URI scheme. Launcher.LaunchUriAsync( "nokia-music://show/artist/?name= Rihanna")
  • 6. NOKIA MUSIC APP-TO-APP APIS Launch App nokia-music:// Search MP3 store nokia-music://search/anything/?term={term} Show Artist Details nokia-music://show/artist/?name={name} Play an Artist Mix nokia-music://play/artist/?artist={name} Show Gigs Around You nokia-music://show/gigs/ Search for Gigs nokia-music://search/gigs/?term={term} Show Curated Mixes nokia-music://show/mixes/ Play a Curated Mix nokia-music://play/mix/?id={id} Show Product Details – e.g. an album nokia-music://show/product/?id={id}
  • 7. DEMOS Create App that Launches Nokia Music Extend App to search for music
  • 8. APP-TO-APP AND NFC ProximityDevice device = ProximityDevice.GetDefault(); if (device != null) { device.PublishBinaryMessage("WindowsUri:WriteTag", GetBufferFromUrl("nokia-music://play/mix/?id=35541874"), UnregisterUponSend); MessageBox.Show("Tap NFC tag to write link"); } See http://nokia.ly/nfcslides
  • 9. USING APP-TO-APP TO MAKE LAUNCHER TASKS new ShowArtistTask() { ArtistName = "Green Day" }.Show();
  • 10. WEB FALL-BACK void Launch(Uri appToAppUri, Uri webFallbackUri) { #if WINDOWSPHONE8 if (IsNokiaDevice()) { Launcher.LaunchUriAsync(appToAppUri); return; } #endif WebBrowserTask web = new WebBrowserTask(); web.Uri = webFallbackUri; web.Show(); }
  • 11. NOKIA MUSIC LAUNCHER TASKS Launch App new LaunchTask().Show(); new MusicSearchTask() { Search MP3 store SearchTerms = "Rihanna" }.Show(); new ShowArtistTask() { Show Artist Details ArtistName = "Green Day” }.Show(); new PlayMixTask() { Play an Artist or Curated Mix ArtistName = "Green Day" }.Show(); Show Gigs Around You or Search for Gigs new ShowGigsTask().Show(); Show Curated Mixes new ShowMixesTask().Show();
  • 12. DEMOS API installation with NuGet Replace URI-based App-to-App with MusicSearchTask Take an existing Location-based app and add “Gigs Near You” feature
  • 13. NOKIA MUSIC WINDOWS PHONE API Makes it easy for you to integrate music data into your app. MusicClientAsync client = new MusicClientAsync(AppId, AppCode); var artists = await client.GetTopArtists(); list.ItemsSource = artists.Result; // when user selects artist... artist.PlayMix();
  • 14. NOKIA MUSIC WINDOWS PHONE API Search Nokia Music var items = await client.Search("Green Day"); Search Artist By Location var a = await client.GetArtistsAroundLocation(51.45,-2.6); Gets available genres var genres = await client.GetGenres(); Gets top artists for a genre var artists = await client.GetTopArtistsForGenre(myGenre); Gets charts var albums = await client.GetTopProducts(Category.Album); Gets a list of new releases var tracks = await client.GetNewReleases(Category.Track); Gets the top artists var artists = await client.GetTopArtists(); Gets products by an artist var products = await client.GetArtistProducts(myArtist); Gets similar artists var artists = await client.GetSimilarArtists(myArtist); Gets available Mix Groups var mixGroups = await client.GetMixGroups(); Gets Mixes for a group var mixes = await client.GetMixes(myMixGroup);
  • 15. DEMOS Sign up for API Keys Create application to show artists on map
  • 16. SUMMARY Source and examples: http://nokia.ly/wpmusicapi Contact @sr_gb or steve.robbins@nokia.com