Amazon Simple Notification Service - AWSMobile SDK for Unity

LaAWSMobile SDK for Unity è ora incluso nel kit SDK MobileAWS SDK for .NET. Questa guida fa riferimento alla versione archiviata dell'SDK Mobile per Unity. Per ulteriori informazioni, consultaChe cos'è ?AWSMobile SDK for Unity?

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Amazon Simple Notification Service

Utilizzando Amazon Simple Notification Service (SNS) e Unity SDK, puoi scrivere app iOS e Android in grado di ricevere notifiche push mobili. Per informazioni su SNS, consultaAmazon Simple Notification Service.

Questo argomento ti guiderà nella configurazione dell'app di esempio AWS SDK for Unity, SNSExample.unity, per ricevere notifiche push mobili tramite Amazon SNS.

È possibile creare app iOS e Android utilizzando l'esempio SNSExample.unity. I passaggi di configurazione sono diversi tra iOS e Android, leggi la sezione appropriata di seguito per la piattaforma che stai prendendo di mira.

Prerequisiti

Per utilizzare questa soluzione sono necessari i prerequisiti riportati di seguito.

Impostazione delle autorizzazioni per SNS

Quando crei un Cognito Identity Pool vengono generati due ruoli IAM:

  • Cognito/_ <Identity-Pool-Name>Autore_DefaultRole- il ruolo IAM predefinito per gli utenti autenticati

  • Cognito/_ <Identity-Pool-Name>Non autore_DefaultRole- il ruolo IAM predefinito per utenti autenticati

È necessario aggiungere autorizzazioni per accedere al servizio Amazon SNS a questi ruoli. Per farlo:

  1. Passare alla barra degli strumentiConsole IAMe seleziona il ruolo IAM da configurare.

  2. Fare clic suCollegamento della policy, seleziona Amazon SNSFullAccesspolicy e cliccaCollegamento della policy.

Nota

Utilizzo di Amazon SNSFullAccessNon è raccomandato in un ambiente di produzione, lo usiamo qui per consentirti di funzionare rapidamente. Per ulteriori informazioni sulla specifica delle autorizzazioni per un ruolo IAM, consultaPanoramica delle autorizzazioni del ruolo IAM.

Prerequisiti iOS

  • Iscrizione al programma Apple iOS Developer

  • Genera un'identità di firma

  • Creare un profilo di provisioning configurato per le notifiche push

Dovrai eseguire l'app su un dispositivo fisico per ricevere notifiche push. Per eseguire la tua app su un dispositivo devi avere un abbonamento alIscrizione al programma per sviluppatori Apple iOS. Una volta ottenuto l'iscrizione, è possibile utilizzare Xcode per generare un'identità di firma. Per ulteriori informazioni, consulta AppleQuick Start della distribuzione appdocumentazione. Successivamente avrai bisogno di un profilo di provisioning configurato per le notifiche push per ulteriori informazioni, consulta AppleConfigurazione delle notifiche pushdocumentazione.

Prerequisiti Android

  • Installare l'SDK Android

  • Installare il JDK

  • android-support-v4.jar

  • google-play-services.jar

Configurazione dell'app Unity Sample per iOS

Apri l'editor Unity e creane uno nuovo. Importa il pacchetto AWS SDK for Unity selezionandoAsset/Import Package/Pacchetto personalizzatoe selezioneaws-unity-sdk- pacchetto sns-2.0.0.1.unity. Assicurati che tutti gli articoli presentiImportazione di pacchettila finestra di dialogo è selezionata e fai clicImporta.

Configurazione delle

Esegui la procedura seguente per configurare il progetto Unity:

  1. NellaProgettoriquadro, passa aAsset/AWSSDK/esempie apri la scena SNSEample.

  2. NellaHIERARCHYriquadro, selezionare SNSEample.

  3. Nella✓Inspectoril riquadro specifica l'ID del pool di identità Cognito.

  4. Si noti che c'è una casella di testo perARN dell'applicazione della piattaforma iOS, genererai queste informazioni in un secondo momento.

  5. SelezionaFile/Creazione delle impostazioni, nelCreazione delle impostazionifinestra di dialogo, fai clic sulAggiungi correntepulsante sotto la barra degli strumentiCreazione di scenecasella di riepilogo per aggiungere la scena corrente alla build.

  6. UNDERPiattaformaselezionareiOSe clickImpostazioni lettore...pulsante, nelRiquadro controllodell'editor Unity, fai clic sull'icona dell'iPhone e scorri verso il basso fino alIdentificazionesezione e specifica aBundle Identifier (Identificatore bundle).

Configurazione iOS

Esegui la procedura seguente per configurare l'esempio per configurare le impostazioni specifiche per iOS:

  1. In un browser Web, passare allaCentro membri Apple Developer, clickCertificati, identificatori e profili.

  2. Fare clic suIdentificatori disottoApp iOS, fare clic sul pulsante più nell'angolo in alto a destra della pagina Web per aggiungere un nuovo ID app iOS e inserire una descrizione dell'ID app.

  3. Scorrere fino alla barra degli strumentiAggiungi suffisso IDsezione e selezionaID dell'app esplicitoe inserisci il tuo identificatore del bundle.

  4. Scorrere fino alla barra degli strumentiApp Servicessezione e selezionaNotifiche push.

  5. Fai clic sull'icona della barra degli strumentiContinuaPulsante.

  6. Fai clic sull'icona della barra degli strumentiInviaPulsante.

  7. Fai clic sull'icona della barra degli strumentiFattoPulsante.

  8. Seleziona l'ID app appena creato e fai clic sulModificarePulsante.

  9. Scorrere fino alla barra degli strumentiNotifiche pushsezione.

  10. Fai clic sull'icona della barra degli strumentiCreazione di certificatopulsante UNDERCertificato SSL di sviluppo.

  11. Segui le istruzioni per creare una richiesta di firma del certificato (CSR), carica la richiesta e scarica un certificato SSL che verrà utilizzato per comunicare con Apple Notification Service (APNS).

  12. Torna nella barra degli strumentiCertificati, identificatori e profilipagina web, fare clic suAll (Tutti)sottoProfili di provisioning.

  13. Fare clic sul pulsante più nell'angolo in alto a destra per aggiungere un nuovo profilo di provisioning.

  14. SelezionaSviluppo di app iOSe clickContinuaPulsante.

  15. Seleziona il tuo ID app e fai clic sulContinuaPulsante.

  16. Seleziona il tuo certificato sviluppatore e fai clic suContinuaPulsante.

  17. Seleziona il tuo dispositivo e fai clic suContinuaPulsante.

  18. Inserisci il nome di un profilo e fai clic sulGeneraPulsante.

  19. Scarica e fai doppio clic sul file di provisioning per installare il profilo di provisioning.

Dopo averne aggiunto uno nuovo, potrebbe essere necessario aggiornare i profili di provisioning in Xcode. In Xcode:

  1. Seleziona il pulsanteXcode/Preferenzevoce di menu.

  2. Seleziona il pulsanteAccountscheda, seleziona il tuo ID Apple e fai clic suConsulta i dettagli.

  3. Fare clic sul pulsante di aggiornamento nell'angolo in basso a sinistra della finestra di dialogo per aggiornare i profili di provisioning e assicurarsi che il nuovo profilo sia visualizzato.

Configurazione SNS

  1. EseguireKeyChainaccedi all'app, selezionaI miei certificatinella parte inferiore sinistra dello schermo, fare clic con il pulsante destro del mouse sul certificato SSL generato per connettersi a APNS e selezionareEsportazione, verrà richiesto di specificare un nome per il file e una password per proteggere il certificato. Il certificato verrà salvato in un file P12.

  2. In un browser Web passare allaConsole SNSe clickApplicazionisul lato sinistro dello schermo.

  3. Fare clic suCrea applicazione piattaformaper creare una nuova applicazione piattaforma SNS.

  4. Specificare unNome applicazione.

  5. SelezionaApple Push Notification Service Sandbox (APNS_SANDBOX)perPiattaforma delle notifiche push.

  6. Fare clic suScelta filee seleziona il file P12 creato quando hai esportato il certificato SSL.

  7. Immettere la password specificata all'esportazione del certificato SSL e fare clic suCarica credenziali da file.

  8. Fare clic suCrea applicazione piattaforma.

  9. Seleziona l'applicazione Platform appena creata e copia l'ARN dell'applicazione.

  10. Torna al tuo progetto in Unity Editor, selezionaEsempio SNSnellaHIERARCHYriquadro, nel✓Inspectorriquadro e incolla l'ARN applicazione piattaforma nella casella di testo con etichettaARN dell'applicazione della piattaforma iOS.

  11. SelezionaFile/Creazione delle impostazionie clickBuildpulsante questo creerà un progetto Xcode.

Utilizzo di Xcode

  1. Aprire il progetto Xcode e selezionare il progetto in Project Navigator.

  2. Verificare che l'identificatore del bundle sia impostato correttamente

  3. Verifica che il tuo account Apple Developer sia specificato nellaTeam- questa operazione è necessaria per rendere effettiva l'effetto del tuo profilo di provisioning.

  4. Costruisci il progetto ed eseguilo sul tuo dispositivo.

  5. Tocca il pulsanteRegistrati per la notifica, tapOKper consentire le notifiche, l'app visualizzerà il token del dispositivo

NellaConsole SNS, clickApplicazioni, seleziona l'applicazione della piattaforma e fai clic suCreazione di endpoint platforme inserisci il token del dispositivo visualizzato dall'app.

A questo punto la tua app, APNS e NSN sono completamente configurati. È possibile selezionare l'applicazione della piattaforma, selezionare l'endpoint e fare clic suPubblicazione su endpointper inviare una notifica push al dispositivo.

Esempio Unity (iOS)

Il campione crea un CognitoAWSCredentialsistanza per generare credenziali temporanee a portata limitata che consentono all'app di chiamare i servizi AWS. Crea anche un'istanza diAmazonSimpleNotificationServiceClient per comunicare con SNS. L'app mostra due pulsanti etichettatiRegistrati per la notificaeAnnulla la registrazione.

QuandoRegistrati per le notificheil pulsante è toccato, ilRegisterDevice()viene chiamato il metodo.RegisterDevice()chiamateUnityEngine.iOS.NotificationServices.RegisterForNotifications, che specifica quali tipi di notifica (avviso, suono o badge) verranno utilizzati. Effettua anche una chiamata asincrona ad APNS per ottenere un token del dispositivo. Poiché non è definito alcun callback,CheckForDeviceTokenviene chiamato ripetutamente (fino a 10 volte) per verificare la presenza del token del dispositivo.

Quando viene recuperato un tokenAmazonSimpleNotificationServiceClient.CreatePlatformEndpointAsync()viene chiamato per creare un endpoint per l'applicazione della piattaforma SNS.

Il campione è ora configurato per ricevere notifiche push. È possibile navigare verso ilConsole SNS, clickApplicazionisul lato sinistro della pagina, seleziona l'applicazione piattaforma, seleziona un endpoint e fai clic suPubblicazione su endpoint. Seleziona l'endpoint da usare e fai clic suPubblicazione su endpoint. Digita un messaggio di testo nella casella di testo e fai clic suPubblica un messaggioPer pubblicare un messaggio.

Configurazione dell'app Unity Sample per Android

Apri l'editor Unity e creane uno nuovo. Importa il pacchetto AWS SDK for Unity selezionandoAsset/Import Package/Pacchetto personalizzatoe selezioneaws-unity-sdk- pacchetto sns-2.0.0.1.unity. Assicurati che tutti gli articoli presentiImportazione di pacchettila finestra di dialogo è selezionata e fai clicImporta.

Configurazione delle

Esegui la procedura seguente per configurare il progetto Unity:

  1. NellaProgettoriquadro, passa aAsset/AWSSDK/esempie apri la scena SNSEample.

  2. NellaHIERARCHYriquadro, selezionare SNSEample.

  3. Nella✓Inspectoril riquadro specifica l'ID del pool di identità Cognito.

  4. Si noti che c'è una casella di testo perApplicazione piattaforma Android ARNeID progetto Google Console, genererai queste informazioni in un secondo momento.

  5. SelezionaFile/Creazione delle impostazioni, nelCreazione delle impostazionifinestra di dialogo, fai clic sulAggiungi correntepulsante sotto la barra degli strumentiCreazione di scenecasella di riepilogo per aggiungere la scena corrente alla build.

  6. UNDERPiattaformaselezionareAndroidFare clic sulla barra degli strumentiImpostazioni lettore...pulsante, nelRiquadro controllodell'editor Unity, fai clic sull'icona Android e scorri verso il basso fino alIdentificazionesezione e specifica aBundle Identifier (Identificatore bundle).

  7. Copy (Copia)android-support-v4.jar egoogle-play-services.jar nelAsset/Plug-in/Androiddirectory nella barra degli strumentiProgettoRiquadro.

Per ulteriori informazioni su dove trovareandroid-support-v4.jar, vedereInstallazione della libreria di Support Android. Per ulteriori informazioni su come trovaregoogle-play-services.jar, vedereAPI di Google per Android.

Configurazione Android

Per prima cosa aggiungi un nuovo progetto Google API:

  1. In un browser Web, passare allaGoogle Developer Console, clickCreazione di un progetto.

  2. NellaNuovo progettocasella, inserisci il nome di un progetto, prendi nota del numero del progetto (ne avrai bisogno in seguito) e fai clic suCreate.

In seguito, abilita il servizio Google Cloud Messaging (GCM) per il tuo progetto:

  1. Nella Google Developers Console, il nuovo progetto dovrebbe già essere selezionato, in caso contrario, selezionarlo nel menu a discesa nella parte superiore della pagina.

  2. SelezionaAPI e autenticazionedalla barra laterale sul lato sinistro della pagina.

  3. Nella casella di ricerca, digita «Google Cloud Messaging per Android» e fai clic sulGoogle Cloud Messaging per Androidlink qui di seguito.

  4. Fare clic suAbilitazione dell'API.

Finalmente ottieni una chiave API:

  1. Nella Google Developers Console, selezionaAPI e autenticazione >Credenziali.

  2. UNDERAccesso alle API pubbliche, clickCreazione di una nuova chiave.

  3. NellaCreazione di una nuova chiavefinestra di dialogo, fai clicChiave server.

  4. Nella finestra di dialogo risultante, fai clic suCreatee copia la chiave API visualizzata.

Utilizzerai la chiave API per eseguire l'autenticazione in un secondo momento.

Configurazione SNS

  1. In un browser Web passare allaConsole SNSe clickApplicazionisul lato sinistro dello schermo.

  2. Fare clic suCrea applicazione piattaformaper creare una nuova applicazione piattaforma SNS.

  3. Specificare unNome applicazione

  4. SelezionaGoogle Cloud Messaging (GCM)perPiattaforma delle notifiche push

  5. Incolla la chiave API nella casella di testo con etichettaChiave API.

  6. Fare clic suCrea applicazione piattaforma

  7. Seleziona l'applicazione Platform appena creata e copia l'ARN dell'applicazione.

  8. Torna al tuo progetto in Unity Editor, selezionaEsempio SNSnellaHIERARCHYriquadro, nel✓Inspectorriquadro e incolla l'ARN applicazione piattaforma nella casella di testo con etichettaApplicazione piattaforma Android ARNe il numero del progetto nella casella di testo con etichettaID progetto Google Console.

  9. Connect del dispositivo Android al computer, selezionaFile/Creazione delle impostazioniFare clic sulla barra degli strumentiCreazione ed esecuzione.

Esempio Unity (Android)

Il campione crea un CognitoAWSCredentialsistanza per generare credenziali temporanee a portata limitata che consentono all'app di chiamare i servizi AWS. Crea anche un'istanza diAmazonSimpleNotificationServiceClient per comunicare con SNS.

L'app mostra due pulsanti etichettatiRegistrati per la notificaeAnnulla la registrazione. QuandoRegistrati per le notificheil pulsante è toccato, ilRegisterDevice()viene chiamato il metodo.RegisterDevice()chiamateGCM.Register, che registra l'app con GCM. GCM è una classe definita all'interno del codice di esempio. Effettua una chiamata asincrona per registrare l'app con GCM.

Quando viene chiamato il callbackAmazonSimpleNotificationServiceClient.CreatePlatformEndpointAsyncviene chiamato per creare un endpoint della piattaforma per ricevere messaggi SNS.

Il campione è ora configurato per ricevere notifiche push. È possibile navigare verso ilConsole SNS, clickApplicazionisul lato sinistro della pagina, seleziona l'applicazione piattaforma, seleziona un endpoint e fai clic suPubblicazione su endpoint. Seleziona l'endpoint da usare e fai clic suPubblicazione su endpoint. Digita un messaggio di testo nella casella di testo e fai clic suPubblica un messaggioPer pubblicare un messaggio.