Questo documento utilizza i seguenti termini (in base al documento RFC 2119):
- devono e non devono: si tratta di requisiti rigidi che tutti i giochi sono tenuti a rispettare;
- dovrebbe e non dovrebbe: si tratta di consigli non obbligatori, ma che possono essere utilizzati per decidere come classificare o filtrare i giochi mostrati agli utenti. Ad esempio, se lo schermo dell'utente è orizzontale, GameSnacks può scegliere di consigliare solo giochi che supportano queste proporzioni.
- may: questi sono suggerimenti non obbligatori e non verranno utilizzati per filtrare i giochi, eccetto dove esplicitamente richiesto dall'utente. Ad esempio, le funzionalità future potrebbero consentire all'utente di visualizzare un elenco di giochi che supportano l'input del gamepad.
I seguenti requisiti si applicano al tuo gioco e alle sue risorse:
Struttura del gioco
Il gioco viene caricato come un gruppo di file che include il codice e le risorse di runtime del gioco stesso, le risorse di marketing per visualizzarlo nel catalogo di GameSnacks e un file game.json
in cui sono archiviati i metadati che descrivono il gioco e che elenca tutte le risorse nel bundle.
game.json
Il file di configurazione contenente i metadati del gioco.
- Il gioco deve includere un file
game.json
contenente tutti i campi obbligatori. - Questo file deve essere inserito nella directory principale del gioco.
Punto di ingresso HTML
Il documento HTML che carica il gioco.
- Il punto di ingresso deve essere un file HTML valido.
Questo file deve includere al massimo un elemento
head
e un elementobody
.- Entrambi gli elementi, se presenti, devono avere sia un tag di inizio sia un tag di fine.
I contenuti al di fuori di questi elementi e gli attributi di questi elementi verranno ignorati.
Anziché impostare gli attributi direttamente nell'elemento
body
, puoi utilizzare:onload
: evento di caricamento diWindow
style
: stili CSS
Files
Tutti i singoli file del bundle, incluso il gioco e le risorse di marketing associate, devono essere conformi a quanto segue:
- Ogni file deve avere dimensioni inferiori a 10 MiB.
- I file devono fare riferimento solo utilizzando percorsi relativi.
- I percorsi devono utilizzare solo
/
come separatore di directory. - I nomi dei file devono utilizzare solo caratteri non riservati (RFC 3986).
- I nomi dei file e tutti i percorsi devono essere in minuscolo.
Dimensioni del gioco
Le dimensioni del gioco corrispondono alle dimensioni totali di tutto il codice e le risorse scaricate sul dispositivo dell'utente.
- Le dimensioni del gioco non devono essere superiori a 100 MiB.
Requisiti tecnici
Il gioco deve essere conforme ai seguenti requisiti tecnici.
SDK GameSnacks
- Il tuo gioco deve essere integrato con l'SDK per sviluppatori GameSnacks e con tutte le interfacce obbligatorie.
- Il gioco non deve caricare direttamente le API per gli annunci (ad esempio inserendo un tag annunci
come adsbygoogle.js).
- GameSnacks caricherà tutti i servizi pubblicitari richiesti per te.
- Consulta i requisiti per la monetizzazione per ulteriori informazioni sul supporto degli annunci nel tuo gioco.
Compatibilità del browser
- Il gioco deve utilizzare l'API Canvas o WebGL per il rendering.
- Il gioco deve essere eseguito correttamente sulle due versioni principali più recenti dei seguenti browser:
- Chrome su Android, iOS, Windows e macOS
- Safari su iOS e macOS
- Firefox su Android e Windows
- Edge su Windows
- Il gioco deve funzionare correttamente nelle visualizzazioni web sulle versioni più recenti delle ultime due versioni principali di Android e iOS:
- WebView su Android
- WKWebView su iOS
- Il gioco deve essere testato con il maggior numero possibile di altri renderer web autonomi e incorporati.
Capacità minime del dispositivo
Il gioco deve funzionare correttamente su dispositivi di fascia bassa. Come riferimento, di seguito sono indicate le funzionalità minime del dispositivo richieste per i giochi GameSnacks.
Il gioco deve essere eseguito a una velocità minima di 30 f/s su qualsiasi dispositivo con le seguenti specifiche o migliori:
- CPU: Qualcomm 215, Samsung Exynos 7570, Mediatek MT6737 o simili
- RAM: 2 GiB
- GPU: ARM Mali-T720 MP1, Qualcomm Adreno 308 o simile
Esempi di telefoni che corrispondono a queste specifiche includono JioPhone Next, Nokia 1.4, LG K22, Samsung J2 Core e Motorola Moto E4
Dimensioni download iniziali
La dimensione di download iniziale è la quantità di dati che verrà scaricata sul client per avviare il gioco.
- Il download iniziale deve essere inferiore a 15 MiB.
- Il download iniziale deve essere inferiore a 5 MiB.
Requisiti funzionali
Il gioco deve essere conforme ai seguenti requisiti funzionali.
Tempo di caricamento
Il tempo di caricamento è il tempo impiegato per l'esecuzione iniziale del codice e l'avvio del gioco.
- Il gioco deve mostrare una schermata di caricamento o essere interattivo in meno di un secondo con una connessione di almeno 10 Mbps.
- Il gioco deve essere utilizzabile in meno di 15 secondi su qualsiasi connessione di almeno 10 Mbps.
Si verificano arresti anomali
- Il gioco non deve causare arresti anomali costantemente riproducibili.
- Il gioco non deve causare arresti anomali costantemente riproducibili nelle app o nei siti web in cui è incorporato.
Formato
GameSnacks creerà un frame in cui eseguire il rendering del tuo gioco. Le dimensioni e le proporzioni di questo frame varieranno in base alla superficie di distribuzione, al dispositivo e alla presenza di annunci posizionati intorno al gioco. Le dimensioni di questo frame possono cambiare se, ad esempio, un utente ridimensiona la finestra del browser.
- Il gioco deve utilizzare tutta l'area disponibile all'interno del frame per i contenuti interattivi, senza ulteriore spaziatura interna o riempimento.
- Il gioco deve supportare proporzioni verticali di 9:16.
- Il tuo gioco deve supportare proporzioni orizzontali 16:9.
- Il tuo gioco deve supportare proporzioni quadrate di 1:1.
- Idealmente, il tuo gioco dovrebbe essere reattivo e supportare un'ampia gamma di proporzioni verticali, orizzontali e quadrate.
- Quando le dimensioni del fotogramma cambiano, il gioco deve ridimensionarsi subito per soddisfare questi requisiti.
- Il gioco dovrebbe passare senza problemi alle nuove dimensioni.
- Il gioco non deve bloccare l'orientamento del browser.
Interazione di gioco
- Il gioco deve essere completamente utilizzabile tramite input tocco.
- Il gioco deve essere completamente utilizzabile con l'input del mouse.
- Il gioco deve essere completamente utilizzabile mediante l'input da tastiera.
- Il tuo gioco potrebbe essere interamente utilizzabile utilizzando l'input del gamepad.
- Tutti gli elementi dell'interfaccia utente visualizzati all'interno del gioco devono essere implementati e funzionare correttamente.
- Il gioco non deve includere controlli disattivati. Se una funzionalità non è disponibile, deve essere rimossa completamente dall'interfaccia utente.
- Sono incluse le richieste relative al premio; mostra una richiesta relativa al premio solo se viene chiamato il callback
beforeReward
per quell'interruzione pubblicitaria.
- Sono incluse le richieste relative al premio; mostra una richiesta relativa al premio solo se viene chiamato il callback
- Il gioco non deve mostrare richieste di condivisione in-game.
- Il gioco non deve mostrare UI o link in-game che indirizzano l'utente a giochi, siti o altri contenuti esterni.
- Il gioco deve comunicare chiaramente all'utente quando ha completato l'ultimo livello o terminato il gioco.
- Nel gioco non deve utilizzare parole come "compra" o "acquista" che potrebbero essere confuse con funzionalità di acquisto in-app non supportate per i giochi GameSnacks.
- Se il tuo gioco include feedback aptico, l'utente deve essere in grado di disattivarlo.
Startup di gioco
Il tuo gioco deve coordinarsi correttamente con il runtime di GameSnacks all'avvio.
L'interfaccia di GameSnacks Game
fornisce funzioni per segnalare lo stato di caricamento del gioco, tra cui:
firstFrameReady
quando sei pronto ad arrivare allo schermo per la prima volta e
ready
quando l'utente può iniziare a interagire con il gioco.
- Il gioco deve richiamare
firstFrameReady
quando il primo frame è pronto per essere visualizzato. - Il gioco deve chiamare
ready
quando è pronto per l'interazione da parte dell'utente. - Il gioco non deve chiamare
ready
se sono ancora visualizzati elementi non interattivi, ad esempio schermate iniziali o schermate di caricamento.
Controlli per la disattivazione dell'audio e gestione dei suoni
Il gioco deve rispettare i controlli audio della piattaforma GameSnacks.
- Il tuo gioco non deve mostrare un tasto di disattivazione audio generale e dovrebbe basarsi invece sul controllo di disattivazione della disattivazione della piattaforma GameSnacks.
- Il gioco deve integrarsi con l'interfaccia audio
e deve rispettare il metodo
audio.isEnabled
. - Il gioco potrebbe avere controlli audio granulari separati all'interno del gioco, ad esempio per la musica di sottofondo o gli effetti sonori, ma deve comunque rispettare questi requisiti.
Metti in pausa e riprendi
Il gioco deve supportare la messa in pausa e il ripristino.
- Il gioco deve integrarsi con l'interfaccia del gioco
onPause
e con ionResume
metodi per mettere in pausa e riprendere il gameplay. - Il gioco non deve utilizzare l'API Page Visibilità o API web simili.
- Se è in pausa, il gioco deve comunicare chiaramente all'utente.
- Quando è in pausa, il gioco deve salvare i progressi dell'utente.
Gestione dei dati
Utilizza solo le API di archiviazione di GameSnacks per gestire i dati.
- Il gioco deve utilizzare soltanto l'interfaccia di archiviazione per il salvataggio dei dati dei giochi.
- Il gioco non deve utilizzare altre forme di spazio di archiviazione, inclusi
cookie,
localStorage
,sessionStorage
eIndexedDB
. - Il gioco non deve raccogliere dati utente.
- Il gioco non deve effettuare chiamate esterne o richieste di dati da o verso alcun server che utilizza qualsiasi protocollo.
- Il gioco non deve mostrare ulteriori contratti con gli utenti, norme sulla privacy o altri messaggi relativi alle normative o alla raccolta dei dati.
Salvataggio dei progressi
Salva i progressi dell'utente e sarai in grado di ripristinarne i progressi quando ritornerà al gioco.
- Il gioco deve utilizzare l'interfaccia di Storage per salvare i progressi quando gli utenti hanno fatto progressi sostanziali, ad esempio il completamento di un livello.
- La dimensione totale della partita salvata deve essere inferiore a 3 MiB e deve essere inferiore a 500 KiB.
- Il gioco deve ripristinare i progressi salvati all'inizio del gioco.
- Il gioco deve essere in grado di ripristinare i progressi salvati nelle versioni precedenti del gioco.
Punteggi migliori
Memorizza il punteggio più alto dell'utente o monitora i suoi progressi utilizzando un'altra metrica.
- Se il gioco ha punteggi, deve monitorarli utilizzando l'interfaccia dell'interfaccia dei punteggi.
- Se il tuo gioco non ha punteggi, devi monitorare una metrica di avanzamento alternativa, ad esempio il numero di livelli completati.
Contenuti del gioco
I contenuti del gioco si applicano ai seguenti requisiti:
UI del gioco
- Il gioco deve essere visualizzato in modo chiaro su diverse risoluzioni dello schermo. Ad esempio, gli elementi dell'interfaccia utente non devono essere sfocati, pixelati o allungati.
- Il tuo gioco non deve utilizzare asset rasterizzati a bassa risoluzione che appaiono sfocati quando vengono ridimensionati su schermi più grandi.
- Il gioco non deve utilizzare icone che potrebbero essere confuse con quelle della barra delle azioni di GameSnacks.
- Il gioco non deve includere pulsanti di uscita o di uscita in-game. Verrà gestito dall'app o dal sito che incorpora il gioco.
Localizzazione e accessibilità
- Il gioco deve supportare la lingua inglese.
- Il tuo gioco deve fare il possibile per essere accessibile. Ti consigliamo di rispettare le Linee guida per l'accessibilità dei contenuti web (WCAG), livello AA.
- Il testo all'interno del gioco deve essere leggibile su dispositivi e dimensioni dello schermo diversi. Consulta la sezione WCAG 2.2 §1.4.3.
Contenuti destinati ai minori
- Il gioco non deve essere rivolto specificamente ai bambini. Per ulteriori informazioni, consulta Determinare se i tuoi contenuti sono destinati ai bambini.
Diritti e autorizzazioni
- Il tuo gioco deve disporre di diritti di proprietà intellettuale di terze parti completamente autorizzati.
- Il tuo gioco non deve violare alcun marchio di terze parti o diritti di abiti commerciali.
- Il tuo gioco deve disporre di tutti i diritti musicali necessari.
- Il tuo gioco deve avere tutti i diritti della personalità necessari, inclusi nome e immagine.
Dove verranno visualizzati i miei giochi?
Pubblichiamo i giochi GameSnacks su una vasta gamma di piattaforme, sia su prodotti Google che su app e siti partner di GameSnacks, sia su dispositivi mobili che su computer. Alcuni esempi di dove pubblichiamo i giochi GameSnacks includono l'app Google Play Giochi su dispositivi Android e il sito web GameSnacks.com. Questa è la sorgente da cui proviene molto del nostro traffico. Tuttavia, i paesi in cui pubblichiamo giochi sono in continua evoluzione e cerchiamo sempre di ampliare il pubblico dei giochi GameSnacks. Nel tempo potremmo quindi aggiungere nuove piattaforme Google o partner di distribuzione. Di tanto in tanto potremmo anche eseguire esperimenti mentre lavoriamo con nuove piattaforme di distribuzione.
Monetizzazione
GameSnacks monetizzerà il tuo gioco e ti fornirà una quota delle relative entrate in base al contratto di licenza con gli sviluppatori di GameSnacks.
GameSnacks può posizionare automaticamente gli annunci in occasione di eventi naturali del gioco, come pre-roll, eventi di livello successivo e di fine livello. Puoi anche inserire interruzioni pubblicitarie aggiuntive all'interno del tuo gioco (sia interstitial che con premio) utilizzando l'interfaccia annunci dell'SDK per sviluppatori GameSnacks.
I giochi con opportunità di monetizzazione insufficienti o con scarse opportunità di monetizzazione potrebbero essere visualizzati con minore frequenza o non essere approvati per la distribuzione. Una buona regola generale è assicurati che ci sia un'opportunità per un annuncio almeno una volta al minuto. Sono inclusi sia gli annunci interstitial che gli annunci con premio che inserisci e le interruzioni pubblicitarie che GameSnacks configura automaticamente per te.
Tuttavia, questo non significa che un annuncio verrà sempre pubblicato. GameSnacks bilancia con attenzione carico degli annunci, coinvolgimento ed esperienza utente. Pertanto, ti invitiamo a creare interruzioni pubblicitarie dove si adattano meglio al tuo gioco (ad esempio più di una volta al minuto) e a lasciare che GameSnacks modifichi la frequenza finale con cui gli annunci vengono pubblicati.
Requisiti per la monetizzazione:
Il tuo gioco deve offrire un'esperienza continua e senza interruzioni del gameplay principale, con opportunità adeguate di mostrare annunci interstitial e con premio, che devono essere configurati utilizzando l'interfaccia Annunci.
Non devi includere altre forme di promozione o monetizzazione. Sono inclusi annunci in-game, pagamenti, sponsorizzazioni e posizionamenti di prodotti, richieste di social media e link che indirizzano gli utenti a giochi, siti o altri contenuti esterni.
Devi assicurarti che i tuoi giochi offrano opportunità sufficienti per mostrare annunci in modo che tu e i partner di distribuzione di GameSnacks possiate generare entrate sostenibili. In modo organico a causa di normali eventi del gioco (ad es. il livello successivo) o in modo esplicito tramite l'utilizzo dei metodi dell'interfaccia Annunci in altri momenti appropriati durante il gioco.
Quando utilizzi i metodi dell'interfaccia annuncio per inserire annunci all'interno del tuo gioco, devi rispettare tutte le norme pertinenti relative agli annunci interstitial e alle norme sul comportamento con premio. Inoltre, consulta questa serie di best practice per ulteriori suggerimenti sulla configurazione degli annunci in-game.
Se inserisci annunci interstitial all'interno del tuo gioco, devi assicurarti che vengano visualizzati in corrispondenza delle interruzioni naturali del gameplay. Gli annunci devono adattarsi al flusso del gioco. Non devi semplicemente attivare gli interstitial durante un periodo di gameplay continuo.
Se le tue meccaniche di gioco le supportano, devi inserire gli annunci con premio. Queste opportunità di premio devono essere facoltative, devi descriverle chiaramente e non devi incoraggiare l'utente a fare clic sugli annunci. Consulta le norme relative al comportamento per tutti i requisiti.