Unity事件模块

使用now.gg的Unity事件模块(Events Module),开发者通过位于now.gg云上的应用发送命令/事件到他们由now.gg提供技术支持的嵌入游戏运行的网站,可以方便地控制他们的应用。

要实现now.gg事件模块:

  • 下载并导入now.gg事件模块。
  • 使用now.gg事件模块。

下载并导入插件

now.gg事件模块包含于Unity包文件 nowgg-events.unitypackage

添加插件到您的Unity工程中:

  1. 下载包 含有Unity最新版本的now.gg事件模块。
  2. 下载完该模块后,请将其导入到您的Unity工程中。
    请执行以下操作:

    • 点击 Assets > Import Package > Custom Package.
    • 浏览下载包中的 Modules > Events 目录。
      • 选择 nowgg-events.unitypackage 文件。
    • 选择所有(All)列出的文件并点击导入(Import)

注意

  • 导入所有的模块文件后,一个名为’NowGGSdk‘的文件夹将被添加到您的工程中。您可以在资源(Assets)文件夹的根目录中找到此文件夹。
  • 请不要修改NowGGSdk文件夹,因为它包含了与now.gg事件模块相关的所有资源。

使用now.gg事件模块

导入now.gg事件模块后,您可以向您的Android应用程序/游戏发送命令/事件。

我们提供了一些示例命令/事件作为您实现的参考。

您可以使用 NowGGEventsSdkManager 类来触发事件,如下所示:

1. Open URL

您可以调用 NowGGEventsSDKManager 类的 OpenURL 函数,在新的浏览器窗口中打开提供的URL,如下所示:

string url = "https://example.com";

 NowGGEventsSdkManager.Instance.OpenURL(url);

参考资料 OpenURL() 关联的附加信息可以在 此处找到

2. 发送事件和数据到HTML页面

您可以使用必需的参数调用 NowGGEventsSDKManager 类的 SendEventToBrowser 函数,将事件和数据发送到您的HTML页面并在那里进行处理。

a. 发送事件到HTML页面

string eventName = "test-event";
 string eventData = "test-data";

 NowGGEventsSdkManager.Instance.SendEventToBrowser(eventName, eventData);

参考资料 SendEventToBrowser() 关联的附加信息可以在 此处找到

b. 在HTML页面处理事件

在数据被发送到您的HTML后,您可以在那里处理它,如下所示:

const eventCallbackFunction = (event) => {
   console.log(event.eventName); // event1
   console.log(event.eventData); // eventData1
  
   // 此处执行基于事件的处理
 }; 

3. 向 Android 应用发送事件和数据

now.gg 嵌入模块sendEventToApp 函数可以通过必要的参数向 Android 应用发送事件和数据并进行处理。

a. 向 Android 应用发送事件

sendEventToApp 函数通过 NowIfp 接口向应用发送自定义事件及相关数据。以下是示例代码:

const sendEventToApp = () => {
     const eventName = 'CustomEvent';
     const eventData = JSON.stringify({
         sample: 'case'
     });
     NowIfp.sendEventToApp(eventName, eventData);
 };

b. 在 Android 应用中处理事件

在数据发送到 Android 应用后,可通过以下步骤进行处理:

1. 声明事件回调并注册监听器

要处理接收到的事件,需要定义回调函数并将其注册到 NowGGEventsSdkManager。这可确保应用在事件发生时做出响应。

 // 注册事件监听器
 NowGGEventsSdkManager.Instance.OnEventReceivedFromBrowser += OnEventReceived;

 // 初始化事件系统
 NowGGEventsSdkManager.Instance.InitializeEvents();
 
 // 定义回调函数以处理接收到的事件
 private void OnEventReceived(String eventName, String eventData) {
     // 根据 eventName 和 eventData 执行操作
 }
2. 释放事件监听器

在销毁父活动时,必须释放事件监听器以避免内存泄漏和不必要的回调。通常在应用的 OnDestroy() 方法中进行清理。

NowGGEventsSdkManager.Instance.DestroyEventsReceiver();

注意: DestroyEventsReceiver 方法会取消监听器的注册并释放相关资源。


4. 在您的应用程序中获取应用的启动数据

我们提供了两种方法获取您从HTML页面发送到Android应用程序的应用启动数据。

a. 使用字典获取所有的应用启动数据参数

您可以调用 NowGGEventsSdkManager 类的 GetAppLaunchDataDictionary() 函数,如下所示:

//获取所有应用启动数据参数的字典

 Dictionary<string, string> AppLaunchData = NowGGEventsSdkManager.Instance.GetAppLaunchDataDictionary(); 

参考资料 – GetAppLaunchDataDictionary() 关联的附加信息可以在 此处找到

b. 使用属性名来获取特定的应用启动数据参数

您可以通过属性名调用 NowGGEventsSdkManager 类的 GetAppLaunchDataProperty() 函数,以获取特定的应用启动数据参数,如下所示:

//通过属性名获取应用启动数据的属性

 string property = NowGGEventsSdkManager.Instance.GetAppLaunchDataProperty("property_name");

注意:若未找到属性则返回空字符串。
参考资料GetAppLaunchDataProperty() 关联的附加信息可以在 此处找到

×

目录

Unity事件模块

目录

文档版本 1.0

文本已复制到剪贴板
copyLinkText
有疑问?请通过以下方式联系我们: dev-support@now.gg