9. Storage

For pure client games without their own servers, but still need to store user settings or game progress across devices and browsers, the SDK provides a storage for developers to save/load these data.

※Be aware that the storage functions aren't secure. If security is a concern please use your own backend server to store data.

※ This function is available since SDK version 3.0.4

9.1. User storage

The user storage is a space per game per player and can be used to store player settings or game progress, etc.

9.1.1. Description

Storage provides four functions:

All functions of the storage are executed asynchronously and return a Promise object.

9.1.2. Obtain the user storage:

let storage = wakool.userStorage;

9.2. KEYS

Obtain the existing keys in the storage:

wakool.userStorage.keys(path = null);

Parameters:

name type description
path string Not required, filter the results under certain directory

※ The results can be filtered if the keys are structured as a path using / when put into the storage.

Example:

wakool.userStorage.keys().then(keys => {
    keys.forEach(key => console.log(key));
});

9.3. GET

Retrieve the data associated with the specified key:

wakool.userStorage.get(key);

Parameters:

name type description
key string the key associated with the data

Example:

wakool.userStorage.get('high-score').then(result => {
    if (result) {
        console.log('High score:' + result);
    }
});

9.4. PUT

Insert a data with a unique key, overwrite existing data:

wakool.userStorage.put(key, value);

Parameters:

name type description
key string a unique key
value any the data to be put into the storage

※ The key can be structured like a path using /

Example:

// the data can be a number or a string
wakool.userStorage.put('high-score', 30125);

// or an object
wakool.userStorage.put('settings', {
    fullscreen: true,
    volume: 30,
});

9.5. REMOVE

Delete the data previously associated with the specified key.

wakool.userStorage.remove(key);

Parameters:

name type description
key string the key associated with the data

Example:

wakool.userStorage.remove('high-score');

9.6. Game storage

The only differences between the game storage and the user storage is that the game storage is shared by all players of the game.

9.6.1. Obtain the game storage:

let storage = wakool.appStorage;

otherwise the API of the game storage is exactly the same with the user storage.

results matching ""

    No results matching ""