Implementing contributions
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.
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 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
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.