Live Operation ポップアップメッセージ
Live Operationポップアップメッセージは、ユーザーに表示するお知らせや情報などを、
ポップアップ型のメッセージが面を利用して表示するサービスです。
ポップアップメッセージを利用して、実施しているイベントや新規機能のリリースなどの案内を行うことができます。
ご注意
- Live Opeartion Add-onを連携する前に、IGAW基本連携を完了してください。「IGAW基本連携:Unity iOS」
- Live Operationの連携のために、IgaworksUnityPlugin_iOS~*.unitypackage ファイルをUnityプロジェクトを追加してください。「SDKインストール:Unity」
ポップアップメッセージ初期化 API
ポップアップメッセージサービスを利用するために、以下のステップに沿い初期化を進めます。
以下の初期化APIは、アプリを起動する地点に設定することをお勧めします。
ユーザー識別値の入力
ユーザー識別値は、Live Operationでユーザーを判断するために利用する情報です。
ユーザー識別値はポップアップメッセージのデータをロードする前に設定してください。
ご注意
- 1名のユーザーには、1つのユニークな識別値を持つ必要があります。可変値を利用してはいけません。
- 個人情報(メールアドレス、名前、電話番後、識別できるユーザーIDなど)を含めてはいけません。
- 日本語、特殊文字、空白などが含まれている場合、必ずURLインコード処理を行って利用してください。
- LiveOpsPopupGetPopups APIを呼び出す前に設定してください。
上記の内容の参考の上、ユーザー識別値を入力します。
IgaworksCorePluginIOS.SetUserId("player1001");
ポップアップデータのロード
LiveOpsPopupGetPopups apiを呼び出して、ポップアップメッセージ管理画面で設定したデータをロードします。
データロードをする前に、ユーザー識別値を設定してください。
ご注意
- ユーザー識別値が入力されていない場合、ポップアップメッセージのデータロードをすることができません。。
- Live Operationポップアップメッセージ管理画面から新規メッセージを追加しても、データロードが完了されない場合、SDKでは新規メッセージを確認することができません。
上記の内容の参考の上、ポップアップメッセージデータをロードします。
LiveOpsPluginIOS.LiveOpsPopupGetPopups();
ポップアップメッセージ API
ポップアップの表示
LiveOpsPopupShowPopups apiを呼び出し、ポップアップメッセージを表示したい地点でポップアップ形のメッセージを表示します。
メッセージで表示される内容はポップアップメッセージの管理画面から設定した数値である必要がございます。
以下の例は showPopupNotiBtn ボタンをクリックした時、ポップアップメッセージを表示することを想定して作成したものです。
public class MySampleScene : MonoBehaviour {
// Use this for initialization
void Start () {
LiveOpsPluginIOS.LiveOpsSetCallbackHandler("MySampleScene");
// デリゲートの登録
LiveOpsPluginIOS.liveOpsPopupGetPopupsResponded += HandleLiveOpsPopupGetPopupsResponded;
// デリゲートの実装
public void HandleLiveOpsPopupGetPopupsResponded()
{
LiveOpsPluginIOS.LiveOpsPopupShowPopups("ポップアップスペースキー");
}
}
public class MySampleScene : MonoBehaviour {
// Use this for initialization
void Start () {
LiveOpsPluginIOS.LiveOpsSetCallbackHandler("MySampleScene");
// デリゲートの登録
LiveOpsPluginIOS.liveOpsPopupGetPopupsResponded += HandleLiveOpsPopupGetPopupsResponded;
// デリゲートの実装
public void HandleLiveOpsPopupGetPopupsResponded()
{
LiveOpsPluginIOS.LiveOpsPopupShowPopups("ポップアップスペースキー");
}
}
+ ポップアップスペースキーは、「Live Operation→ポップアップメッセージ→メッセージ登録→ポップアップスペースの追加」で発行してください。
ポップアップメッセージの強制終了
終了APIを利用してポップアップメッセージの終了を直接行うことができます。
// 現在表示されたポップアップだけ終了
LiveOpsPluginIOS.LiveOpsPopupDestroyPopup();
// 現在表示されたポップアップを含め、以後の全体ポップアップを終了
LiveOpsPluginIOS.LiveOpsPopupDestroyAllPopups();
// 現在表示されたポップアップだけ終了
LiveOpsPluginIOS.LiveOpsPopupDestroyPopup();
// 現在表示されたポップアップを含め、以後の全体ポップアップを終了
LiveOpsPluginIOS.LiveOpsPopupDestroyAllPopups();
追加オプション
ポップアップメッセージのユーザーターゲティング
ユーザーグループを設定して受信対象を直接選択することができます。
ユーザーグループを設定するためのデータは直接設定して利用することができます。
ターゲティングデータの設定
ターゲティングしたユーザーのみポップアップメッセージを表示するためのカスタムユーザーデータを設定することができます。
設定したカスタムユーザーデータは、ポップアップメッセージの管理画面から確認することが出来ます。以下の例は、ユーザーの年齢をカスタムデータで取得する時です。
//LiveOpsSetTargetingNumberData(int customUserData, string customUserDataKey);
//LiveOpsSetTargetingStringData(string customUserData, string customUserDataKey);
LiveOpsPluginIOS.LiveOpsSetTargetingNumberData(86, "age");
//LiveOpsSetTargetingNumberData(int customUserData, string customUserDataKey);
//LiveOpsSetTargetingStringData(string customUserData, string customUserDataKey);
LiveOpsPluginIOS.LiveOpsSetTargetingNumberData(86, "age");
+ customUserData : ターゲティングのためのユーザーデータキーを入力します。
+ customUserDataKey : ユーザーカスタムデータキーを設定します。
ターゲティングデータの同期化
flush apiを呼び出して、設定したターゲティングデータをLive Operationサーバーと同期化します。
アプリがBackGroundに転換されるか、次の起動の際に自動的にサーバーに反映されます。該当APIは必ず必要な際に呼び出されます。
IgaworksADPluginIOS.LiveOpsFlush();
ポップアップメッセージのディープリンク
ポップアップメッセージのディープリンク機能を利用して、ポップアップメッセージを通じて各アクションを起動するように処理することができます。
- ディープリンクはポップアップメッセージの管理画面で登録することができます。
- ディープリンクデータの形は、Jsonを対応します。
public class NewBehaviorScript : MonoBehavior {
// Use this for initialization
void Start () {
LiveOpsPluginIOS.LiveOpsSetCallbackHandler("MySampleScene");
// デリゲートの登録
LiveOpsPluginIOS.LiveOpsPopupSetPopupLinkListenerCalled += HandleLiveOpsPopupSetPopupLinkListenerCalled;
}
// デリゲートの実装
public void HandleLiveOpsPopupSetPopupLinkListenerCalled(string popupLinkListenerResult)
{
string[] results = popupLinkListenerResult.Split(',');
//results[0] : ポップアップスペースキー
//results[1] : ディープリンクデータ
Debug.Log ("IgaworksADSample HandleLiveOpsPopupSetPopupLinkListenerCalled " + results[0] + results[1]);
}
}
ポップアップメッセージデリゲート
ポップアップメッセージから発生するイベントに対するデリゲートを提供します。提供するデリゲートと実装の例は以下となります。
ポップアップリンクのデリゲート
デリゲートを通じて渡されたデータを利用して、ポップアップリンクを開く時に必要な機能を実施することができます。
public class MySampleScene : MonoBehaviour {
// Use this for initialization
void Start () {
LiveOpsPluginIOS.LiveOpsSetCallbackHandler("MySampleScene");
// デリゲートのハンドラ-登録
LiveOpsPluginIOS.LiveOpsSetPopupLinkListener();
// デリゲートの登録
LiveOpsPluginIOS.liveOpsPopupSetPopupLinkListenerCalled += HandleLiveOpsPopupSetPopupLinkListenerCalled;
// デリゲートの実装
public void HandleLiveOpsPopupSetPopupLinkListenerCalled(string popupLinkListenerResult)
{
// ポップアップの「今すぐ移動」後、結果をデリゲートを通じて渡す
string[] results = popupLinkListenerResult.Split(',');
//results[0] : 「今すぐ移動」をクリックしたメッセージのポップアップスペースキー
//results[1] : json型のディープリンクを登録していた場合、該当json客体の json string
Debug.Log ("IgaworksADSample : HandleLiveOpsPopupSetPopupLinkListenerCalled " + results[0] + ", " + results[1]);
// 「今すぐ移動」後、ポップアップを強制に閉じるためには、ここで以下のapiを呼び出す
LiveOpsPluginIOS.LiveOpsPopupDestroyPopup();
}
}
ポップアップ終了デリゲート
デリゲートを通じて渡されたデータを利用してポップアップを閉じる際に必要な機能を実施します。
public class MySampleScene : MonoBehaviour {
// Use this for initialization
void Start () {
LiveOpsPluginIOS.LiveOpsSetCallbackHandler("MySampleScene");
// デリゲートハンドラ-の登録
LiveOpsPluginIOS.LiveOpsSetPopupCloseListener();
// デリゲートの登録
LiveOpsPluginIOS.liveOpsPopupSetPopupCloseListenerCalled += HandleLiveOpsPopupSetPopupCloseListenerCalled;
// デリゲート実装
public void HandleLiveOpsPopupSetPopupCloseListenerCalled(string popupCloseListenerResult)
{
// ポップアップ終了結果がデリゲートを通じて渡す
string[] results = popupCloseListenerResult.Split(',');
//results[0] : 終了をクリックしたポップアップのポップアップスペースキー
//results[1] : 終了をクリックしたポップアップのポップアップキャンペーン名
//results[2] : json型のディープリンクを登録した際、該当json客体のjson string
//results[3] : このポップアップ後、表示を待機しているポップアップ数 (string タイプ)
Debug.Log ("IgaworksADSample : HandleLiveOpsPopupSetPopupCloseListenerCalled " + results[0] + ", " + results[1] + ", " + results[2] + ", " + results[3]);
}
}
public class MySampleScene : MonoBehaviour {
// Use this for initialization
void Start () {
LiveOpsPluginIOS.LiveOpsSetCallbackHandler("MySampleScene");
// デリゲートハンドラ-の登録
LiveOpsPluginIOS.LiveOpsSetPopupCloseListener();
// デリゲートの登録
LiveOpsPluginIOS.liveOpsPopupSetPopupCloseListenerCalled += HandleLiveOpsPopupSetPopupCloseListenerCalled;
// デリゲート実装
public void HandleLiveOpsPopupSetPopupCloseListenerCalled(string popupCloseListenerResult)
{
// ポップアップ終了結果がデリゲートを通じて渡す
string[] results = popupCloseListenerResult.Split(',');
//results[0] : 終了をクリックしたポップアップのポップアップスペースキー
//results[1] : 終了をクリックしたポップアップのポップアップキャンペーン名
//results[2] : json型のディープリンクを登録した際、該当json客体のjson string
//results[3] : このポップアップ後、表示を待機しているポップアップ数 (string タイプ)
Debug.Log ("IgaworksADSample : HandleLiveOpsPopupSetPopupCloseListenerCalled " + results[0] + ", " + results[1] + ", " + results[2] + ", " + results[3]);
}
}