로딩중입니다
[AOS] Live Operation 集成 : Unity Android
12/11/2017 6:12:20 PM

Live Operation 服务

Live Operation 服务(简称 LiveOps) 会支持如下两种功能。

  A. [定向推送功能] 筛选出应用里的用户,可以向目标用户发送推送信息。

  B. [定向弹窗通知功能] 需要对用户发布通知时,可以弹出通知栏告知各种内容。

通过 LiveOps 对接,可以使用并运营更提升的推送功能、向用户通知活动内容的弹窗功能。
需要更详情的 LiveOps 服务介绍及适用方式,请参考如下文档。

[LiveOps 服务介绍]


若 LiveOps 对接上所需要帮忙的话,请联系至如下邮件地址。

技术咨询 - 中国事业部 (china@igaworks.com)


注意事项
  1. 为了对接 LiveOps 服务,需要先 Google Play Services 对接。[Google Play Services 设置
  2. 为了对接 LiveOps 服务,需包含最新版本的 android-support-v4.jar (需求版本为 ver26 以上) [Google 详情文档]
  3. 若 FCM 和 LiveOps 同时使用的话,请参考文档进行对接。[LiveOps FCM 文档



SDK 下载及安装

在 [SDK 下载中心] 文档里下载最新版本的 Unity Android SDK Pacakge。

已下载的 Unity Package File,需在 Unity Project 上 import。


若 LiveOps 和 FCM 同时使用时,需删除 GCM 及会冲突的 Library。


 注意!!!  为了使用 LiveOps 服务,红框的 support library 必须适用于 26以上的版本。




AndroidManifest 设置

为了使用 LiveOps 支持的服务,需在 AndroidManifest.xml 上添加如下内容。


添加 App Key & Hash Key

IGAWorks 官网上注册并登录应用完成后,在 <application></application> 标签上输入相应的 App Key & Hash Key。

<application>
        ...
            <meta-data android:name="igaworks_app_key" android:value="请输入官网上确认的 App Key" />
            <meta-data android:name="igaworks_hash_key" android:value="请输入官网上确认的 Hash Key" />
        ...
        </application>


添加 Permission

在 <manifest></manifest> 标签上添加如下必备 Permission。

<manifest>
        ...
            <uses-permission android:name="android.permission.INTERNET"/>
            <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
            <uses-permission android:name="android.permission.WAKE_LOCK"/>
            <uses-permission android:name="android.permission.VIBRATE"/>
            <!-- LiveOps v1.3.6 版本以上时不需添加如下 Permission。 --> 
            <uses-permission android:name="android.permission.GET_TASKS"/>
            <!-- C2DM Permission --> 
            <permission android:name="MY_PACKAGE_NAME.permission.C2D_MESSAGE" android:protectionLevel = "signature"/>
            <uses-permission android:name="MY_PACKAGE_NAME.permission.C2D_MESSAGE"/> 
            <uses-permission android:name="com.google.android.c2dm.permission.RECEIVE"/>
        ...
        </manifest>

+ 在 C2DM Permission 设置的 MY_PACKAGE_NAME 中,输入在对接中的 Package Name。


添加 Receiver

       在 <application></application> 标签上登录 LiveOps 所需的必备 Receiver 和 Service。

<!-- IGAWorks GCM Broadcast Receiver -->
        <receiver android:name="com.igaworks.liveops.pushservice.LiveOpsGCMBroadcastReceiver"
            android:permission="com.google.android.c2dm.permission.SEND" >
            <intent-filter>
                <action android:name="com.google.android.c2dm.intent.RECEIVE" />
                <action android:name="com.google.android.c2dm.intent.REGISTRATION" />
                <category android:name="MY_PACKAGE_NAME" />
            </intent-filter>
        </receiver>
        
        <!-- IGAWorks Push Service -->
        <service android:enabled="true" android:name="com.igaworks.liveops.pushservice.GCMIntentService" />
        
        <!-- Client Push App Receiver -->
        <receiver android:name="com.igaworks.liveops.pushservice.LiveOpsReceiver"
            android:permission="MY_PACKAGE_NAME.permission.C2D_MESSAGE">
            <intent-filter>
                <action android:name="com.igaworks.liveops.pushservice.CLIENT_PUSH_RECEIVE"/>
            </intent-filter>
        </receiver>

+ Receiver 设置的 MY_PACKAGE_NAME 中,输入在对接中的 Package Name。


OREO 版本的支持 API

在 <manifest></manifest> 标签上登录如下支持 Android 8.0 OREO 版本的 API。

<uses-sdk android:minSdkVersion="14" android:targetSdkVersion="26"/>




基本对接

Session Tracking : 自动

为了使用 IGAWorks 支持的基本分析,请参考如下对接内容。
目前应用支持 Android 4.0.4 版本以上的话,请使用如下 autoSessionTracking 代码来进行对接。

请在 AndroidManifest.xml 上添加如下代码后激活 autoSessionTracking 功能。
<application
    android:name="com.igaworks.IgawDefaultApplication"
    ... 中略 ...
>
</application>

使用自己的 application class 情况时, 
按如下示例一样已在使用 application class 时,在 application class onCreate() 上添加 autoSessionTracking api。
<!-- AndroidManifest.xml -->
<application
    android:name="PACKAGE_NAME.YourCustomApplication"
    ... 中略 ...
>
</application>
// 声明 using 指示文。
            using IgaworksUnityAOS;
            
            public class MySampleScene : MonoBehavior { 
                void Awake() {
                    //在 Unity Engine 初始化时,IGAW Plugin 也一起初始化。
                    IgaworksUnityPluginAOS.InitPlugin ();
                }
            }
 注意!!!  Application class 上除了 autoSessionTracking API 外,不需调用任何 adbrix 分析用 API。


Session Tracking : 手动

为了使用 IGAWorks 支持的基本分析,请参考如下对接内容。
目前应用支持 Android 4.0.4 以下都能包含或手动 Session Tracking 的话,请参考如下内容进行对接。
初始化 Plugin

应用启动后 Unity 初始化时,同时调用 init 和 startApplication api 来初始化 Plugin。

// 声明 using 指示文。
            using IgaworksUnityAOS;
            
            public class MySampleScene : MonoBehavior { 
                void Awake() {
                    //在 Unity Engine 初始化时,IGAW Plugin 也一起初始化。
                    IgaworksUnityPluginAOS.InitPlugin ();
                }
            }

应用会 foreground 或 background 转换时点也需要调用。

startSession, endSession 调用
public class MySampleScene : MonoBehavior {
                    
    //应用开始
    void Start()
    {
        //Unity 5.3以下版本首次启动应用时,不能 Retuen 为 OnApplicationPause 原因,需要直接调用 startSession。      
        #if UNITY_5_3_OR_NEWER
            Debug.Log("Current Unity version is UNITY_5_3_OR_NEWER");
        #else            
            IgaworksUnityPluginAOS.Common.startSession();
        #endif
    }

    //确认应用状态
    void OnApplicationPause(bool pauseStatus){
        
        if (pauseStatus) {
        Debug.Log ("go to Background");
        IgaworksUnityPluginAOS.Common.endSession();
    } else {
        Debug.Log ("go to Foreground");
        IgaworksUnityPluginAOS.Common.startSession();
    }
} 




推送对接 : 服务器


初始化 SDK 

为了使用 LiveOps - 推送服务,在应用里的 Main Activity 上使用如下 API 完成基本对接。
对接完成后,可以使用服务器上的推送服务。同时还能追踪推送消息的阅览情况。

    • Igaw~.Common.setUserId(string userId);
    • Igaw~.LiveOps.initialize();
    • Igaw~.LiveOps.resume();
public class MySampleScene : MonoBehavior {

    void Start () {
        //必须得设置用户识别码。
        IgaworksUnityPluginAOS.Common.setUserId("bXlBY2NvdW50X25hbWU=");
        //初始化 LiveOps SDK
        IgaworksUnityPluginAOS.LiveOps.initialize ();
    }

    void OnApplicationPause(bool pauseStatus){
        
        if (pauseStatus) {
            IgaworksUnityPluginAOS.Common.endSession();
        } else {
            IgaworksUnityPluginAOS.Common.startSession();
            //激活 LiveOps
            IgaworksUnityPluginAOS.LiveOps.resume();
        }
    }
}  
           
+ LiveOps 服务器发送的推送信息阅览时,在 AndroidManifest 的 Launcher 上登录的 Activity 调用。
+ 使用 setUserId API 登录用户识别码,才能包含在 '可以发推送信息' 的对象范围。
+ 使用中文、韩文、空白、特殊字符等时,必须 URL 进行编码后使用。
+ 为了追踪推送阅览现状,应用在转变 foreground 时需调用 resume api。



输入用户识别码(User Id)

用户识别码是为了 LiveOps 判断用户所需的一种信息。


注意事项

    1. 每一用户只有一个固定的用户识别码。而且不可以使用变量的值。
    2. 不可以包含个人信息。(如邮件、性别、电话号码、可识别的 User ID 等)
    3. 若包含中文、韩文、空白及特殊字符等时,必须 URL 进行编码后使用。
    4. 需在 IgawLiveOps.initialize API 调用前时点上设置。

请留意以上注意事项,输入用户识别码。

IgaworksUnityPluginAOS.Common.setUserId("bXlBY2NvdW50X25hbWU=");



对接 DeepLink / 服务器推送

LiveOps 服务器推送服务上还支持 DeepLink 功能。
DeepLink 功能时用户收到并打开推送消息时,可以运作 DeepLink 数据上所指定的动作。

DeepLink 数据是在 LiveOps 管理页面上可以生成及管理如下 3种形式。

种类 形式
URL (Http Type) http://www.igaworks.com
URL (Custom Scheme Type) myApp://activity.com
Json Type {"key":"value", "igaworks":"sample"}


  • URL (http Type) 及 Json 

覆盖(override) onNewIntent 参数,可以根据 DeepLink Type 来实现及使用。
public class MainActivity extends Activity{ 
	@Override
	protected void onCreate(Bundle savedInstanceState) {
		// TODO Auto-generated method stub
		super.onCreate(savedInstanceState);
 
		IgawCommon.setUserId(MainActivity.this"userid_123123123");
		IgawLiveOps.initialize(MainActivity.this);
 
		//通过 onNewIntent Listener 传达 intent。
		onNewIntent(getIntent());
	}
 
	@Override
	protected void onNewIntent(Intent intent) {
		super.onNewIntent(intent);
		/* 根据 DeepLink Type,请参考如下内容进行实现。 */
 
		/* 1. App Scheme Type(myApp://deepLinkAction) 来实现 DeepLink 功能
		 * 
		 * 通过 DeepLink 里的 App Scheme Action 进行启动。
		 * IgawLiveOps.onNewIntent(MainActivity.this, intent);
		 */
 
		/* 2. Json 字符串形式({“url”:”deepLinkAction”}) 来实现 DeepLink 功能
		 * 
		 * 通过 DeepLink 上接受的 Json 字符串导出后,再变更 Json Object。
		 * String jsonStr = intent.getStringExtra("com.igaworks.liveops.deepLink");
		 * JSONObject jsonObj;
		 * try {
		 *     jsonObj = new JSONObject(jsonStr);
		 *     //Json Object Parsing 后,实现需要运行的动作。
		 * } catch (Exception e) {
		 *     // TODO: handle exception
		 * }
		 */
	}
}

  • URL (Custom Scheme Type)

在 Manifest 文件上添加 IgawLiveOpsPushMessageLauncherActivity。然后点击推送消息时,将打开 Activity 的 <intent-filter></intent-filter> 标签上输入 Scheme 和 host 内容。若 Custom Scheme 为 myApp://activity.com 情况时,在 scheme 上输入 myApp、host 上输入 activity.com。
<!-- 添加 IgawLiveOpsPushMessageLauncherActivity。-->
<activity 
	android:name="com.igaworks.liveops.pushservice.IgawLiveOpsPushMessageLauncherActivity" 
	android:permission="MY_PACKAGE_NAME.permission.C2D_MESSAGE"
	android:noHistory="true"/> 


<!-- 设置 DeepLink 配置的 Activity。-->
<activity android:name="com.example.DeeplinkActivity">
	<intent-filter>
	<data android:scheme="myApp" android:host="activity.com" />
		  <action android:name="android.intent.action.VIEW" />
      		  <category android:name="android.intent.category.DEFAULT" />
      		  <category android:name="android.intent.category.BROWSABLE" />
	</intent-filter>            
</activity>
+ 在 MY_PACKAGE_NAME 上输入对接中的 Package Name。




推送对接 : 客户端

LiveOps 服务是通过客户端上的 API,可以直接生成及使用客户端推送功能。
一般客户端推送是在应用内指定的条件和用户符合时,自动生成及曝光推送消息。
而且开发商服务器和应用直接可以通讯的话,可以掌握服务器活动并自动创建推送信息。

客户端推送功能会支持  '普通推送' 和 '大容量文字推送'。

普通客户端推送

普通客户端推送是由基本文字构成的一种推送。
使用 setNormalClientPushEvent API,可以生成及曝光推送。
IgaworksUnityPluginAOS.LiveOps.setNormalClientPushEvent(
    1,                 	// Delay seconds. 设置为多少秒后发推送的事项。
    "Let’s play now!",      // 想要传送的推送内容。
    1,			// Event ID, 为了取消时使用的值。
    false			// 设置为应用在运行中是否显示推送信息。
);


大容量客户端推送

大容量推送是最多可发送 160个字符(韩文、中文、英文共同) 的一种推送。
而且还会支持在 Android 应用上的 html 形式。(粗体、下划线、字体颜色)
使用 setBigTextClientPushEvent API,可以生成及曝光推送。
IgaworksUnityPluginAOS.LiveOps.setBigTextClientPushEvent(
    1, 				// Delay seconds, 设置为多少秒后发推送的事项。
    "contentText", 			// contents
    "bigContentTitle", 		// 普通推送内容。
    "Let's play now! WoooooooW!!",	// 推送中显示的大文字。
    "summaryText", 			// 推送中显示的摘要文字。
    1, 				// Event ID, 为了取消时使用的值。
    false				// 设置为应用在运行中是否显示推送信息。
);
+ 推送曝光方式
随着推送形式、Android OS 版本和推送信息的状态,曝光的方式有所不同。
需要更详情方式的话,请参考如下文档。




推送对接 : 附加选项


定向目标用户

设置用户群后,可以直接选择推送的用户对象。
为了设置用户群,需直接设定数据。


设置 Targeting Data
为了向定向用户发推送消息,先设定自定义用户数据。
已设定的自定义用户数据,在管理界面上能确认。如下示例是以购买次数为收集的自定义用户数据。
//IgaworksUnityPluginAOS.LiveOps.setTargetingData(String user_group, Object user_data);
//user_group : 在管理页面上能确认的用户群名。
//user_data : 用户群上所登录的用户数据。在 user_data 会支持 int, long, double, bool, object 形式。
//示例) 购买用户的群离殇登录 "purchaseCount" 的购买次数数据。
IgaworksUnityPluginAOS.LiveOps.setTargetingData("purchaseCount", 10);
+ customUserData : 为了定向推送,请输入用户数据。会支持 bool, int, long, float, String 形式。
+ customUserDataKey : 设置用户的自定义数据识别值。



同步 Targeting Data
调用 resume api ,把设置的定向用户数据同步在 LiveOps 服务器。
OnApplicationPause() 上添加如下代码。
void OnApplicationPause(bool pauseStatus){
    if (pauseStatus){
        Debug.Log("go to Background");
        IgaworksUnityPluginAOS.Common.endSession();
    }
    else{
        Debug.Log("go to Foreground");
        IgaworksUnityPluginAOS.Common.startSession();
        IgaworksUnityPluginAOS.LiveOps.resume();
    }
}



手动同步
想要手动同步定向相关数据时,调用 flush api 向 LiveOps 服务器进行同步。
IgaworksUnityPluginAOS.LiveOps.flushTargetingData ();



推送接收 on/off

在服务器推送上再能设置推送接受与否。一般情况下,用户决定推送信息接收与否的情况时才调用 API。
而且提供推送接受与否时间的 Delegate。使用该 Delegate,可以处理推送接受与否的结果。

设置推送接收与否
调用 enableService API,参数及示例参考如下;
  • true : 接收推送信息。
  • false : 拒绝推送信息。
//true:接收状态, false:拒绝状态
            IgaworksUnityPluginAOS.LiveOps.enableService (false);



替换推送 Icon Image


Unity 5.0版本以下

定向推送中使用的 Push icon image,需使用已 Launcher Icon 上登录的 App icon image。

为了获取 Google featured 需替换图片时,可以调用 setNotificationIconStyle api 来替换图片。

//IgaworksUnityPluginAOS.LiveOps.setNotificationIconStyle(string smallIcon, string largeIcon, string iconbackground_argb);
IgaworksUnityPluginAOS.LiveOps.setNotificationIconStyle ("ic_small_filename", "ic_large_filename", "ff9d261c");

+ IgaworksUnityPluginAOS.LiveOps.initialize api 之后调用。

+ 图片文件名上仅输入名称。不许输入图片扩展名。

+ 所有分辨率的 Drawable 文件上都添加相应的图片。



Unity 5.0版本以上
Unity 5.0 以上的版本无法直接添加 Image resource。因此再创建 .aar 文件并添加 Image resource。 
aar 文件是通过 Android Studio 可以直接生成。若不会使用 Android Studio 的话,参考如下样本进行对接。

※ Sample.aar 文件使用方式

1. 下载的 aar 文件,进行加压。(7-zip)
2. 解压后的文件中,在 res > drawable 文件上添加想要使用的 icon image。(image 需添加所有 drawble 分辨率。)
3. 添加 icon image 后,在命令提示字符或 terminal 上输入如下命令并在压缩 arr 文件。
jar cvf fileName.aar -C sampleaarFolder/ .
4. 已生成的 arr 文件,添加到 Assets -> Plugins -> Android 文件上。
5. 调用 setNotificationIconStyle api。
IgaworksUnityPluginAOS.LiveOps.setNotificationIconStyle ("ic_small_filename", "ic_large_filename", "ff9d261c");



通知设置

在 Android 5.0以上的版本可以设置浮动通知(Heads-up notification) 和锁屏画面的通知功能。

浮动通知功能是在处于激活的状态下曝光通知。锁屏画面通知功能是在锁屏画面上曝光通知。

(更多样详情查看 Google Guide [转移到 Google 参考文件])

调用 setNotificationOption api,可以设置浮动 / 锁屏画面通知。


设置浮动通知 (priority)

    • PRIORITY_MAX (int:2), 使用浮动通知
    • PRIORITY_HIGH (int:1), 使用浮动通知
    • PRIORITY_DEFAULT (int:0), 不使用浮动通知
    • PRIORITY_LOW (int:-1), 不使用浮动通知
    • PRIORITY_MIN (int:-2), 不使用浮动通知

设置锁屏画面通知 (visibility)

    • VISIBILITY_SECRET (int:-1), 不使用 Lock Screen 通知
    • VISIBILITY_PRIVATE (int:0), 使用不显示内容的 Lock Screen
    •  VISIBILITY_PUBLIC (int:1), 使用 Lock Screen 中显示全体内容的通知
// void setNotificationOption(int priority, int visibility)
IgaworksUnityPluginAOS.LiveOps.setNotificationOption(IgaworksUnityPluginAOS.AndroidNotificationPriority.PRIORITY_HIGH, IgaworksUnityPluginAOS.AndroidNotificationVisibility.VISIBILITY_PUBLIC);
+ 锁屏画面通知是,用户设备中设置为 '隐藏敏感内容' 时才会运行。
+ 锁屏画面通知是,在使用 Lock Screen 时会异常运行。



通知摘要 (InboxStyle)


将多个通知概括成一个摘要通知。Inbox Style 只适用于服务器推送。
(*客户端推送是无法获取推送 ID 的原因,不支持 Inbox Style。)

调用 setStackingNotificationOption api,设置如下想要适用的内容。

设置通知摘要 (useStacking)

    • true : 使用通知摘要功能,进行曝光。
    • false : 不使用通知摘要功能。

设置摘要通知曝光 (useTitleForStacking)

    • true : 打开摘要通知的同时曝光题目。
    • false : 打开摘要通知的同时曝光内容。

设置摘要通知的题目、内容 (ContentTitle, ContentText)

    • empty :  曝光最新通知的题目及内容。
    • your_custom_message : 曝光在 api 上调用的题目及内容。

设置在打开摘要通知时曝光的题目 (bigContentTitle)

    • empty : 曝光 ContentTitle。
    • your_custom_message : 曝光在 api 上调用的题目。

设置在打开摘要通知时的摘要内容 (bigContentSummaryText)

    • empty : 不使用内容摘要。
    • your_custom_message : 曝光在 api 上调用的内容。
//void setStackingNotificationOption(bool useStacking, bool useTitleForStacking, string ContentTitle, string ContentText, string bigContentTitle, string bigContentSummaryText)
IgaworksUnityPluginAOS.LiveOps.setStackingNotificationOption(true, false, "More events are waiting for you", "See detail", "All events", "For Summary Text");




弹窗对接

为了使用 LiveOps - 弹窗服务,按照如下步骤进行初始化。

如下初始化相关 API 调用时点为 "应用启动之后"。(推荐)



输入用户识别码 (User Id)

用户识别码是为了 LiveOps 判断用户所需的一种信息。


注意事项

    1. 每一用户只有一个固定的用户识别码。而且不可以使用变量的值。
    2. 不可以包含个人信息。(如邮件、性别、电话号码、可识别的 User ID 等)
    3. 若包含中文、韩文、空白及特殊字符时,必须 URL 进行编码后使用。
    4. 需在 IgawLiveOps.initialize API 调用前时点上设置。

请留意以上注意事项,输入用户识别码。

IgaworksUnityPluginAOS.Common.setUserId("bXlBY2NvdW50X25hbWU=");



加载弹窗通知数据

调用 requestPopupResources api,加载在 LiveOps 管理页面上设置的所有弹窗相关数据。

加载弹窗数据前,必须完成设置 '用户识别码'。


注意事项

  1. 未输入用户识别码时,无法加载弹窗相关数据。
  2. 即使在 LiveOps 弹窗管理页面上添加新的弹窗,但是没加载弹窗数据的话,在 SDK 中无法确认信登录的弹窗内容。

请留意以上的注意事项,请加载弹窗通知数据。

IgaworksUnityPluginAOS.LiveOps.requestPopupResource();



曝光弹窗通知 API

调用 showPopup api,在想要显示的时点上曝光弹窗形式的通知。

弹窗中显示的内容是,在弹窗通知管理页面上设置的内容。

如下是以点击 showPopupNotiBtn 按钮时,曝光弹窗通知的示例。

void OnGUI() {
    //曝光弹窗通知。
    if(GUI.Button (new Rect(100,100,200,200), "showPopupNoti")) {
        IgaworksUnityPluginAOS.LiveOps.showPopUp("弹窗通知 Space_key");
    }
}

弹窗通知的 Space Key,只能在弹窗通知管理界面上才会获取。



弹窗通知 DeepLink

使用弹窗通知上的 DeepLink 功能,可以处理更多样的弹窗动作。

void Start() {
    //设置 DeepLink Delegate
    IgaworksUnityPluginAOS.OnReceiveDeeplinkData = mOnReceiveDeeplinkData;
}

//实现 DeepLink Delegate
void mOnReceiveDeeplinkData(string deeplink) {
    //在使用 DeepLink Data,执行后续动作。
    Debug.Log("deep link data :::: " + deeplink);
}

DeepLink 是可以在弹窗通知管理界面上登录。

DeepLink 是支持 Json 形式。



弹窗通知里的用户定向

在弹窗通知界面上创建用户群,可以直接选择并曝光用户对象。

为创建用户群的各种数据,可以直接设置。


设置定向数据

为了对定向的用户上显示弹窗通知,可以直接设置 '自定义用户数据(Custom User Data)'。

自行已设置的用户数据,可以在弹窗通知管理界面上能够确认。如下是以购买次数为获取定向用户数据的示例。

//IgaworksUnityPluginAOS.LiveOps.setTargetingData(string  customUserDataKey, string customUserData);
IgaworksUnityPluginAOS.LiveOps.setTargetingData("purchaseCount", purchaseCount);

customUserData 输入定向用户的数据。支持 bool、int、long、float、String 形式。

customUserDataKey 设置用户自定义值(User Custom Data Key)。



同步定向数据

调用 resume api,将设置的定向数据同步到 LiveOps Serve。

需在 Activity 的 onResume() 上添加像如下;

//确认应用现状
void OnApplicationPause(bool pauseStatus){
    if (pauseStatus) {
        Debug.Log ("go to Background");
    } else {
        Debug.Log ("go to Foreground");
    //同步定向数据
    IgaworksUnityPluginAOS.LiveOps.resume();
    }
} 




弹窗通知 : 追加选项


弹窗通知 Event Listener

提供在弹窗通知上发生 Click Event 的 Listener。

    • OnLiveOpsCancelPopupBtnClick : 弹窗通知关闭事件
    • OnLiveOpsPopupClick : 弹窗通知点击事件

 使用 setLiveOpsPopupEventListener api,登录及实现 Delegate。

void Start () {
    IgaworksUnityPluginAOS.LiveOps.setLiveOpsPopupEventListener ();

    IgaworksUnityPluginAOS.OnLiveOpsCancelPopupBtnClick = mOnLiveOpsPopupCancel;
    IgaworksUnityPluginAOS.OnLiveOpsPopupClick = mOnLiveOpsPopupClick;
}

void mOnLiveOpsPopupCancel(){
    Debug.Log("PopupCancel :::: call");
}

void mOnLiveOpsPopupClick(){
    Debug.Log("PopupClick :::: call");
}



弹窗通知强制关闭

不需用户的点击事件,使用如下 API 可以处理强制关闭弹窗通知。


关闭目前弹窗通知

调用 destroyPopup api,强制关闭最上端的弹窗通知。

IgaworksUnityPluginAOS.LiveOps.destroyPopup ();


关闭所有弹窗通知

调用 destroyAllPopups api,强制关闭所有弹窗通知。(包括等待中的弹窗数据)

IgaworksUnityPluginAOS.LiveOps.destroyAllPopups ();