Skip to main content

Implementing contributions

Not Released

PlayMakers is not currently released for productive usage. The material below is a preview reference.

Please contact us to get started.

Manual implementation

Through the Studio Dashboard, it is possible to download submissions individually, or as an archive batch. The integration into the product is then a manual step, and no prior work is needed to add the contribution. This is however an asynchronous method that doesn't scale well and requires constant work.

tip

The recommended approach is one of the automated implementations below.

Automated implementation

Frequency

Regular updates

In case the product distributes daily, weekly, or any other periodicity, updates, it is relevant to script the download of all new submissions and bundle them within each release.

Real-time

If the product has internet access, it is possible to allow the client to download new submissions immediately as they come:

  • at launch: by starting a background process to update all the latest contributions
  • on the go: polling every now and then, to check if there are novelties and grabbing them

Method

Relevant API endpoints

More on filtering by timestamp soon.

Using the results

note

Note that, during development, you can submit your own contribution and manually download it through the Studio Dashboard to work with the result as an example. The structure will be the same through the API.

The result can be downloaded either as a complete zip, or as a JSON referencing the various components. Metadata like the author, creation date and submission state are not available within the result: it holds solely the structured data of the contribution.

For a given Schema, the submission.json will always have the same structure (json schema).

  • If the JSON is downloaded independently, external assets will be available through HTTP links
  • If the JSON is extracted from the zip archive, external assets will always have the same filenames
tip

Write the piece of code needed to use the assets, wherever this might be, grabbing the content or the path to the files through a dictionary/hash referencing all the contributions, along with your original creations, if any.