Intregrazione con le funzioni di ricerca in Windows Phone 7.1

di , in Windows Phone 7.1, Windows Phone,

Dopo il rilascio di Windows Phone 7, sia gli utenti che gli sviluppatori poi hanno richiesto a gran voce una maggiore integrazione delle applicazioni con il sistema operativo.

In passato, lo sviluppatore poteva integrare la propria applicazione solo con la parte multimediale del sistema operativo; oggi, con l'arrivo di Windows Phone, viene aggiunto un nuovo hub, chiamato Search, attraverso il quale è possibile fare in modo che la nostra applicazione interagisca con i risultati di una ricerca prodotti da Bing.

In modo del tutto analogo agli altri punti di integrazione ed estensioni delle funzioni del sistema operativo, è necessario modificare il file manifiest WMAppManifest.xml:

<Extensions>
      <Extension
        ExtensionName="Bing_Products_Video_Games"                    
        ConsumerID="{5B04B775-356B-4AA0-AAF8-6491FFEA5661}"
        TaskID="_default"
        ExtraFile="Extensions\\Extras.xml" />
</Extensions>

Nel frammento di codice precedente possiamo vedere le quattro proprietà che servono per la registrazione. Analizziamole in dettaglio:

  • ExtensionName: questa proprietà indica per quale tipo di ricerca registrare la nostra applicazione. nel nostro caso l'applicazione venga sfruttata per le ricerche che riguardano video giochi, è possibile trovare una lista completa al seguente indirizzo: http://msdn.microsoft.com/en-us/library/hh202958(VS.92).aspx
  • ConsumerID: rappresenta il codice dell'estensione; nel caso della ricerca l'id è sempre 5B04B775-356B-4AA0-AAF8-6491FFEA5661;
  • TaskID: rapprenseta il task; di solito _default;
  • ExtraFile: indica il percorso del file Extras, che deve trovarsi sempre nella cartella Extensions e chiamarsi Extras.
    • Il file Extras contiene le informazioni riguardanti la nostra applicazione e si presenta in questa forma:

      <?xml version="1.0" encoding="utf-8" ?>
      <ExtrasInfo>
      
        <AppTitle>
          <default>Product Results</default>
          <it-IT>Risultati</it-IT>
        </AppTitle>
      
        <!-- Search-related captions -->
        <Consumer ConsumerID="{5B04B775-356B-4AA0-AAF8-6491FFEA5661}">
          <!-- Computer products caption -->
          <ExtensionInfo>
            <Extensions>
              <ExtensionName>Bing_Products_Video_Games</ExtensionName>
            </Extensions>
            <CaptionString>
              <default>Search games</default>
              <it-IT>Ricerca video giochi</it-IT>
            </CaptionString>
          </ExtensionInfo>
        </Consumer>
      </ExtrasInfo>

      La proprietà AppTile contiene il nome dell'applicazione e l'eventuale versione localizzata, mentre ConsumerID identifica l'estensione ed ExtensionName il tipo di ricerca inerente la nostra applicazione. Infine, CaptionString contiene l'etichetta da visualizzare e l'eventuale versione localizzata.

      Quando la nostra applicazione viene lanciata dalla pagina di ricerca, questo avviene attraverso un URI che ha il seguente formato:

      app://<AppID>/_default#/SearchExtras?ProductName=<product_name>&Category=<extension_names>

      E' necessario preparare la nostra applicazione a riceve e gestire questo tipo di URI; è possibile farlo utilizzando la classe UriMapper e modificando il file App.xaml, come di seguito:

      <nav:UriMapper x:Key="UriMapper">
        <nav:UriMapper.UriMappings>
          <nav:UriMapping Uri="/SearchExtras" MappedUri="/Search.xaml"/>
        </nav:UriMapper.UriMappings>
      </nav:UriMapper>

      Nel seguente frammento di codice è possibile vedere le impostazioni relative all'UriMapper inserite nella collezione Resorces dell'applicazione.
      Per terminate, non ci rimane che gestire i paramenti provenienti in querystring, cosa che possiamo fare dal codice della pagina Search.xaml.

Commenti

Visualizza/aggiungi commenti

Intregrazione con le funzioni di ricerca in Windows Phone 7.1 (#41)
| Condividi su: Twitter, Facebook, LinkedIn

Per inserire un commento, devi avere un account.

Fai il login e torna a questa pagina, oppure registrati alla nostra community.

Approfondimenti

I più letti di oggi