로딩중입니다
[iOS] 定向弹窗通知 : Unity iOS
9/23/2015 3:13:23 PM

Live Operation 定向弹窗通知服务

Live Ops弹窗通知服务,当需要对用户发布通知时,可以使用弹窗形式的通知栏显示需要告知的内容。

通过弹窗通知功能可以向用户曝光活动内容和新增功能。


注意事项
  1. 集成 Live Operation add-on 之前,必须先集成 IGAW 共同集成。[IGAW 共同集成 : Unity iOS]
  2. 为了进行Live Operation的集成, IgaworksUnityPlugin_iOS~*.unitypackage 文件得包含在 Unity Project 内。 [SDK 安装 : Unity]



定向弹窗通知 初始化API

为了使用定向弹窗通知服务,根据以下步骤进行初始化。

建议在应用启动的时间点调用以下初始化 API。


输入用户识别码

用户识别码,是为了识别完成广告参与的用户时使用的信息。

必须在加载弹窗通知数据之前设定用户识别码。



注意事项

  1. 1名用户需有1个固定的用户识别码,不可使用可变的值。
  2. 不能包含(电子邮件,姓名,电话号码,可辨认的用户ID等)个人信息。
  3. 包含中文、韩文、特殊字符和空白等情况,必须进行URL Encoding处理。
  4. 调用 LiveOpsPopupGetPopups API 之前需要设定。

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

IgaworksCorePluginIOS.SetUserId("player1001");


定向弹窗通知 DataLoad

调用 LiveOpsPopupGetPopups api 加载 LiveOps 管理页面中设置的弹窗通知数据。

进行 DataLoad 之前,必须先设定用户识别码。

注意事项

  1. 未输入用户识别码,不可进行定向弹窗通知 DataLoad。
  2. 即使在 LiveOps 定向弹窗通知管理页面中添加了新的通知,如果不进行DataLoad的话,也无法在SDK中确认到新的通知。

请注意以上事项,进行定向弹窗通知 DataLoad。

LiveOpsPluginIOS.LiveOpsPopupGetPopups();



定向弹窗通知 API


定向弹窗通知曝光

调用 LiveOpsPopupShowPopups api 在需要的时间点曝光弹窗形式的通知。

通知中表现的内容,需是在定向弹窗通知管理页面中设置的值。

以下示例是使用 Delegate 完成接收的情况下,曝光弹窗通知。

public class MySampleScene : MonoBehaviour {

	// Use this for initialization
	void Start () {
		LiveOpsPluginIOS.LiveOpsSetCallbackHandler("MySampleScene");

		// Delegate 登录
		LiveOpsPluginIOS.liveOpsPopupGetPopupsResponded += HandleLiveOpsPopupGetPopupsResponded;

        // Delegate 实现
    	public void HandleLiveOpsPopupGetPopupsResponded()
    	{
		LiveOpsPluginIOS.LiveOpsPopupShowPopups("弹窗通知 Space Key");
    	}
}

+ 弹窗通知 Space Key,在定向弹窗通知管理页面中获取。


强行关闭定向弹窗通知

使用终止 api 直接进行关闭弹窗通知处理。

// 仅关闭现在曝光的弹窗通知
LiveOpsPluginIOS.LiveOpsPopupDestroyPopup();

// 关闭包括现在曝光的弹窗以外的所有处于待命状态的弹窗。
LiveOpsPluginIOS.LiveOpsPopupDestroyAllPopups();



追加选择

弹窗通知 目标用户

设置用户群,可以直接选择接收对象。
请直接设定为了设置用户群所使用的数据。

设置目标用户数据

为了只对目标用户发送定向弹窗通知,可以设定自定义用户数据。
设定的自定义用户数据,可以在定向弹窗通知管理页面确认。以下示例是将购买次数作为自定义数据来收集。
//LiveOpsSetTargetingNumberData(int customUserData, string customUserDataKey);
//LiveOpsSetTargetingStringData(string customUserData, string customUserDataKey);

LiveOpsPluginIOS.LiveOpsSetTargetingNumberData(86, "age");
customUserData : 输入用于目标定位的用户数据
customUserDataKey : 设置用户自定义数据Key

目标用户数据同步

调用 flush api 将目标用户数据与 LiveOps 服务器进行同步。当应用转换为后台或再次启动时,自动反应至服务器。必要情况下调用该 API。

LiveOpsPluginIOS.LiveOpsFlush();


定向弹窗通知 Deep Link

通过定向弹窗通知Deep Link 功能,可以处理基于定向弹窗通知的各种动作。

  • Deep Link 可以在定向弹窗通知管理页面中注册
  • Deep Link 数据仅支持 Json 形式
public class NewBehaviorScript : MonoBehavior {

	// Use this for initialization
	void Start () {
		LiveOpsPluginIOS.LiveOpsSetCallbackHandler("MySampleScene");

		// Delegate 登录
		LiveOpsPluginIOS.LiveOpsPopupSetPopupLinkListenerCalled += HandleLiveOpsPopupSetPopupLinkListenerCalled;
	}
	
        // Delegate 实现
    	public void HandleLiveOpsPopupSetPopupLinkListenerCalled(string popupLinkListenerResult)
    	{

	string[] results = popupLinkListenerResult.Split(',');
	//results[0] : 弹窗 Space Key
	//results[1] : Deep Link 数据
	Debug.Log ("IgaworksADSample HandleLiveOpsPopupSetPopupLinkListenerCalled " + results[0] + results[1]);
	}	    
}


弹窗通知 Delegate

对弹窗通知中发生的 event 提供 Delegate。以下是提供的 delegate 和示例。


弹窗通知链接直接进入 Delegate

通过 Delegate 使用传达的数据,可以打开弹窗链接指向需要的功能。

public class MySampleScene : MonoBehaviour {

	// Use this for initialization
	void Start () {
		LiveOpsPluginIOS.LiveOpsSetCallbackHandler("MySampleScene");

		// Delegate Handler 登录
		LiveOpsPluginIOS.LiveOpsSetPopupLinkListener();

		// Delegate 登录
		LiveOpsPluginIOS.liveOpsPopupSetPopupLinkListenerCalled += HandleLiveOpsPopupSetPopupLinkListenerCalled;
	
        // Delegate 实现
    	public void HandleLiveOpsPopupSetPopupLinkListenerCalled(string popupLinkListenerResult)
    	{
	// 直接进入弹窗通知后的结果通过 Delegate 传达
	
        string[] results = popupLinkListenerResult.Split(',');
	//results[0] : 点击直接进入弹窗的 SpaceKey
	//results[1] : 如果登录了 json 形式的 DeepLink,该 json 个体的 json string
        Debug.Log ("IgaworksADSample : HandleLiveOpsPopupSetPopupLinkListenerCalled " + results[0] + ", " + results[1]);
        
	// 直接进入后,需要强行关闭弹窗的话,需在这里调用以下的 api
        LiveOpsPluginIOS.LiveOpsPopupDestroyPopup();     
    }
}


弹窗通知关闭 Delegate

通过 Delegate 使用传达的数据,在关闭弹窗时执行需要的功能。
public class MySampleScene : MonoBehaviour {

	// Use this for initialization
	void Start () {
		LiveOpsPluginIOS.LiveOpsSetCallbackHandler("MySampleScene");

		// Delegate Handler 登录
		LiveOpsPluginIOS.LiveOpsSetPopupCloseListener();

		// Delegate 登录
		LiveOpsPluginIOS.liveOpsPopupSetPopupCloseListenerCalled += HandleLiveOpsPopupSetPopupCloseListenerCalled;
	
        // Delegate 实现
    	public void HandleLiveOpsPopupSetPopupCloseListenerCalled(string popupCloseListenerResult)
    	{
	// 弹窗关闭的结果通过 Delegate 传达
	string[] results = popupCloseListenerResult.Split(',');
        //results[0] : 点击关闭弹窗的 Spcace Key
	//results[1] : 点击关闭弹窗的 Campaign Name
	//results[2] : 如果登录了 json 形式的 DeepLink 的话,该 json 个体的 json string
	//results[3] : 此弹窗后需要打开的弹窗数 (string Type)
        Debug.Log ("IgaworksADSample : HandleLiveOpsPopupSetPopupCloseListenerCalled " + results[0] + ", " + results[1] + ", " + results[2] + ", " + results[3]);    
    }
}