Please update the following in each of your SDK application.
This boilerplate is meant to give you a simple starting point to build new features in Topia using our Javascript SDK. Please reference the documentation for a more detailed breakdown of what the SDK is capable of and how to use it!
This repository contains an SDK app that allows you to check in as a non-admin/admin user once a day in order to "pump up" a balloon until a certain amount of goal pumps is reached.
- Key Asset: When clicked this asset will open the drawer and allow users and admins to start interacting with the app.
- Currently need to switch key asset to the actual balloon.
- How to play instructions: As a non-admin/user, open the drawer in the iframe by clicking on the key asset. Press the check in button (only allowed once daily) to increase the number of pumps of the balloon by 1. The balloon will keep growing larger at certain milestones (20 pngs/ 20 stages) until it eventually pops. At that point, you are no longer allowed to check in.
- Admin features (see below)
Does your app have special admin functionality? If so your key features may looks something like this:
- Access: Click on the key asset to open the drawer and then select the Admin gear icon.
- Set the goal: fill out the number input and click the button to confirm to change the goal to the entered input to pop the balloon.
- Reset: Click on the Reset button to reset the current tally and get rid of all daily check-in information.
- Not sure what to put here
We use data objects to store information about each implementation of the app per world.
-
Key Asset: the data object attached to the dropped key asset will store information related to this specific implementation of the app and would be deleted if the key asset is removed from world. Example data:
- isResetInProgress
- lastInteraction
- lastPlayerTurn
- playerCount
- resetCount
- turnCount
-
World: the data object attached to the world will store analytics information for every instance of the app in a given world by keyAssetId and will persist even if a specific instance is removed from world. Example data:
- gamesPlayedByUser (
keyAssets.${assetId}.gamesPlayedByUser.${profileId}.count) - gamesWonByUser (
keyAssets.${keyAssetId}.gamesWonByUser.${profileId}.count) - totalGamesResetCount (
keyAssets.${assetId}.totalGamesResetCount) - totalGamesWonCount (
keyAssets.${assetId}.totalGamesWonCount)
droppedAsset: Made CheckInDataObject interface:
- dailyCheckIns: records the total number of check ins on that day as well as a list of users who checked in that day (maps the date to users and total for that day)
- goal: the goal number of check ins
- overallTally: the total number of check ins during that session, regardless of days. Once the admin resets the tally, this goes back to 0.
- shouldReset: should the tally be reset? (not really utilized in application)
- gamesPlayedByUser (
Caleb Hollander
- Clone this repository
- Run
npm iin server cd client- Run
npm iin client cd ..back to server
API_KEY=NTJhZDJlNTQtMzNmMy00M2JmLTg2YTgtODlhYjM3YmVjNTcw
INSTANCE_DOMAIN=api.topia.io
INSTANCE_PROTOCOL=https
INTERACTIVE_KEY=3XFv3b60uIm2nkxTw1LL
INTERACTIVE_SECRET=NzU3MGQ2YmQtMGNiZS00MmVkLTkxN2ItMDdlYTBkMTUzZDQ0Topia Production Account Dashboard
- SDK Developer docs
- View it in action!
- To see an example of an on canvas turn based game check out TicTacToe:
- (github))[https://github.com/metaversecloud-com/sdk-tictactoe]
- (demo))[https://topia.io/tictactoe-prod]