With the now.gg Events Module for Unity, developers can conveniently control their apps by sending commands/events from their apps on now.gg Cloud to their websites where now.gg-powered embedded game is running.
To implement now.gg Events module:
The now.gg Events Module is included as a Unity package file nowgg-events.unitypackage
.
Add the plugin to your Unity project:
nowgg-events.unitypackage
file.Once the now.gg Events module has been imported; you can now send commands/events to your Android app/game.
We have included some of the sample commands/events as a reference for your implementation.
You can use the NowGGEventsSdkManager
class to trigger events as illustrated below:
You can call the OpenURL
function of the NowGGEventsSDKManager
class to open the provided URL in a new browser window, as illustrated below:
string url = "https://example.com"; NowGGEventsSdkManager.Instance.OpenURL(url);
Reference – Additional information associated with OpenURL()
can be found here.
You can call the SendEventToBrowser
function of the NowGGEventsSDKManager
class, along with the required parameters, to send the events and data to your HTML page and handle it there.
string eventName = "test-event"; string eventData = "test-data"; NowGGEventsSdkManager.Instance.SendEventToBrowser(eventName, eventData);
Reference – Additional information associated with SendEventToBrowser()
can be found here.
After the data has been sent to your HTML, you can handle it there, as illustrated below:
const eventCallbackFunction = (event) => { console.log(event.eventName); // event1 console.log(event.eventData); // eventData1 // Perform event-based handling here };
You can call the sendEventToApp
function of the now.gg Embed Module with the required arguments to send events and data to your Android app and handle them.
The sendEventToApp
sends a custom event and associated data to your app using the NowIfp
interface of now.gg Embed module, as illustrated below:
const sendEventToApp = () => { const eventName = 'CustomEvent'; const eventData = JSON.stringify({ sample: 'case' }); NowIfp.sendEventToApp(eventName, eventData); };
After the data has been sent to your Android app, you can handle it by implementing the following steps:
To handle incoming events, define a callback function and register it with the NowGGEventsSdkManager
. This will ensure your app responds to events as they occur.
// Register the event listener NowGGEventsSdkManager.Instance.OnEventReceivedFromBrowser += OnEventReceived; // Initialize the event system NowGGEventsSdkManager.Instance.InitializeEvents(); // Define the callback function to handle incoming events private void OnEventReceived(String eventName, String eventData) { // Perform actions based on the eventName and eventData }
When discarding the parent activity, it is essential to dispose of the event listener to avoid memory leaks and unnecessary callbacks. This should typically be done during cleanup, such as in your app’s OnDestroy()
method.
NowGGEventsSdkManager.Instance.DestroyEventsReceiver();
Note: The DestroyEventsReceiver
method unregisters the listener and releases associated resources.
We have provided two methods to retrieve the app launch data you sent to your Android App from the HTML page.
You can call the GetAppLaunchDataDictionary()
function of the NowGGEventsSdkManager
class, as illustrated below:
//Retrieves a dictionary of all app launch data params Dictionary<string, string> AppLaunchData = NowGGEventsSdkManager.Instance.GetAppLaunchDataDictionary();
Reference – Additional information associated with GetAppLaunchDataDictionary() can be found here.
You can call the GetAppLaunchDataProperty()
function of the NowGGEventsSdkManager
class, along with the property name, to retrieve a specific app launch data parameter, as illustrated below:
//Retrieves an app launch data property by name string property = NowGGEventsSdkManager.Instance.GetAppLaunchDataProperty("property_name");
Note: Returns an empty string if the property is not found.
Reference – Additional information associated with GetAppLaunchDataProperty()
can be found here.
Events Module
Events Module
Document Rev. 1.0