VENDITE: 1-800-867-1389

Esercitazione sull'hub notifiche di Service Bus (app per iOS)

noteNota
Gli hub notifiche sono disponibili in Service Bus di Windows Azure come funzionalità in anteprima dal mese di gennaio 2013. Il passaggio alla fase GA (General Availability) è previsto entro la metà del 2013.

noteNota
Per effetto dei miglioramenti apportati agli hub notifiche, l'SDK scaricato prima del mese di aprile 2013 non sarà compatibile con i nuovi hub notifiche. Analogamente, l'SDK corrente non potrà essere utilizzato con hub notifiche creati prima del mese di aprile 2013. Per sfruttare al meglio le nuove funzionalità disponibili, tra cui il controllo della concorrenza ottimistica, si consiglia quindi di utilizzare i nuovi hub notifiche con il nuovo SDK. Il supporto per gli hub notifiche creati prima del mese di aprile 2013 terminerà con il passaggio alla fase GA degli hub notifiche.

Gli hub notifiche di Service Bus sono entità di Service Bus che consentono all'utente di inviare notifiche push dal dispositivo mediante piattaforme applicative di terze parti, ad esempio:

  • Servizi notifica Push Windows (WNS) per Windows 8

  • Servizio di notifiche push Apple (APNs)

  • Servizio Google Cloud Messaging (GCM)

A breve sarà disponibile anche il supporto per il Servizio notifica Push Microsoft (MPNS) per Windows Phone.

In questa esercitazione vengono illustrate le procedure relative alla configurazione di un'applicazione per iOS e un'applicazione .NET semplice che trasmettono notifiche tramite il servizio di notifiche push Apple.

Di seguito viene illustrata la procedura da seguire:

  1. Generare la richiesta di firma del certificato per attivare il servizio APNs per l'app.

  2. Registrare l'app per iOS nel portale di provisioning iOS per abilitare le notifiche push e ottenere il profilo di credenziali e provisioning.

  3. Creare un profilo di provisioning per l'app.

  4. Creazione e configurazione di un hub notifiche

  5. Configurare l'app per iOS per la ricezione di notifiche push da un hub notifiche.

  6. Creare un programma di back-end per la trasmissione di una notifica push.

Sono inoltre disponibili l'argomento dettagliato Procedura: Hub notifiche di Service Bus (app per iOS) e la panoramica Hub notifiche di Windows Azure Service Bus.

Prerequisiti

Per eseguire le attività illustrate in questa esercitazione è necessario quanto segue:

  • Account per sviluppatori Apple.

  • Service Bus .NET Preview SDK. L'SDK è un pacchetto NuGet che contiene le funzionalità di anteprima di Service Bus e può essere scaricato direttamente da qui. Il pacchetto è denominato ServiceBus preview features e contiene la nuova libreria di Service Bus Microsoft.ServiceBus.Preview.dll. Per l'utilizzo degli hub notifiche, è necessaria questa libreria anziché la versione di produzione (Microsoft.ServiceBus.dll).

  • Framework Service Bus iOS SDK, scaricabile direttamente da qui.

Generazione della richiesta di firma del certificato

  1. Generare innanzitutto il file della richiesta di firma del certificato (CSR, Certificate Signing Request), che viene utilizzato da Apple per la generazione di un certificato firmato.

  2. Dalla cartella Utility eseguire lo strumento Accesso Portachiavi.

  3. Fare clic su Accesso Portachiavi, espandere Assistente Certificato, quindi fare clic su Richiedi un certificato da una Autorità di Certificazione.

    richiesta di firma del certificato
  4. Fare clic su Indirizzo e-mail utente, digitare i valori per Nome comune e Indirizzo e-mail CA, assicurarsi che l'opzione Salvata su disco sia selezionata, quindi fare clic su Continua.

    informazioni certificato
  5. Digitare un nome per il file della richiesta di firma del certificato (CSR) in Salva col nome, selezionare il percorso in Percorso, quindi fare clic su Salva. In seguito a questa operazione il file CSR viene salvato nel percorso selezionato. Il percorso predefinito è Scrivania. Tenere presente il percorso scelto per il file.

    richiesta di firma del certificato
  6. Successivamente, registrare l'app con Apple, abilitare le notifiche push e caricare il file CSR esportato per creare un certificato push.

Registrazione dell'app e abilitazione delle notifiche push

  1. Per poter inviare notifiche push a un'app per iOS, registrare l'applicazione con Apple ed eseguire un'ulteriore registrazione per abilitare le notifiche push.

  2. Se l'app non è ancora stata registrata, accedere al portale di provisioning iOS su Apple Developer Center, eseguire l'accesso con il proprio ID Apple, fare clic su App IDs, quindi fare clic su New App ID.

    Portale di provisioning di iOS
  3. In Description digitare un nome per l'app, immettere il valore ServiceBus.Tutorial in Bundle Identifier, quindi fare clic su Submit.

    noteNota
    È necessario che l'identificatore di aggregazione sia lo stesso che è stato specificato nel progetto Xcode per l'app.

  4. Individuare l'ID dell'app creata, quindi fare clic su Configure.

  5. Selezionare la casella di controllo Enable for Apple Push Notification service, quindi fare clic su Configure per generare il certificato SSL push di sviluppo. Viene visualizzata la pagina Apple Push Notification service SSL Certificate Assistant.

    noteNota
    Per creare il certificato di produzione è possibile seguire la stessa procedura.

  6. Fare clic su Browse, passare al percorso in cui è stato salvato il file CSR creato durante la prima attività, quindi fare clic su Generate.

  7. Al termine della creazione del certificato, fare clic su Continue, quindi fare clic su Download nella schermata successiva. Il certificato firmato viene scaricato e salvato sul computer nella cartella Download con il nome aps_development.cer.

  8. Fare doppio clic sul certificato push scaricato aps_development.cer. Il nuovo certificato viene scaricato e installato in Portachiavi.

  9. In Accesso Portachiavi fare clic con il tasto destro del mouse sul nuovo certificato, scegliere Esporta, nominare il file come ServiceBusTutorial, selezionare il formato .p12, quindi fare clic su Salva.

    ImportantImportante
    Se l'estensione .p12 non è accettata dal portale, sostituirla con .pfx.

Creazione di un profilo di provisioning per l'app

  1. Tornare al portale di provisioning iOS, fare clic su Provisioning, quindi su New Profile.

  2. Immettere un nome profilo in Profile Name, selezionare i certificati e i dispositivi da utilizzare per eseguire il test, selezionare l'ID dell'app, quindi fare clic su Submit. Verrà creato un nuovo profilo di provisioning.

  3. Dall'elenco dei profili di provisioning, fare clic sul pulsante Download per il nuovo profilo. Il profilo verrà scaricato nel computer locale.

  4. In Xcode aprire l'Organizer e selezionare la visualizzazione Devices, selezionare Provisioning Profiles nella sezione Library nel riquadro a sinistra, quindi fare clic su Import nella parte inferiore del riquadro centrale.

  5. Individuare il profilo di provisioning scaricato, quindi fare clic su Open.

  6. In Targets fare clic sulla destinazione principale dell'app, che in genere corrisponde al nome dell'app, espandere Code Signing Identity, quindi selezionare il nuovo profilo in Debug. Per effetto di questa procedura, il progetto Xcode utilizzerà il nuovo profilo per la firma del codice.

Creazione di hub notifiche di Service Bus

Mediante il portale di gestione di Windows Azure è possibile creare un hub notifiche e configurarlo per l'invio di notifiche push a un'applicazione di Windows Store.

  1. Accedere al portale di gestione di Windows Azure (http://manage.windowsazure.com/)

  2. Nell'angolo in basso a sinistra fare clic su Nuovo.

  3. Fare clic su Servizi app, selezionare Service Bus, Hub notifiche, quindi Creazione rapida.

    Creare un hub di notifica di Service Bus
  4. Selezionare un nome per l'hub notifiche, un'area geografica e lo spazio dei nomi in cui creare l'hub notifiche. Se non sono disponibili spazi dei nomi, ne viene fornito uno nuovo con il nome specificato.

  5. Fare clic sul segno di spunta.

  6. Nella scheda Service Bus nel pannello di navigazione a sinistra, fare clic sullo spazio dei nomi creato. Nell'elenco verrà visualizzato l'hub notifiche.

    Hub di notifica di Service Bus
  7. Fare clic sull'hub notifiche, quindi sulla scheda Configura all'inizio.

    Hub di notifica di Service Bus
  8. Caricare il certificato APNs (ServiceBusTutorial.p12) con la relativa password. Non dimenticare di selezionare l'ambiente corrispondente per il certificato, ovvero di produzione o di sviluppo.

Creazione di un'app per iOS e registrazione per il servizio di notifiche push con Service Bus

Scaricare e fare riferimento al framework di Service Bus

  1. Scaricare Service Bus iOS Preview SDK.

  2. Trascinare la cartella WindowsAzureServiceBus.framework dal Finder nel progetto, selezionando la casella di controllo Copy items into destination group's folder (if needed).

Accedere a un hub notifiche

  1. Aggiungere la seguente direttiva import nella classe AppDelegate dell'app.

    #import <WindowsAzureMessaging/WindowsAzureMessaging.h>
    
  2. Scrivere il seguente codice nel metodo didFinishLaunchingWithOptions:

    [[UIApplication sharedApplication] registerForRemoteNotificationTypes: UIRemoteNotificationTypeAlert | UIRemoteNotificationTypeBadge | UIRemoteNotificationTypeSound];
    
  3. Nel portale di gestione di Windows Azure, fare clic su Service Bus nel pannello di navigazione a sinistra, quindi selezionare lo spazio dei nomi a destra. Prendere nota del nome dello spazio dei nomi.

  4. Fare clic sull'hub notifiche, quindi su Informazioni di connessione sulla barra degli strumenti nella parte inferiore della schermata.

    Hub di notifica di Service Bus
  5. Copiare la stringa di connessione per la chiave denominata DefaultListenSharedAccessSignature.

  6. In AppDelegate.m aggiungere il seguente metodo per creare una registrazione con modello per il dispositivo. Assicurarsi di sostituire la stringa di connessione con il valore copiato dal portale:

    (void)application:(UIApplication *)application didRegisterForRemoteNotificationsWithDeviceToken:(NSData *) deviceToken {    
        SBNotificationHub* hub = [[SBNotificationHub alloc] initWithConnectionString:
                                  @"<connection string>" notificationHubPath:@"mynh"];
        
        [hub registerNativeWithDeviceToken:deviceToken tags:nil completion:^(NSError* error) {
            if (error != nil) {
                NSLog(@"Error registering for notifications: %@", error);
            }
        }];
    }
    
  7. In AppDelegate.m aggiungere il seguente metodo per visualizzare un avviso UIAlert se si riceve una notifica in fase di esecuzione dell'app:

    - (void)application:(UIApplication *)application didReceiveRemoteNotification:
    (NSDictionary *)userInfo {
        NSLog(@"%@", userInfo);
        UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Notification" message:
        [userInfo objectForKey:@"inAppMessage"] delegate:nil cancelButtonTitle:
        @"OK" otherButtonTitles:nil, nil];
        [alert show];
    }
    

Nella sezione Procedura: Hub notifiche di Service Bus (app per iOS) sono disponibili ulteriori informazioni sull'esempio di codice precedente e sulle modalità di accesso alle funzionalità più avanzate degli hub notifiche dalle app per iOS.

Creazione di un back-end dell'app per l'invio di notifiche push

  1. In Visual Studio, creare un nuovo progetto, selezionare Visual C#->Windows->Applicazione console.

  2. In Esplora soluzioni fare clic con il pulsante destro del mouse su Riferimenti, quindi fare clic sull'opzione per la gestione dei pacchetti NuGet. Cercare il pacchetto ServiceBus preview features e installarlo.

  3. In Program.cs aggiungere il seguente codice all'inizio:

    using Microsoft.ServiceBus;
    using Microsoft.ServiceBus.Messaging;
    using Microsoft.ServiceBus.Notifications;
    
  4. Nel portale di gestione di Windows Azure, dal dashboard relativo all'hub notifiche, fare clic su Informazioni di connessione sulla barra degli strumenti nella parte inferiore della schermata.

    Hub di notifica di Service Bus
  5. Copiare la stringa di connessione per la chiave denominata DefaultFullSharedAccessSignature.

  6. In Program.cs incollare il codice riportato di seguito nel metodo Main(), sostituendo il segnaposto con la stringa di connessione copiata dal portale:

    var hubClient = NotificationHubClient.CreateClientFromConnectionString(“<connection string>, "myHub");
    var iosPayload = AppleNotificationJsonBuilder.Create("Hello!");
    iosPayload.CustomFields.Add("inAppMessage", "Hello!");
    hubClient.SendAppleNativeNotification(iosPayload.ToJsonString());
    

Esecuzione dell'app e invio di una notifica

  1. In Xcode, nell'angolo in alto a sinistra, fare clic su iOS Device.

ImportantImportante
Non è possibile utilizzare le notifiche push nel simulatore.

  1. Eseguire l'app sul dispositivo.

  2. In Visual Studio eseguire il programma di console.

  3. Sul dispositivo viene visualizzata una notifica.

Invio di notifiche con Node.js

  1. Installare il modulo del nodo di Azure:

    npm install azure
    
  2. Digitare il seguente codice nello script di un nodo o in una console interattiva:

    var azure = require('azure');
    var hub = azure.createNotificationHubService('<your hub name>', '<your connection string with full access>');
    hub.apns.send(null, '{ alert: "This is my toast message for iOS!"}');
    

Invio di notifiche con Mobile Services

Mobile Services consente di creare rapidamente un back-end per l'applicazione. È possibile utilizzare hub notifiche da Mobile Services per trasmettere notifiche a numerosi dispositivi o creare facilmente gruppi di interesse utilizzando tag.

In questa esercitazione le notifiche vengono inviate mediante un processo pianificato, ma è possibile utilizzare anche uno script sul lato server nel servizio mobile.

  1. Creare un nuovo servizio mobile oppure accedere a quello personale. Per ulteriori informazioni su Mobile Services, visitare la pagina Web dedicata.

  2. Fare clic su Utilità di pianificazione sulla barra degli strumenti nella parte superiore della schermata.

    Notifiche push
  3. Creare un nuovo processo pianificato, immettere un nome, quindi scegliere Su richiesta.

    Notifiche push
  4. Una volta creato il processo, fare clic sul relativo nome, quindi su Script sulla barra degli strumenti nella parte superiore della schermata.

  5. Immettere lo script riportato di seguito. Assicurarsi di sostituire i segnaposto con il nome dell'hub notifiche e la stringa di connessione associata a DefaultFullSharedAccessSignature ottenuti nel passaggio precedente. Fare clic su Salva.

    function PushToNotificationHub() {
        var azure = require('azure');
        
        var notificationHubService = azure.createNotificationHubService('<hub name>',
        '<connection string>');
    
        notificationHubService.hub.apple.send(
            null,
            {
                alert: "Hello from Mobile Services!"
            },
            function (error)
            {
                if (!error) {
                    console.warn("Notification successful");
                }
            }
        );
    }
    
  6. Fare clic su Esegui una volta sulla barra degli strumenti nella parte inferiore della schermata.

noteNota
In Mobile Services viene utilizzato Windows Azure SDK per l'accesso di Node.js agli hub notifiche. Per ulteriori informazioni su Windows Azure SDK per Node.js con gli hub notifiche, visitare la pagina Web dedicata.

In modo analogo al caso precedente, se vengono registrate 10.000 istanze client, l'hub notifiche crea e invia 10.000 copie della notifica ed esegue la gestione delle registrazioni e degli errori, come previsto.

Passaggi successivi

Gli hub notifiche forniscono ulteriori funzionalità utili. Per ulteriori informazioni sugli hub notifiche, fare riferimento ai seguenti argomenti.

Il documento è risultato utile?
(1500 caratteri rimanenti)
Grazie per i commenti inviati.

Aggiunte alla community

Mostra:
© 2015 Microsoft