Nessun risultato. Prova con un altro termine.
Guide
Notizie
Software
Tutorial

Pubblicare un gioco su Windows Phone Store

Esportare il gioco da Unity e creare una applicazione Windows Phone da poter caricare e vendere sul Windows Phone Store.
Esportare il gioco da Unity e creare una applicazione Windows Phone da poter caricare e vendere sul Windows Phone Store.
Link copiato negli appunti

Nella lezione precedente abbiamo visto come pubblicare il nostro gioco su Windows Store e potenzialmente venderlo agli utenti di device Windows 8.1. In questa lezione invece vediamo come esportare il nostro gioco per Windows Phone 8, come pubblicarlo sul Windows Phone Store e renderlo disponibile ai possessori di device Windows Phone 8.

Il Windows Phone Store fornisce alle applicazioni l'ecosistema che permette loro di essere valutate e acquistate da milioni di utenti. Vediamo allora la procedura che ci consente di pubblicare qualunque gioco realizzato con Unity, oltre che l'esempio proposto in queste pagine.

Gestire il tasto Indietro (Back Button)

Tutti i dispositivi Windows Phone hanno il tasto indietro. Si tratta della freccetta sulla sinistra in basso nella pulsantiera.

Quindi un requisito necessario per la pubblicazione sul Windows Phone Store è quello di gestire questo bottone. Fortunatamente non è un'impresa difficile.

Unity fornisce una serie di strumenti per gestire l'input da tastiera, come abbiamo visto. Il tasto Indietro su Windows Phone 8 è mappato esattamente sul tasto Escape delle tastiere tradizionali. Quindi per implementare la logica del bottone Indietro ci basterà gestire l'evento di pressione del tasto Escape.

Una soluzione può essere quella di aggiungere un nuovo Script che gestisca l'evento Escape e che prenda decisioni in base al punto, o meglio alla scena in cui ci si trova alla pressione del tasto.

Creiamo quindi un nuovo script e lo chiamiamo BackButtonController:

using UnityEngine;
using System.Collections;
public class BackButtonController : MonoBehaviour {
	void Start () {	}
	void Update () {
        // verifica la pressione del back button
        if (Input.GetKeyDown(KeyCode.Escape))
        {
            if (Application.loadedLevelName == "gameOver")
                Application.Quit();
            else
                Application.LoadLevel("gameOver"); // cambio di scena
        }
	}
}

Nel nostro caso abbiamo implementato un semplice controllo che, una volta premuto il tasto indietro, riporta il giocatore alla scena di Game Over se si trova sulla scena del gioco. In altri casi potremmo far sì che il tasto indietro porti l'utente dalla scena di gioco alla scena del menu principale per esempio.

Se invece il giocatore è già sulla scena di Game Over (oppure su un ipotetico menu principale) la pressione del tasto Indietro causa l'uscita dall'applicazione.

Nota: il metodo Quit() non ha nessun effetto nella simulazione (quando premiamo il tasto play), lo vedremo all'opera dopo aver installato l'app sul telefono.

Non ci resta che trascinare il nostro script sull'oggetto controller di ogni scena, nel nostro caso lo trascineremo prima sulla Main camera della scena gameScene, poi faremo lo stesso sulla Main Camera della scena gameOver.

Impostare le opzioni di pubblicazione in Unity ed esportare il progetto

Per fare un esempio concreto riprendiamo il progetto che abbiamo creato nelle lezioni precedenti in Unity e clicchiamo su File > Build Settings.. per modificare le impostazioni di esportazione del progetto:

Selezioniamo Windows Phone 8 e clicchiamo su Switch Platform. Ora la piattaforma principale di esportazione del gioco è Windows Phone 8, ma possiamo sempre esportare la nostra creazione su altre piattaforme.

Clicchiamo poi su Player Settings... per accedere alle impostazioni dell'applicazione. Qui impostiamo l'orientamento di default su Auto Rotation e indichiamo le orientazioni che indendiamo supportare (solo landscape per il nostro esempio):

Ora clicchiamo il pulsante Build nella finestra Build Settings e selezioniamo una cartella in cui esportare la soluzione per Visual Studio, ad esempio "WindowsPhone8", all'interno della directory del progetto unity.

Una volta fatto, in pochi istanti (al più qualche minuto) otterremo la nostra soluzione e Unity dovrebbe aprire la directory in cui abbiamo effettuato l'esportazione.

Per accedere alla soluzione esportata avremo come al solito bisogno di Visual Studio 2013. Se non abbiamo installato Visual Studio 2013 sulla nostra macchina possiamo scaricare una delle versioni di prova (Ultimate, Professional, etc.) oppure le versioni Express, che sono gratuite. Per gli studenti, grazie a programmi come DreamSpark c'è la possibilità di accedere a licenze gratuite anche delle versioni a pagamento.

Apriamo quindi la soluzione Invad0rs e vediamo come generare l'assembly che ci servirà per sottoporre l'applicazione al Windows Phone Store.

All'interno della soluzione troviamo la cartella Asset, al suo interno possiamo modificare la splash screen cambiando il file SplashScreenImage.jpg, inoltre possiamo modificare le icone del gioco (che vedremo come tile sul telefono):

Ora testiamo l'applicazione facendola girare sia sull'emulatore di Visual Studio 2013, sia su un device fisico. Se vogliamo lanciare l'esecuzione sul telefono basterà connettere il device al computer e premere play in Visual Studio.

A questo punto dobbiamo impostare alcune proprietà per l'assembly che sarà generato. Clicchiamo su PROGETTO > Proprietà di Invad0rs

Nel tab Applicazione clicchiamo sul bottone "Informazioni sull'assembly":

Impostiamo la lingua su quella principale e se necessario modifichiamo il resto delle proprietà, poi clicchiamo su OK

Fatto ciò dobbiamo modificare le tile dell'applicazione (ovvero le icone che il giocatore troverà sul telefono). Torniamo alla cartella Assets della soluzione e modifichiamo il file ApplicationIcon.png, con l'unica accortezza di non modificare la risoluzione.

Lasciamo pure stare il file AlignmentGrid e spostiamoci a modificare i file della sottocartella Tiles

Aggiungere il supporto per la ripresa rapida dell'app (Fast App Resume)

Per semplicità, diciamo che il Fast App Resume permette la ripresa veloce del gioco, nel punto in cui l'abbiamo lasciato, nel caso in cui usciamo dall'applicazione premendo il tasto Windows o abbiamo ricevuto una telefonata.

Per governare questa transizione e il rilancio del gioco apriamo la soluzione, clicchiamo col tasto destro il file WMAppManifest.xaml (sotto la cartella Properties) e selezioniamo Visualizza codice:

<?xml version="1.0" encoding="utf-8"?>
<Deployment xmlns="http://schemas.microsoft.com/windowsphone/2012/deployment" AppPlatformVersion="8.0">
	<DefaultLanguage xmlns="" code="en-US" />
	<App xmlns="" ProductID="{8F1EA4A3-0B57-4556-970D-D27298EA5B45}" Title="SteamLands" RuntimeType="Silverlight" Version="1.0.0.0" Genre="apps.normal" Author="Crust Development" Description="You got lost in the wrong streets of SteamLands. Survive." Publisher="Crust Development" PublisherID="{36e0404a-2921-4b73-8632-3bf364496337}">
	<IconPath IsRelative="true" IsResource="false">Assets\ApplicationIcon.png</IconPath>
	<Capabilities>
		<Capability Name="ID_CAP_IDENTITY_DEVICE" />
		<Capability Name="ID_CAP_MEDIALIB_AUDIO" />
		<Capability Name="ID_CAP_MEDIALIB_PLAYBACK" />
		<Capability Name="ID_CAP_NETWORKING" />
		<Capability Name="ID_CAP_SENSORS" />
	</Capabilities>
	<Tasks>
		<DefaultTask Name="_default" NavigationPage="MainPage.xaml" />
	</Tasks>
	<!-- ... -->

All'inteno del nodo Tasks dobbiamo aggiungere un nuovo attributo alla voce DefaultTask per attivare il Fast App Resume (ActivationPolicy). Vediamo come modificare l'elemento:

<DefaultTask Name="_default" NavigationPage="MainPage.xaml" ActivationPolicy="Resume"/>

Tutto qui. Ora se mentre giochiamo premiamo il tasto Windows o facciamo una telefonata, poi premiamo di nuovo l'icona della nostra app per tornare al gioco, riprenderemo a giocare proprio dove avevamo lasciato.

Impostare la build come Master

Per i nostri test impostiamo il tipo di build su Master. Questo per evitare il messaggio "Development Build" in basso a destra nell'applicazione.

Testare la soluzione con lo Store Test Kit

Prima di poter inviare l'applicazione al Windows Phone Store la passiamo al vaglio dello Store Test, un tool che ci aiuterà a verificare che ci siano tutti gli elementi richiesti dallo Store. Clicchiamo su PROGETTO > apri Store Test Kit

Lanciamo i Test Automatizzati per essere certi di avere tutti requisiti per creare il file XAP.

Compiliamo la soluzione in modalità Release.

Troveremo poi il pacchetto nella cartella Bin della soluzione Visual Studio 2013 che abbiamo generato dal progetto Unity.

Sottoporre il nostro gioco per Windows Phone 8

Per iniziare andiamo su dev.windowsphone.com dove, se non l'abbiamo già fatto, possiamo registrare un account che ci abiliti a pubblicare applicazioni Windows Phone.

Una volta registrati e loggati, sottomettere l'applicazione sarà semplice. Sempre da dev.windowsphone.com clicchiamo su Dashboard, poi su SUBMIT APP.

Seguire i passaggi è piuttosto semplice, interessante è soprattutto il primo passaggio, in cui possiamo indicare il prezzo dell'applicazione, se creare una versione trial e decidere su quali mercati distribuirla.

Il secondo passaggio è quello di caricare il file XAP che abbiamo creato prima.

Dopodiché, clicchiamo su Review and submit per completare la sottomissione dell'app. Ci vorranno alcuni giorni e, se passeremo, avremo il nostro gioco sullo store, altrimenti sistemiamo le ultime cose e ...riproviamo!

Ti consigliamo anche