AI-generated Key Takeaways
-
Every game uploaded to GameSnacks requires a
game.jsonconfiguration file to provide essential information and marketing assets. -
The
game.jsonfile includes fields for descriptive and marketing information such as name, version, description, genres, marketing assets, developer, and publisher. -
Required descriptive fields like name, version, description, and genres have specific formatting and content restrictions.
-
Game configuration and capabilities are defined through fields like
allowOfflineUse,entrypoint,files,orientation, andsupportsLowEndDevices. -
The
filesfield is required and should list only the assets necessary to run the game, excluding marketing assets.
Every game you upload to GameSnacks must have a game.json configuration file.
You use the configuration file to provide GameSnacks with all of the required
information about your game, including the marketing assets required to display
your game in the game center catalog.
Fields
Descriptive & marketing information
name: String — required
The name of the game as it is usually displayed to the user.
- Must be between 2 and 25 characters.
- Must be unique across all games.
version: String — required
The version of the uploaded instance of the game.
- Must be unique for each uploaded version of the game.
description: String — required
Description of the game.
- Must be a maximum of 150 characters.
genres: Array of String — required
The genres that the game belongs to.
- Each genre must be one of the following: Action, Adventure, Arcade, Board, Card, Casino, Educational, Music, Puzzle, Racing, Role playing, Simulation, Sports, Strategy, Trivia, Word.
marketingAssets: Marketing — required
The game's visual assets.
developer: Developer — required
Metadata about the game developer.
publisher: Publisher — default: {}
Metadata about the publisher.
aboutUrl: String — default: undefined
The URL of the game's about page.
- Must be a valid HTTP or HTTPS URL.
privacyPolicyUrl: String — default: undefined
The URL of the game's privacy policy.
- Must be a valid HTTP or HTTPS URL.
alternativePlatforms: Array of Platform — default: []
Versions of the game available on alternative platforms.
Game configuration & capabilities
allowOfflineUse: Boolean — default: false
Whether the game should be discoverable offline. If this field is true, the
game can be listed as an offline game and be discoverable in offline-specific
UIs where they exist on GameSnacks distribution partners. Allowing offline use
of your game may increase total engagement, however monetization of offline
games is not supported and ads won't show during offline play.
Note that GameSnacks may always cache your game to enable continued play during an intermittent loss of connectivity.
entrypoint: File — default: "index.html"
Entrypoint to the game.
- Entrypoint must also be included in
files.
files: Array of File — required
A list of the files that are required for the game.
- Must only include assets that are required to run the game. Don't include marketing assets such as banners and icons.
orientation: String — default: "Any"
The default orientation for the game.
- Each orientation must be one of the following: Any, Landscape, Portrait.
supportsLowEndDevices: Boolean — default: false
Whether the game is supported on low end devices.
Example
{
"name": "Test game",
"version": "1.0",
"description": "The test game! ...",
"genres": ["Card", "Puzzle"],
"developer": {
"name": "GameSnacks developer name",
"logo": [
{
"size": {
"width": 512,
"height": 512
},
"src": "images/developer-logo.png"
},
...
]
},
"marketingAssets": {
"horizontalBanners": [
{
"size": {
"width": 1920,
"height": 1080
},
"src": "images/testgame-horizontal-banner.png"
},
...
],
"verticalBanners": [
{
"size": {
"width": 1080,
"height": 1920
},
"src": "images/testgame-vertical-banner.png"
},
...
],
"screenshots": [
{
"size": {
"height": 1920,
"width": 1080
},
"src": "images/testgame-screenshot-1.png"
},
...
],
"gameIcons": [
{
"size": {
"width": 512,
"height": 512
},
"src": "images/testgame-icon.png"
},
...
]
},
"files": ["src/**"],
"orientation": "ANY",
}