Game Maker Firebase Remote Configs

Welcome to the second part of my Firebase Tools series, Remote Configs. Game Maker Firebase Remote Configs extension is capable of running all the capabilities of the Remote Configs SDK of Firebase.

Setup Firebase Tools for Game Maker Studio

To be able to use the extension, you must prepare Game Maker Studio 2 to be able to compile for it. Click the link above to complete it.
For now, the extension only works at Android Exports.
CAN BE USED WITH OTHER FIREBASE TOOLS

What is Firebase Remote Config ?


Firebase Remote Config is a cloud service that lets you change the behavior and appearance of your app without requiring users to download an app update.

Retrieved from https://firebase.google.com/docs/remote-config/

It really is a service that downloads global.variables from Google servers for you. Players do not have to update your game again as this process is handled automatically for you. These global.variables can be changed on Firebase Console(On a really useful and easy panel). So what can we do with this service ?

There Must Be Something More!!

Yes. Firebase Console allows you to play with your remote configs(global.variables). I mean you can literally send different values for different players. You can send “Welcome to my game brother” to those who play from Turkey, or “Hi. Good to see you in my game man” for U.S. players. You have a lot of options for different combinations.

Usage Examples

In my game Word Chain I implemented a different combination. For testing purpose, I sent Turkish language pack to the Turkish players to see how the game is doing. It was for me preparing for Multi-Language update. You can test out what works perfect for you with Remote Configs.

DOCUMENTATION

firebase_configs_debug_mode(True/False);
Description : Enables or disables debug logging. You’ll see the debug output on Game Maker Studio IDE(Output).
Notice : You can use this function before/after firebase_configs_init function.

firebase_configs_debug_mode(true);
//Show me the debug output!!

firebase_configs_init(True/False developmentMode, Real cacheTimer);
Description : Initializes Remote Configs. After using the function, the extension will attemp to fetch values from Firebase servers automatically. If this process fails, by not having an internet connection, or the cache timer hasn’t expired yet; it will fetch the data from local storage.

Parameters
@0 developmentMode
: Setting it TRUE will activate development mode. The cache timer will set to 0 and any change on the Firebase Console will be downloaded (cache timer will be ignored). Don’t forget to set it FALSE when you release your game to public.
@1 cacheTimer : Indicates how many seconds the data should be stored in the local storage. In this way, your game won’t download the configs from Cloud again until the x seconds passed. The default is 3600, which is 1 hour. It is recommend to set it as high as possible.

Returns : An async ds_map in Social Async Event.
async_load[“category”] = “remote_configs” (String)
async_load[“status”] = 0 or 1
0 : The data is fetched from local storage.
1 : The data is downloaded from cloud.

firebase_configs_init(false,3600);
//Initiate Remote Configs
//I don't want Development Mode(I'm releasing the game)
//Set Cache value to 3600(1 Hour).
///Social Async Event
var category = async_load[? "category"];

//Yes it is coming from Remote Configs SDK
if (category=="remote_configs") 
{
	
	//If you wish to check the status : For more info check gmdevblog.com
	var status = async_load[? "status"];
	
	configs_loaded = true;
	//Well.. what information do you need?
	
	var welcome_message = firebase_configs_get_string("welcome_message");
	show_debug_message("Welcome Message is : "+string(welcome_message));
	
}

firebase_configs_get_string(String Key);
Description
: Returns a String Value from the Configs.

Parameters
@0 Key : What you set on Firebase Console.

Returns : The value of the Key (as String)

var message = firebase_configs_get_string("welcome_message");
show_message_async(message); // ^^

firebase_configs_get_real(String Key);
Description
: Returns a Real Value from the Configs.

Parameters
@0 Key : What you set on Firebase Console.

Returns : The value of the Key (as Real)

global.number = firebase_configs_get_real("my_magic_number");

Get it on Marketplace (FREE)

If you’re interested in, the open source code is at GitHub

Share

Marty

Truely speaking, I don't know what am I doing most of the time.

1 Response

  1. 17th April 2019

    […] Firebase Remote Configs for Game Maker […]

Leave a Reply