game.json config

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: Marketingrequired
The game's visual assets.

developer: Developerrequired
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 Filerequired
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",
}