PUBBLICAZIONE SUL WEB

1

Stats

774 visits, 1,129 views

Tools

License

This tutorial is licensed under CC BY 4.0. Please refer to the license text if you wish to reuse, share or remix the content contained within this tutorial.

Published on 18 May, 2023.

I progetti di costruzione sono basati su HTML5, il che li rende perfettamente adatti per la pubblicazione sul Web. Questa guida include alcune informazioni utili da sapere quando si pubblicano giochi Construct online.

Per pubblicare sul Web, utilizzare l'opzione Web (HTML5) durante l'esportazione. Al termine dell'esportazione, otterrai un file zip che contiene tutti i file da caricare.

I GIOCHI ESPORTATI NON FUNZIONERANNO FINCHÉ NON LI CARICHI

I giochi non funzioneranno se li esegui dal disco. Se estrai lo zip esportato sul tuo computer e fai doppio clic sull'indice.html per eseguirlo, il gioco inizierà a utilizzare un URL file:/// anziché un URL http:// o https://, poiché il gioco è su disco e non su un server. Per motivi di sicurezza, i browser hanno alcune rigide limitazioni su ciò che può essere fatto in una pagina Web da un URL file:/// e questi di solito impediscono il funzionamento dei giochi Construct. Il flusso di lavoro migliore consiste nel testare l'anteprima in Construct durante lo sviluppo e quindi pubblicare immediatamente il gioco sul Web dopo l'esportazione. Se esegui un gioco dal disco, potresti vedere una finestra di messaggio che ti ricorda questo ("i giochi esportati non funzioneranno finché non li carichi").

Se hai davvero bisogno che il tuo gioco venga eseguito dal desktop, usa invece un'opzione di esportazione desktop. Se hai bisogno di eseguire il test su dispositivi mobili, puoi utilizzare Remote Preview invece di dover esportare ripetutamente.

HOSTING LOCALE

Gli utenti avanzati potrebbero prendere in considerazione l'esecuzione di un server HTTP locale con un server come nginx o Caddy. Questi sono relativamente facili da configurare per servire il contenuto di una cartella sul tuo computer a un URL come http://localhost:8080. Quindi puoi semplicemente copiare il progetto esportato nella cartella del server e caricarlo in un browser. Il gioco funzionerà poiché è in esecuzione su un URL HTTP.

CARICAMENTO SUL WEB

Avrai bisogno di un server web su cui caricare il tuo gioco. Se non ne hai uno, ci sono molti servizi in cui puoi noleggiare un host di file statici economico. I passaggi specifici per caricare i file sul server dipendono dall'host. Se hai bisogno di aiuto per scoprire come farlo, contatta il tuo host. Il processo a volte coinvolge strumenti come FTP, Desktop remoto o uno strumento sul sito Web dell'host. In alternativa puoi esportare in Scirra Arcade che ospita il tuo gioco per te.

I servizi di archiviazione come Google Drive, Dropbox e OneDrive non sono server web. Sono solo servizi di archiviazione di file. Non puoi usarli per pubblicare il tuo gioco.

Ci sono molti servizi possibili là fuori che potresti usare. Due possibilità sono: Netlify Drop e Static.app, entrambi consentono di trascinare e rilasciare alcuni file per l'hosting istantaneo.

Una volta caricato, dovresti avere un link che puoi condividere e iniziare a pubblicizzare il tuo gioco! Se hai progettato il tuo gioco con i controlli touch, dovrebbe funzionare bene anche sui browser mobili.

È comune commettere un errore durante il caricamento dei file. Se dimentichi di caricare un file o una cartella, il gioco potrebbe interrompersi. Se il tuo gioco non sembra funzionare una volta caricato, Verificare la presenza di errori del browser e speriamo che ci sia un messaggio utile (ad esempio "myfile.png restituito 404 non trovato", indicando che hai dimenticato di caricare myfile.png).

IMPOSTAZIONE DEI TIPI MIME

Affinché tutte le funzionalità funzionino correttamente, il server Web deve avere i tipi MIME corretti impostati. Questo è un modo per associare estensioni di file (come .png) a un tipo di contenuto (come immagine / png). Se il server non conosce alcune estensioni di file utilizzate da Construct, può restituire 404 Not Found per il file o interpretare il file in modo errato e danneggiarlo. Per maggiori informazioni consultare la voce manuale su Tipi MIME.

UTILIZZARE L'HOSTING SICURO

Molte funzionalità di Construct richiedono un hosting sicuro per funzionare. Ciò significa ospitare il tuo sito web su HTTPS (con https:// nell'URL), piuttosto che HTTP non sicuro (con http:// nell'URL). Per esempio Supporto offline, a schermo intero, accesso alla geolocalizzazione, accesso alla fotocamera / microfono e molte altre funzionalità richiedono tutte l'hosting HTTPS per funzionare correttamente. È probabile che in futuro ancora più funzionalità richiederanno un hosting sicuro.

Al giorno d'oggi qualsiasi nuovo server configurato dovrebbe essere sicuro fin dall'inizio. Se si dispone di siti Web non sicuri esistenti, è necessario iniziare ad aggiornarli per essere sicuri.

Se il tuo sito web non è già sicuro, contatta il tuo host per assistenza per assicurarti che sia sicuro. Potrebbe essere necessario pagare per acquistare un certificato. In alternativa il Let's Encrypt Il servizio consente di ottenere certificati gratuiti.

BLOCCO DEL DOMINIO

Se si desidera limitare il gioco al solo utilizzo di determinati siti Web, è sufficiente confrontare l'espressione nell'oggetto Browser. Ad esempio, se si ospita su mywebsite.com/mygame/, l'espressione Domain verrà mywebsite.com. Puoi fare in modo che il gioco si rifiuti di giocare se questo valore non proviene da un sito Web che controlli. (Nota che la modalità di anteprima viene eseguita su preview.construct.net, quindi probabilmente dovresti consentire anche questo dominio!) Questo rende leggermente più difficile per qualcuno copiare il tuo gioco. Nota che questo controllo - qualsiasi altro tipo di controllo implementato - può ancora essere aggirato. Come per molti problemi di sicurezza, l'obiettivo è principalmente quello di renderlo più difficile da copiare, piuttosto che renderlo completamente impossibile (che è spesso irrealizzabile).Browser.Domain

RICHIESTE TRA DOMINI

Se il gioco carica contenuto da un altro dominio, si tratta della cosiddetta richiesta tra domini e alcune limitazioni di sicurezza possono influire sull'autorizzazione della richiesta. Ad esempio, se il gioco è ospitato su mywebsite.com e tenta di caricare contenuto da otherwebsite.com, la richiesta potrebbe essere bloccata e il caricamento potrebbe non riuscire. Ciò può influire sulle richieste AJAX, sul caricamento di immagini in oggetti come Sprite, sulla riproduzione di video o su qualsiasi altra volta che carichi contenuto da un URL.

I browser limitano le richieste in base al dominio, allo schema e alla porta. Insieme questi sono indicati come un'origine. Le richieste ad altre origini richiedono Condivisione delle risorse tra origini (CORS) da impostare, altrimenti il browser potrebbe essere bloccato. In genere ciò comporta l'invio dell'intestazione HTTP nella risposta del server che ospita il contenuto. Se questa intestazione consente la richiesta, può avere esito positivo. Le richieste possono essere limitate a determinate origini oppure è possibile utilizzare la seguente intestazione per consentire le richieste da qualsiasi server:Access-Control-Allow-Origin

Access-Control-Allow-Origin: *

Non farlo per nulla di sensibile alla sicurezza (come le informazioni del profilo) poiché consente l'accesso al contenuto da qualsiasi sito Web su Internet! Tuttavia, in genere è sicuro per i file statici che si desidera semplicemente condividere tra domini.

L'anteprima di Construct viene eseguita su preview.construct.net. Se si desidera che le richieste tra domini abbiano esito positivo in modalità anteprima, è necessario assicurarsi che anche questa origine sia consentita.

INCORPORAMENTO

Se si desidera incorporare un gioco all'interno di un'altra pagina Web, è possibile visualizzarlo utilizzando un elemento iframe. Basta puntare l'iframe all'indirizzo web del gioco. Per esempio:

<iframe src="https://www.mywebsite.com/mygame/" width="600" height="400" scrolling="no" noresize="noresize" />

Questo creerà un iframe di dimensioni fisse (600x400) all'interno del quale apparirà il gioco. Per impostazione predefinita, il gioco verrà ridimensionato automaticamente per riempire qualsiasi dimensione sia impostata sull'iframe. Tuttavia, se si tratta di un gioco di dimensioni fisse, assicurati che gli attributi width e height del tag iframe corrispondano alle dimensioni del viewport del gioco.

Gli attributi e sono necessari per garantire che l'iframe venga visualizzato alle dimensioni corrette su alcune versioni di iOS.scrollingnoresize

CONSENTIRE LO SCHERMO INTERO

È ancora possibile per i giochi all'interno degli iframe passare alla modalità a schermo intero, dove occupa l'intero display. Per supportare questa operazione, il gioco non deve avere dimensioni fisse (la modalità a schermo intero non deve essere disattivata). Quindi utilizzare il comando Oggetto browser's Richiedi azione a schermo intero nel gioco.

La maggior parte dei browser limita la richiesta a schermo intero al funzionamento solo nei trigger di input dell'utente, ad esempio Pulsante On selezionato, Clic del mouse, Su oggetto toccato e così via. Questo per evitare che le pagine web si rendano a schermo intero quando l'utente non lo voleva.

Infine, è necessario aggiungere l'attributo al tag iframe in questo modo:allowfullscreen

<iframe src="https://www.mywebsite.com/mygame/" allowfullscreen="true" width="600" height="400" scrolling="no" noresize="noresize" />

Con tutto ciò in atto, il tuo gioco iframed dovrebbe ora essere in grado di "scoppiare" in modalità a schermo intero!

SANDBOXING

Se si esegue una sala giochi o si desidera assicurarsi che i giochi siano isolati dalla pagina principale, il punto più importante è eseguire i giochi su un'origine diversa dalla pagina principale. Ad esempio, se la pagina principale è su https://www.myarcadesite.com, l'iframe dovrebbe puntare a giochi ospitati su un'altra origine come games.myarcadesite.com. La politica di sicurezza della stessa origine del browser impedirà ai giochi di accedere a qualsiasi spazio di archiviazione o contenuto sul dominio myarcadesite.com.

Per un ulteriore isolamento, è possibile utilizzare l'attributo del tag iframe. Ciò consente un ulteriore blocco di funzionalità come l'apertura di popup, la navigazione nel frame superiore e così via. Per ulteriori informazioni, consultare la sandboxTag iframe su MDN. Per l'esecuzione del codice JavaScript del gioco, l'attributo sandbox deve contenere almeno l'attributo sandbox. Se il gioco ha un'origine diversa dalla pagina principale, puoi anche usare .allow-scriptsallow-same-origin

Non utilizzare un attributo sandbox sia con allow-scripts che allow-same-origin se il contenuto dell'iframe si trova nella stessa origine della pagina principale. In questo caso l'iframe ha il permesso di rimuovere semplicemente l'attributo sandbox, quindi non migliora affatto la sicurezza. Tuttavia è ancora sicuro se il contenuto dell'iframe è su un'origine diversa.

CONTROLLO DELL'INQUADRATURA

Potresti voler limitare i siti web autorizzati a visualizzare il tuo gioco in un iframe. In alternativa, potresti voler bloccare la possibilità di visualizzare il tuo gioco in un iframe, assicurandoti che possa essere giocato solo quando visiti direttamente il suo URL.

Nei browser moderni, è possibile controllare questo inviando un'intestazione HTTP con un Content-Security-Policyantenati del telaio direttiva. Ad esempio, potete impostare questa opzione in modo da bloccare completamente l'inquadratura o specificare un'origine per consentire solo a quella pagina di visualizzare il contenuto in un frame.'none'

Per i browser più vecchi è possibile ottenere risultati simili con il Opzioni X-Frame Intestazione HTTP.

  • 0 Comments

Want to leave a comment? Login or Register an account!