Live Operation : ポップアップメッセージ
Live Operationのポップアップ機能は、ユーザーに公表する情報などを
ポップアップ型のお知らせ画面を利用して表示するサービスです。
ポップアップメッセージ機能を利用して、実施しているイベントや新規機能のリリースなどの案内を行うことができます。
ご注意
- ライブオペレーションのAdd-onを連携する前に、IGAWorks基本連携を完了してください。 [IGAW 基本連携 : iOS]
- ライブオペレーションの連携のためには、 IgaworksAD_iOS~*.framework ファイルが Xcode プロジェクトに含まれる必要がございます。 [SDKインストール : iOS]
Live Operationポップアップメッセージのインストール
LiveOps.frameworkのインストールは2つの方法でご利用できます。
- CocoaPodsの利用
Podfileの内容は以下になります。
platform :ios, '8.0'
pod 'LiveOps'
platform :ios, '8.0'
pod 'LiveOps'
- 直接インストール
LiveOps.framework ファイルを追加した後、以下のDependenciesを追加します。
Bundleの追加
LiveOps.frameworkの中に含まれている LiveOps.bundleを追加します。
ポップアップメッセージの初期化 API
ポップアップ機能を利用するために、以下のステップの沿い初期化を完了します。
以下の初期化APIは、アプリ起動時に呼び出されることをお勧めします。
ユーザー識別値の入力
ユーザー識別値は、Live Opeartionでユーザーを判別するために利用する情報です。
ご注意
- 1名のユーザーにつき1つの固有な識別値を持つ必要がございます。可変値を利用しないでください。
- 個人情報(メールアドレス、名前、電話番後、識別できるユーザーIDなど)を含めてはいけません。
- 日本語、特殊文字、空白などが含まれている場合、必ずURL encording処理を行ってから利用してください。
- getPopups APIが呼び出される前に設定してください。
上記の注意事項をご確認の上、ユーザー識別値を入力します。
[IgaworksCore setUserId:@"user10001"];
ポップアップデータのロード
getPopups APIを呼び出し、Live Operation管理画面で設定したお知らせポップアップのデータをロードします。
データロードの前に、ユーザー識別値の設置を完了してください。
ご注意
- ユーザー識別値が入力されていない場合、お知らせポップアップのデータのロードができません。
- データのロードが出来ない場合、管理画面上で新しいお知らせポップアップを追加したとしてもSDKでは確認できなくなります。
上記の注意事項をご確認の上、データをロードします。
[LiveOpsPopup getPopups:^{
//お知らせポップアップデータがある場合、このcode blockが呼び出されます。
NSLog(@"Popup Resource Loading Success");
}];
ポップアップの表示API
ポップアップの表示
showPopups APIを呼び出してポップアップを表示したい地点でポップアップ型のメッセージを表示します。
メッセージとして表現される内容は、メッセージポップアップ管理画面で設定した数値である必要があります。
以下の例は、 showPopupNotiBtnをクリックした際にポップアップを表示することを想定して作成しました。
#import "ViewController.h"
#import "AppDelegate.h"
#import <IgaworksCore/IgaworksCore.h>
#import <LiveOps/LiveOps.h>
@implementation ViewController
- (IBAction)showNotiPopUpBtnClicked:(UIButton *)sender {
[LiveOpsPopup showPopups:@"ポップアップのスペースキー"];
}
@end
+ ポップアップのスペースKeyは、「Live Operation > ポップアップメッセージ > メッセージ登録 > ポップアップスペースの追加」より発行してください。
ポップアップのディープリンク
ポップアップのディープリンク機能を利用して、ポップアップを通じた様々なアクションの起動を処理することができます。
- ディープリンクは、ポップアップの管理画面で登録することができます。
- ディープリンクのデータは、Jsonのみ対応します。
オープンリスナー
リスナーを通じて渡されたデータを利用してポップアップのリンクを開く時に必要な機能を実施します。
[LiveOpsPopup setPopupLinkListener:^(NSString *popupSpaceKey, NSDictionary *customData) {
//ポップアップに登録したディープリンクデータは、customDataを通じて渡します。
//JSONディープリンクの形のポップアップではない場合、customDataはnilで渡されます。
NSLog(@"popupLink listener called\n\
deep link json: %@", customData);
}];
[LiveOpsPopup setPopupLinkListener:^(NSString *popupSpaceKey, NSDictionary *customData) {
//ポップアップに登録したディープリンクデータは、customDataを通じて渡します。
//JSONディープリンクの形のポップアップではない場合、customDataはnilで渡されます。
NSLog(@"popupLink listener called\n\
deep link json: %@", customData);
}];
クローズリスナー
リスナーを通じて渡されたデータを利用してポップアップを閉じる時に必要な機能を実施します。
[LiveOpsPopup setPopupCloseListener:^(NSString *popupSpaceKey, NSString *popupCampaignName, NSDictionary *customData, NSUInteger remainPopupNum) {
//ポップアップに登録したディープリンクデータは、customDataを通じて渡します。
//JSONディープリンクの形のポップアップではない場合、CustomDataはnilで渡されます。
NSLog(@"popupClose listener called\n\
popupCampaignName: %@\n\
deep link json: %@\n\
remainPopupNum: %lu", popupCampaignName, customData, (unsigned long)remainPopupNum);
}];
ポップアップの強制終了
終了APIを利用して、ポップアップの終了を直接処理することができます。
// 現在、表示中のポップアップのみ終了
[LiveOpsPopup destroyPopup];
// 現在、表示中のポップアップを含め、以後の全てのポップアップを終了
[LiveOpsPopup destroyAllPopups];
ポップアップのユーザーターゲティング
ユーザーグループを設定して、ポップアップメッセージの表示対象を直接選ぶことができます。
ユーザーグループを設定するためのデータは直接設定することができます。
ターゲティングデータの設定
ターゲティングしたユーザーのみお知らせポップアップを表示するため、カスタムユーザーデータを設定することができます。
設定したカスタムユーザーデータは、「Live Operation > 設定 > ユーザーブラウザの設定」より確認することができます。
以下の例は、課金回数をカスタムデータとして取得する場合です。
//[LiveOpsUser setTargetingData:(NSString*)customUserData withKey:(NSString*)customUserDataKey]
[LiveOpsUser setTargetingData:purchaseCount withKey:"purchaseCount"];
+ customUserData : ターゲティングのためのユーザーデータを入力します。bool, int, long, float, Stringを対応します。
+ customUserDataKey : ユーザーカスタムデータキーを設定します。
ターゲティングデータの読み込み
設定したターゲティングデータを読み込み、希望するアクションを実施します。
NSNumber* ageNum = [LiveOpsPush getTargetingDataWithKey:@"age"];
ターゲティングデータの同期化
flush APIを呼び出し、設定したターゲティングデータをLive Operationサーバーと同期化します。
[LiveOpsUser flush];