使用now.gg的Unity事件模块(Events Module),开发者通过位于now.gg云上的应用发送命令/事件到他们由now.gg提供技术支持的嵌入游戏运行的网站,可以方便地控制他们的应用。
要实现now.gg事件模块:
now.gg事件模块包含于Unity包文件 NowGGUnitySdk.unitypackage。
添加插件到您的Unity工程中:
NowGGUnitySdk.unitypackage。
导入now.gg事件模块后,您可以向您的Android应用程序/游戏发送命令/事件。
我们提供了一些示例命令/事件作为您实现的参考。
您可以使用 NowGGEventsSdkManager 类来触发事件,如下所示:
您可以调用 NowGGEventsSDKManager 类的 OpenURL 函数,在新的浏览器窗口中打开提供的URL,如下所示:
string url = "https://example.com"; NowGGEventsSdkManager.Instance.OpenURL(url);
参考资料 – OpenURL() 关联的附加信息可以在 此处找到。
您可以使用必需的参数调用 NowGGEventsSDKManager 类的 SendEventToBrowser 函数,将事件和数据发送到您的HTML页面并在那里进行处理。
string eventName = "test-event"; string eventData = "test-data"; NowGGEventsSdkManager.Instance.SendEventToBrowser(eventName, eventData);
参考资料 – SendEventToBrowser() 关联的附加信息可以在 此处找到。
在数据被发送到您的HTML后,您可以在那里处理它,如下所示:
const eventCallbackFunction = (event) => {
console.log(event.eventName); // event1
console.log(event.eventData); // eventData1
// 此处执行基于事件的处理
};
now.gg 嵌入模块的 sendEventToApp 函数可以通过必要的参数向 Android 应用发送事件和数据并进行处理。
sendEventToApp 函数通过 NowIfp 接口向应用发送自定义事件及相关数据。以下是示例代码:
const sendEventToApp = () => {
const eventName = 'CustomEvent';
const eventData = JSON.stringify({
sample: 'case'
});
NowIfp.sendEventToApp(eventName, eventData);
};
在数据发送到 Android 应用后,可通过以下步骤进行处理:
要处理接收到的事件,需要定义回调函数并将其注册到 NowGGEventsSdkManager。这可确保应用在事件发生时做出响应。
// 注册事件监听器
NowGGEventsSdkManager.Instance.OnEventReceivedFromBrowser += OnEventReceived;
// 初始化事件系统
NowGGEventsSdkManager.Instance.InitializeEvents();
// 定义回调函数以处理接收到的事件
private void OnEventReceived(String eventName, String eventData) {
// 根据 eventName 和 eventData 执行操作
}
在销毁父活动时,必须释放事件监听器以避免内存泄漏和不必要的回调。通常在应用的 OnDestroy() 方法中进行清理。
NowGGEventsSdkManager.Instance.DestroyEventsReceiver();
注意: DestroyEventsReceiver 方法会取消监听器的注册并释放相关资源。
我们提供了两种方法获取您从HTML页面发送到Android应用程序的应用启动数据。
您可以调用 NowGGEventsSdkManager 类的 GetAppLaunchDataDictionary() 函数,如下所示:
//获取所有应用启动数据参数的字典 Dictionary<string, string> AppLaunchData = NowGGEventsSdkManager.Instance.GetAppLaunchDataDictionary();
参考资料 – GetAppLaunchDataDictionary() 关联的附加信息可以在 此处找到。
您可以通过属性名调用 NowGGEventsSdkManager 类的 GetAppLaunchDataProperty() 函数,以获取特定的应用启动数据参数,如下所示:
//通过属性名获取应用启动数据的属性
string property = NowGGEventsSdkManager.Instance.GetAppLaunchDataProperty("property_name");
注意:若未找到属性则返回空字符串。
参考资料 – GetAppLaunchDataProperty() 关联的附加信息可以在 此处找到。