Live Operation 定向弹窗通知服务
Live Ops弹窗通知服务,当需要对用户发布通知时,可以使用弹窗形式的通知栏显示需要告知的内容。
通过弹窗通知功能可以向用户曝光活动内容和新增功能。
注意事项
- 集成 Live Operation add-on 之前,必须先集成 IGAW 共同集成。[IGAW 共同集成 : Unity iOS]
- 为了进行Live Operation的集成, IgaworksUnityPlugin_iOS~*.unitypackage 文件得包含在 Unity Project 内。 [SDK 安装 : Unity]
定向弹窗通知 初始化API
为了使用定向弹窗通知服务,根据以下步骤进行初始化。
建议在应用启动的时间点调用以下初始化 API。
输入用户识别码
用户识别码,是为了识别完成广告参与的用户时使用的信息。
必须在加载弹窗通知数据之前设定用户识别码。
注意事项
- 1名用户需有1个固定的用户识别码,不可使用可变的值。
- 不能包含(电子邮件,姓名,电话号码,可辨认的用户ID等)个人信息。
- 包含中文、韩文、特殊字符和空白等情况,必须进行URL Encoding处理。
- 调用 LiveOpsPopupGetPopups API 之前需要设定。
请注意以上事项,输入用户识别码。
IgaworksCorePluginIOS.SetUserId("player1001");
定向弹窗通知 DataLoad
调用 LiveOpsPopupGetPopups api 加载 LiveOps 管理页面中设置的弹窗通知数据。
进行 DataLoad 之前,必须先设定用户识别码。
注意事项
- 未输入用户识别码,不可进行定向弹窗通知 DataLoad。
- 即使在 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]);
}
}