Keys that are in bold must exactly match in the manifest json file.
Keys that are variable are in italics.
Indentation level specifies the object depth. That is to say indented keys are children of their previously non-indented parent key.
Manifest Keys
Manifest
- Object
- Optional
-
Since Manifest 1.0.0
url
- String
- Optional (default:
https://magic-qa.gameserver.magmic.com/v4/manifestsfor development builds andhttps://magic.gameserver.magmic.com/v4/manifestsfor non-development builds) - The Manifest endpoint url
- Since Manifest 1.0.0
update_interval
- Number
- Optional (default: 0)
- The time in seconds before checking for another Manifest update if no other update has happened (due to a launch or resume). Specify 0 for no time check.
- Since Manifest 1.0.0
- Deprecated in 1.1.0
expiryPeriod
- Number
- Optional (default: 604800)
- The time in seconds that a manifest will expire and a new one will be forcibly downloaded.
qa
- Object
- This node and all subnodes are optional
-
Since Manifest 3.1.0.0
usertypes
- Object
-
Since Manifest 3.1.0.0
values
- Array : Strings
- List of usertypes that will be sent with the next manifest request
- Since Manifest 3.1.0.0
method
- String : Enumeration
- Override : the usertypes that get sent to the server will override any server side usertypes when building the manifest
- Additive : the usertypes that get sent to the server will get merged with the server side usertypes when building the manifest
- A property that get sent to the server that defines how the usertypes that get sent with the request will be processed
- Since Manifest 3.1.0.0
allowOverride
- Boolean
- A flag that will disable the clients ability to modify the usertypes list in code. Usertypes included in the manifest will still be processed.
- Since Manifest 3.1.0.0
Example:
{
"Manifest": {
"url": "https://magic.gameserver.magmic.com/v4/manifests"
},
"qa": {
"usertypes": {
"values" : [
"UsertypeA",
"UsertypeB",
"UsertypeC"
],
"method": "Override",
"allowOverride": true
}
}
}
Ads
Keys for a version of DarkMatter older than v4.2 can be found here: DarkMatter Ads - Manifest Keys
adsystemadapter
- Object
-
Since DarkMatter 4.2.0
enabled
- bool
- Can be used to disable interstitial and rewarded videos.
- Since DarkMatter 4.2.0
analytics
- bool
- Flag that turns ad system adapter analytic events on or off.
- Since DarkMatter 4.2.0
disabledPlacements
- Array : Strings
- Will prevent ads from firing for any placement in the list.
- Since DarkMatter 4.2.0
Example:
{
"adsystemadapter": {
"enabled": true,
"analytics": true,
"disabledPlacements": [
"YOUR_DISABLED_PLACEMENT",
"YOUR_OTHER_DISABLED_PLACEMENT"
]
}
}
Analytics Keys
analytics
- Object
-
Since Magic Analytics 2.0
enabled
- bool
- Optional (default true)
- Can be used to disable all analytics tracking. Useful for under 13 year old players
- Since Magic Analytics 3.0
flurryAppKey
- string
- Optional (default uses ScriptableObject’s value)
- This product’s Flurry App ID
- Since Magic Analytics 3.0
canSendEvents
- bool
- Optional (default uses ScriptableObject’s value)
- Causes the Analytics Library to go silent (tracks events locally, but does not send them).
- Since Magic Analytics 3.0
logEvents
- bool
- Optional (default uses ScriptableObject’s value)
- Toggles debug logs for the analytic events.
- Since Magic Analytics 3.0
maxqueuesize
- int
- Optional (default 255)
- The max size of the event queue
- Since Magic Analytics 2.0
numeventstriggerflush
- int
- Optional (default 10)
- The number of events that will trigger a flush
- Since Magic Analytics 2.0
maxnumeventstosend
- int
- Optional (default 20)
- The maximum number of events that will be sent per request
- Since Magic Analytics 2.0
flushtimeinterval
- int
- Optional (default 300)
- The number of seconds after a flush to automatically attempt another one
- Since Magic Analytics 2.0
expbackoffts
- int
- Optional (default 10)
- The timeslot in the exponential backoff calculation
- Since Magic Analytics 2.0
analyticsurl
- string
- Optional (default
http://analytics.magmic.com/v2/magic.php) - The endpoint URL for sending analytic events to
- Since Magic Analytics 2.0
eventfilters
- Object
- Optional
- Defines some rules for filtering events client side
-
Since Magic Analytics 2.0
excludes
- String Array
- Optional (default null)
- A list of event names (‘n’ parameter) that the client should discard. Useful for removing spammy or buggy events, and events that have outlived their usefulness.
- Since Magic Analytics 2.0
filteroldevents
- bool
- Optional (default false)
- Whether or not to run the excludes over the already saved queue of previous events
- Since Magic Analytics 2.0
Examples:
{
"analytics": {
"flurryAppKey": "5H3Y3PC424S8NZ5GZRQ4",
"logEvents": true,
"canSendEvents": true,
"maxqueuesize": 1000,
"numeventstriggerflush": 10,
"maxnumeventstosend": 100,
"flushtimeinterval": 600,
"expbackoffts": 10,
"analyticsurl": "http://analytics.magmic.com/v2/magic.php",
"eventfilters": {
"excludes": [
"mc",
"spmyevt"
],
"filteroldevents": true
}
}
}
Game Service Keys
gameService
-
Object
activeConfigurationKey
- string
- Required
- The active configuration key to use in the configurations dictionary. Once the manifest is downloaded this will be the configuration data used to communicated with v5
- Version 4.0.0
configurations
- dictionary
<string, GameServiceConfiguration> - Required
- A dictionary of game service configuration objects, must have at least one entry.
-
Version 4.0.0
key
- string
- Required
- The key that is used to reference the configurations
-
Version 4.0.0
url
- string
- Required
- The base url that will be used to connect to the server
- Version 4.0.0
gameId
- string
- Required
- The game id that is used by the server to reference the game
- Version 4.0.0
key
- string
- Required
- the games game server key
- Version 4.0.0
secret
- string
- Required
- the secret used to sign network requests
- Version 4.0.0
numberOfRetries
- List
<string> - Required
- An array of strings that map to how many retries to attempt for a failed request and the delay before retrying.
- Version 4.0.0
endpoints
- dictionary
<string, Endpoint> - Required
- A dictionary of endpoint
-
NOTE - this feature is currently in alpha stages and is mostly for internal library. The feature will likely be changing in future version.
key
- string
- Required
- The endpoint key
-
Version 4.0.0
path
- string
- Required
- The url that this endpoint will map to. This feature is currently in alpha stages and will be changing in future versions.
- Version 4.0.0
The following example is taken from the Magic Test App / Android / Staging version 4.0.0.0 manifest.
"gameService": {
"activeConfigurationKey": "qa",
"configurations": {
"qa": {
"gameId": "du7u0g26q1dixcmw2n2qsk968qktksj8",
"url": "http://v5-api-staging.magmic.com",
"secret": "MCSV5TEST4PP0ead5c63c35d902f9f561702ecf588c02d038224d15e901270a0b566951f77f",
"key": "MCSV5TEST4PPab9c0ea7ca19b39bccbe15b8",
"numberOfRetries": [
"0.5",
"1.0",
"3.0"
]
},
"localhost": {
"gameId": "du7u0g26q1dixcmw2n2qsk968qktksj8",
"url": "http://localhost:3000",
"secret": "MCSV5TEST4PP0ead5c63c35d902f9f561702ecf588c02d038224d15e901270a0b566951f77f",
"key": "MCSV5TEST4PPab9c0ea7ca19b39bccbe15b8",
"numberOfRetries": [
"0.5",
"1.0",
"3.0"
]
},
"prod": {
"gameId": "pfjdm4uh7r0vw754dz07oj7qeyy0tn80",
"url": "https://v5-api.gameserver.magmic.com",
"secret": "374ce8c653aacc4adac683d4c0a2adc73d6dc1b63125172352507ad249663ed4",
"key": "MCSV507210c92fe151bdb4f468436499747b",
"numberOfRetries": [
"0.5",
"1.0",
"5.0",
"15.0"
]
}
},
"endpoints": {
"login": {
"path": "/users/login/facebook"
},
"identify": {
"path": "/users/identify"
}
}
}
Push
pushService
- Object
-
Since DarkMatter 4.2.0
enabled
- boolean
- Optional, (default is true)
- Since DarkMatter 4.2.0
- Flag that will enable or disable the service.
permissionTimeout
- integer
- Optional, (default is 5 seconds)
- Since DarkMatter 4.2.0
- The amount of time to elapse before timing out a push permission request. This is important as when disabled on iOS there will be no response or error.
removeOldTokenOnUpdate
- boolean
- Optional, (default is true)
- Since DarkMatter 4.2.0
- When the userid updates should the service try and remove the old token from the old user.
The following example is taken from the Magic Test App / Android / Staging version Unity_4.2.0 manifest.
"pushService": {
"enabled": true,
"permissionTimeout": 2,
"removeOldTokenOnUpdate": true
}
StoreFront
iap
- Object
-
Since StoreFront 1.0
verifyReceiptURL
- string
- Optional (default “http://v5-api-staging.magmic.com/purchase/validate” on Debug builds and “https://v5-api.gameserver.magmic.com/purchase/validate” on prod builds)
- The URL of the server endpoint to send the receipt data to for verification
- Since StoreFront 1.0
androidLicenseKey
- string
- Required only on Native Android
- The License Key used in Android In App Billing
- Since DarkMatter 4.1.0
products
- Object
- Required
- A list of store products keyed by their product id.
-
Since StoreFront 1.0
_
_ (string) - Object
- Optional
- A configuration for a store product
-
Since StoreFront 1.0
purchaseType
- string
- Required
- One of: “consumable”, “nonconsumable”, or “subscription”
- Since StoreFront 1.0
skus
- Object
- Optional (Only required for real money purchase products)
- Stores the native store specific SKUs for this product.
-
Since StoreFront 1.0
itunes
- string
- Optional
- The iTunes Store product SKU
- Since StoreFront 1.0
google
- string
- Optional
- The Google Play Store product SKU
- Since StoreFront 1.0
amazon
- string
- Optional
- The Amazon Store product SKU
- Since StoreFront 1.0
costItems
- Array of Objects
- Optional (none specified means that it’s free)
- A list of costs that must be satisfied in order to purchase this product.
-
Since StoreFront 1.0
costType
- string
- Required
- The type of currency this product costs. Can be arbitrary but “money” is reserved for real money purchases.
- Since StoreFront 1.0
amount
- Number
- Required
- The amount of currency this product costs. Real money purchases are in USD as a float.
- Since StoreFront 1.0
rewardItems
- Array of Objects
- Optional
-
A list of rewards that are served to the user upon successful purchase of this product.- Since StoreFront 1.0
rewardType
- string
- Required
- The type of item this product rewards.
- Since StoreFront 1.0
amount
- Number
- Required
- The amount of items this product rewards.
- Since StoreFront 1.0
stateTimers
- Object
- Optional
- Specifies times for when stores are supposed to be in certain states.
-
Since StoreFront 1.0
_
_ (string) - Array of Objects
- Optional
- A list of timers for this store’s different states
-
Since StoreFront 1.0
state
- string
- Required
- The State ID of this store which is active when the Chronos timer is active
- Since StoreFront 1.0
chronosTimerName
- string
- Required
- The name of the Chronos timer for when this state is active
stores
- Object
- Optional
- Configuration for stores and their different states
-
Since StoreFront 1.0
_
_ (string) - Object
- Optional
- A specific store’s configuration
-
Since StoreFront 1.0
_
_ (string) - Object
- A “default” state is Required, additional states are Optional
- A configuration of this store when in a specific state.
-
Since StoreFront 1.0
products
- Array of Objects
- Required
- A list of the products visible in this state
-
Since StoreFront 1.0
productID
- string
- Required
- The default (i.e. non-sale) ID of this product
- Since StoreFront 1.0
saleProductID
- string
- Optional
- If specified, this is used to indicate the product ID that is on sale, and the productID is used for reference instead (like calculating the deal).
- Since StoreFront 1.0
_
_ (string) - Any JSON Value
- Optional
- Additional properties can be specified if you use a store with a subclass of BaseStoreStateProduct
- Since StoreFront 1.0
metadata
- Object
- Optional
- A dictionary that holds additional properties you may wish to specify on a store, such as the “most popular” or “best value” product.
- Since StoreFront 1.0
Example:
{
"iap": {
"stateTimers": {
"currency_store": [
{
"state": "coin_sale",
"chronosTimerName": "0-30"
}
],
"lives_store": [
{
"state": "lives_sale",
"chronosTimerName": "15-45"
}
]
},
"stores": {
"currency_store": {
"default": {
"metadata": {
"best_value": "",
"most_popular": "coins_3",
"ad_watch_limit": 8,
"ad_watch_reset_seconds": 86400
},
"products": [
{
"productId": "coins_1",
"icon": "CoinIcon1"
},
{
"productId": "coins_2",
"icon": "CoinIcon2"
},
{
"productId": "coins_3",
"icon": "CoinIcon3"
},
{
"productId": "coins_4",
"icon": "CoinIcon4"
},
{
"productId": "coins_5",
"icon": "CoinIcon5"
},
{
"productId": "coins_6",
"icon": "CoinIcon6"
},
{
"productId": "coins_7",
"icon": "CoinIcon7"
}
]
},
"coin_sale": {
"metadata": {
"best_value": "",
"most_popular": "coins_3",
"ad_watch_limit": 8,
"ad_watch_reset_seconds": 86400
},
"products": [
{
"productId": "coins_1",
"icon": "CoinIcon1"
},
{
"productId": "coins_2",
"saleProductId": "coins_2_sale_quantity_1",
"icon": "CoinIcon2"
},
{
"productId": "coins_3",
"saleProductId": "coins_3_sale_quantity_1",
"icon": "CoinIcon3"
},
{
"productId": "coins_4",
"saleProductId": "coins_4_sale_quantity_1",
"icon": "CoinIcon4"
},
{
"productId": "coins_5",
"saleProductId": "coins_5_sale_quantity_1",
"icon": "CoinIcon5"
},
{
"productId": "coins_6",
"saleProductId": "coins_6_sale_quantity_1",
"icon": "CoinIcon6"
},
{
"productId": "coins_7",
"saleProductId": "coins_7_sale_quantity_1",
"icon": "CoinIcon7"
}
]
}
},
"lives_store": {
"default": {
"metadata": {
"lives_product_1": "lives_1",
"lives_product_2": "lives_2",
"lives_product_3": "lives_3",
"lives_product_4": "lives_4",
"lives_product_5": "lives_5",
"ad_watch_limit": 2,
"ad_watch_reset_seconds": 86400
},
"products": [
{
"productId": "lives_ad_1"
},
{
"productId": "lives_1"
},
{
"productId": "lives_2"
},
{
"productId": "lives_3"
},
{
"productId": "lives_4"
},
{
"productId": "lives_5"
}
]
},
"lives_sale": {
"metadata": {
"lives_product_1": "lives_1",
"lives_product_2": "lives_2",
"lives_product_3": "lives_3",
"lives_product_4": "lives_4",
"lives_product_5": "lives_5",
"ad_watch_limit": 2,
"ad_watch_reset_seconds": 86400
},
"products": [
{
"productId": "lives_ad_1"
},
{
"productId": "lives_1",
"saleProductId": "lives_1_sale_price_1"
},
{
"productId": "lives_2",
"saleProductId": "lives_1_sale_price_2"
},
{
"productId": "lives_3",
"saleProductId": "lives_1_sale_price_3"
},
{
"productId": "lives_4",
"saleProductId": "lives_1_sale_price_4"
},
{
"productId": "lives_5",
"saleProductId": "lives_1_sale_price_5"
}
]
}
}
},
"products": {
"coins_1": {
"purchaseType": "consumable",
"rewardItems": [
{
"rewardType": "coins",
"amount": 2
}
]
},
"coins_2": {
"purchaseType": "consumable",
"skus": {
"itunes": "com.magmic.ios.storefront.coins_2",
"google": "com.magmic.google.storefront.coins_2",
"amazon": "com.magmic.amazon.storefront.coins_2"
},
"costItems": [
{
"costType": "money",
"amount": 0.99
}
],
"rewardItems": [
{
"rewardType": "coins",
"amount": 20
}
]
},
"coins_3": {
"purchaseType": "consumable",
"skus": {
"itunes": "com.magmic.ios.storefront.coins_3",
"google": "com.magmic.google.storefront.coins_3",
"amazon": "com.magmic.amazon.storefront.coins_3"
},
"costItems": [
{
"costType": "money",
"amount": 3.99
}
],
"rewardItems": [
{
"rewardType": "coins",
"amount": 90
}
]
},
"coins_4": {
"purchaseType": "consumable",
"skus": {
"itunes": "com.magmic.ios.storefront.coins_4",
"google": "com.magmic.google.storefront.coins_4",
"amazon": "com.magmic.amazon.storefront.coins_4"
},
"costItems": [
{
"costType": "money",
"amount": 9.99
}
],
"rewardItems": [
{
"rewardType": "coins",
"amount": 210
}
]
},
"coins_5": {
"purchaseType": "consumable",
"skus": {
"itunes": "com.magmic.ios.storefront.coins_5",
"google": "com.magmic.google.storefront.coins_5",
"amazon": "com.magmic.amazon.storefront.coins_5"
},
"costItems": [
{
"costType": "money",
"amount": 19.99
}
],
"rewardItems": [
{
"rewardType": "coins",
"amount": 435
}
]
},
"coins_6": {
"purchaseType": "consumable",
"skus": {
"itunes": "com.magmic.ios.storefront.coins_6",
"google": "com.magmic.google.storefront.coins_6",
"amazon": "com.magmic.amazon.storefront.coins_6"
},
"costItems": [
{
"costType": "money",
"amount": 23.99
}
],
"rewardItems": [
{
"rewardType": "coins",
"amount": 540
}
]
},
"coins_7": {
"purchaseType": "consumable",
"skus": {
"itunes": "com.magmic.ios.storefront.coins_7",
"google": "com.magmic.google.storefront.coins_7",
"amazon": "com.magmic.amazon.storefront.coins_7"
},
"costItems": [
{
"costType": "money",
"amount": 49.99
}
],
"rewardItems": [
{
"rewardType": "coins",
"amount": 1150
}
]
},
"coins_2_sale_quantity_1": {
"purchaseType": "consumable",
"skus": {
"itunes": "com.magmic.ios.storefront.coins_2_sale_quantity_1",
"google": "com.magmic.google.storefront.coins_2_sale_quantity_1",
"amazon": "com.magmic.amazon.storefront.coins_2_sale_quantity_1"
},
"costItems": [
{
"costType": "money",
"amount": 0.99
}
],
"rewardItems": [
{
"rewardType": "coins",
"amount": 40
}
]
},
"coins_3_sale_quantity_1": {
"purchaseType": "consumable",
"skus": {
"itunes": "com.magmic.ios.storefront.coins_3_sale_quantity_1",
"google": "com.magmic.google.storefront.coins_3_sale_quantity_1",
"amazon": "com.magmic.amazon.storefront.coins_3_sale_quantity_1"
},
"costItems": [
{
"costType": "money",
"amount": 3.99
}
],
"rewardItems": [
{
"rewardType": "coins",
"amount": 180
}
]
},
"coins_4_sale_quantity_1": {
"purchaseType": "consumable",
"skus": {
"itunes": "com.magmic.ios.storefront.coins_4_sale_quantity_1",
"google": "com.magmic.google.storefront.coins_4_sale_quantity_1",
"amazon": "com.magmic.amazon.storefront.coins_4_sale_quantity_1"
},
"costItems": [
{
"costType": "money",
"amount": 9.99
}
],
"rewardItems": [
{
"rewardType": "coins",
"amount": 420
}
]
},
"coins_5_sale_quantity_1": {
"purchaseType": "consumable",
"skus": {
"itunes": "com.magmic.ios.storefront.coins_5_sale_quantity_1",
"google": "com.magmic.google.storefront.coins_5_sale_quantity_1",
"amazon": "com.magmic.amazon.storefront.coins_5_sale_quantity_1"
},
"costItems": [
{
"costType": "money",
"amount": 19.99
}
],
"rewardItems": [
{
"rewardType": "coins",
"amount": 870
}
]
},
"coins_6_sale_quantity_1": {
"purchaseType": "consumable",
"skus": {
"itunes": "com.magmic.ios.storefront.coins_6_sale_quantity_1",
"google": "com.magmic.google.storefront.coins_6_sale_quantity_1",
"amazon": "com.magmic.amazon.storefront.coins_6_sale_quantity_1"
},
"costItems": [
{
"costType": "money",
"amount": 23.99
}
],
"rewardItems": [
{
"rewardType": "coins",
"amount": 1080
}
]
},
"coins_7_sale_quantity_1": {
"purchaseType": "consumable",
"skus": {
"itunes": "com.magmic.ios.storefront.coins_7_sale_quantity_1",
"google": "com.magmic.google.storefront.coins_7_sale_quantity_1",
"amazon": "com.magmic.amazon.storefront.coins_7_sale_quantity_1"
},
"costItems": [
{
"costType": "money",
"amount": 49.99
}
],
"rewardItems": [
{
"rewardType": "coins",
"amount": 2300
}
]
},
"lives_ad_1": {
"purchaseType": "consumable",
"rewardItems": [
{
"rewardType": "lives",
"amount": 1
}
]
},
"lives_1": {
"purchaseType": "consumable",
"costItems": [
{
"costType": "coins",
"amount": 4
}
],
"rewardItems": [
{
"rewardType": "lives",
"amount": 1
}
]
},
"lives_2": {
"purchaseType": "consumable",
"costItems": [
{
"costType": "coins",
"amount": 8
}
],
"rewardItems": [
{
"rewardType": "lives",
"amount": 2
}
]
},
"lives_3": {
"purchaseType": "consumable",
"costItems": [
{
"costType": "coins",
"amount": 12
}
],
"rewardItems": [
{
"rewardType": "lives",
"amount": 3
}
]
},
"lives_4": {
"purchaseType": "consumable",
"costItems": [
{
"costType": "coins",
"amount": 16
}
],
"rewardItems": [
{
"rewardType": "lives",
"amount": 4
}
]
},
"lives_5": {
"purchaseType": "consumable",
"costItems": [
{
"costType": "coins",
"amount": 20
}
],
"rewardItems": [
{
"rewardType": "lives",
"amount": 5
}
]
},
"lives_1_sale_price_1": {
"purchaseType": "consumable",
"costItems": [
{
"costType": "coins",
"amount": 3
}
],
"rewardItems": [
{
"rewardType": "lives",
"amount": 1
}
]
},
"lives_1_sale_price_2": {
"purchaseType": "consumable",
"costItems": [
{
"costType": "coins",
"amount": 6
}
],
"rewardItems": [
{
"rewardType": "lives",
"amount": 2
}
]
},
"lives_1_sale_price_3": {
"purchaseType": "consumable",
"costItems": [
{
"costType": "coins",
"amount": 9
}
],
"rewardItems": [
{
"rewardType": "lives",
"amount": 3
}
]
},
"lives_1_sale_price_4": {
"purchaseType": "consumable",
"costItems": [
{
"costType": "coins",
"amount": 12
}
],
"rewardItems": [
{
"rewardType": "lives",
"amount": 4
}
]
},
"lives_1_sale_price_5": {
"purchaseType": "consumable",
"costItems": [
{
"costType": "coins",
"amount": 15
}
],
"rewardItems": [
{
"rewardType": "lives",
"amount": 5
}
]
}
}
}
}
UserService
userService
-
Object
bankConfig
- Dictionary <string, bankItem>
- Required
- A dictionary containing bank items for the game. All bank items must be of a numeric types (int, long, float, etc)
-
Version 4.1.0
key
- string
- Required
- The reference key used to access this type of bank object. The key will be a direct map to the key set on the game server.
-
Version 4.1.0
_title
- string
- Required
- The string that will be used to display this bank item in the support section of the dashboard and if used in the game.
- Version 4.1.0
_initValue
- string
- Required
- The initial value that will be set for this bank item when a new user is initialized with v5.
- Version 4.1.0
_gameConfig
- json object
- Required - but can be an empty object.
- A dynamic json object that can be configured by the game that will be associate with this bank object. It could be used to configure visuals, logic, etc …
- Version 4.1.0
storageConfig
- Dictionary <string, storageItem>
- Required
- A dictionary containing storage items for the game. storage items can be dynamic objects, but most be in a valid json format
-
Version 4.1.0
key
- string
- Required
- The reference key used to access this type of storage object. The key will be a direct map to the key set on the game server.
-
Version 4.1.0
_title
- string
- Required
- The string that will be used to display this storage item in the support section of the dashboard and if used in the game.
- Version 4.1.0
_initValue
- json object
- Required
- The initial value that will be set for this storage item when a new user is initialized with v5.
- Version 4.1.0
_gameConfig
- json object
- Required - but can be an empty object.
- A dynamic json object that can be configured by the game that will be associate with this bank object. It could be used to configure visuals, logic, etc …
- 4.1.0
fetchConfig
- Dictionary <string, List
> - Required
- A dictionary of queues that will be used to get / set user bank and storage data
-
Version 4.1.0
key
- string
- Required
- The key used to reference this queue
-
Version 4.1.0
list
- List
- Required
- A list of keys associated with the bank and storage configuration keys setup in the above section. A special key bank will get / set all bank item objects.
- Version 4.1.0
- List
Example (from the DarkMatter Test App / Android / Staging / v4.0.0.0 manifest)
"userService": {
"bankConfig": {
"coins": {
"_title": "Coins",
"_initValue": 100,
"_gameConfig": {}
},
"tickets": {
"_title": "Tickets",
"_initValue": 0,
"_gameConfig": {}
}
},
"storageConfig": {
"general": {
"_title": "General",
"_initValue": {
"name": "Guest",
"rated": false,
"passAgeGate": true
},
"_gameConfig": {}
},
"profile": {
"_title": "Profile",
"_initValue": {
"skill": "rookie",
"rank": "green"
},
"_gameConfig": {}
}
},
"fetchConfig": {
"onLoad": [
"bank",
"general",
"profile"
],
"onConflict": [
"profile"
],
"profile": [
"profile"
]
}
}