Welcome to the
WalkMe Help Center
Please log in to continue
Select your data center
Please log in to continue
WalkMe Mobile SDKバージョン1.6.0以降、WalkMe Mobile SDKでキャンペーンコールバックがサポートされます。
コールバックは、アプリがWalkMeキャンペーンイベントに登録するためのプログラム的な方法です。 キャンペーンコールバックインターフェースを実装することで、アプリはコールバックオブジェクトを通して転送されたデータ(キャンペーン情報やユーザー情報を含む)を使用し、アプリの目的に利用できます。例えば、WalkMeとは関係のないアナリティクスやCRMシステムに情報を渡したり、ユーザーのキャンペーンに対するインタラクションに応じて、アプリやユーザー設定を更新したりできます。
キャンペーンコールバックは、以下などに使用できます。
以下に、キャンペーンコールバックを実装するために必要なすべてのステップを説明します。
キャンペーンのコールバックに登録するには、まずこのプロトコルを実装します。
/** * キャンペーンアクションで呼び出すコールバックのインターフェイス定義。 */ @protocol WMCampaignInfoDelegate <NSObject> /** * キャンペーンが終了した後に呼び出されます。 * * @param campaignInfo 閉じられたキャンペーン情報。 */ - (void)campaignDidDismiss:(WMCampaignInfo *)campaignInfo; @end
プロトコルを実装したら、
/** * キャンペーンイベントにデリゲートを登録する * *@param delegate デリゲート * */ + (void)setCampaignInfoDelegate:(id<WMCampaignInfoDelegate>)delegate;
コールバックリターンオブジェクトはクラス
| アイテム | 取得者 | 説明 |
| キャンペーンCTA | campaginCta |
アプリユーザーがインタラクションしたキャンペーンCTA。 カスタムされていないすべてのCTAで返されるCTAは次のとおりです: |
| キャンペーンID | campaignId | キャンペーンに割り当てられた一意のID |
| キャンペーンCTAのID | campaignCtaId | キャンペーンCTAの一意のID |
| User Data (ユーザーデータ) | userData | キャンペーンとインタラクションを持ったユーザーの情報を保持するオブジェクト。 オブジェクトの詳細な説明を下記で参照してください。 |
| キャンペーンデータ | campaignData | キャンペーンに追加された追加データに対して将来利用できるように追加された、プレースホルダーオブジェクト。 アンケート送信データがここに入力されます。 |
@interface WMCampaignInfo : NSObject @property (nonatomic,strong) NSString* campaginCta; @property (nonatomic,strong) NSString* campaignCtaId; @property (nonatomic,strong) NSString* campaignId; @property (nonatomic,strong) WMUserData* userData; @property (nonatomic,strong) NSDictionary* campaignData; @end
上記のように、
| アイテム | 取得者 | 説明 |
| パブリックユーザー属性 | *userAttributes | ユーザーがキャンペーンとインタラクションを持った時点でアプリユーザーに設定されたすべてのパブリックユーザー属性。 リストには常に属性キーとその値が含まれます。例:{ "lead_id": "12345"、"account_type": "family"} |
| プライベートユーザー属性 | *privateUserAttributes | ユーザーがキャンペーンとインタラクションを持った時点でアプリユーザーに設定されたすべてのプライベートユーザー属性。 リストには常に属性キーとその値が含まれます。例:{ "lead_id": "12345"、"account_type": "family"} |
| セッション期間 | sessionDuration | ユーザーがキャンペーンインタラクションを行った時点でのユーザーセッションはどのくらいでしたか |
| iOSバージョン | systemVersion | ユーザーのOSバージョン |
| デバイス固有ID | deviceId | デバイス固有ID |
| デバイスモデル | deviceModel | ユーザーのデバイスモデル |
| Device Orientation(デバイスの向き) | deviceOrientation | ユーザーがキャンペーンとインタラクションを持った時点のデバイスの向き |
| アプリのバージョン | appVersion | ユーザーが使用しているアプリバージョン |
| アプリ名 | appName | アプリ名 |
| Locale(ロケール) | ロケール | ユーザーのデバイスロケール |
| SDKバージョン | sdkVer | ユーザーが使用しているアプリと統合されたSDKバージョン |
| セッションID | sessionId | WalkMeによって生成された固有のセッションID |
| プッシュ通知ステータス | isPushEnabled | ユーザーがアプリのプッシュ通知を有効にしましたか(true /false)。 アプリにプッシュ通知がない場合、値は「false」になります。 |
| デバイスタイムゾーン | タイムゾーン | デバイスに設定されたユーザータイムゾーン。 |
| ネットワーク | ネットワーク | ユーザーが使用しているネットワークタイプ:WiFi /セルラー/オフライン |
| システム名 | systemName | ユーザーのOS名 - この場合、常に「iOS」になります |
| 現在のユーザータイムスタンプ | タイムスタンプ | ユーザーの現在のタイムスタンプ |
これはオブジェクト
@interface WMUserData : NSObject /** * 現在のセッションのユーザー属性。 */ @property (nonatomic,strong) NSDictionary *userAttributes; /** * 現在のセッションのプライベートユーザー属性。 */ @property (nonatomic,strong) NSDictionary *privateUserAttributes; /** * 秒単位でのユーザーセッション期間。 */ @property (nonatomic,strong) NSNumber* sessionDuration; /** * ユーザーのiOSバージョン */ @property (nonatomic,strong) NSString* systemVersion; /** デバイス固有ID */ @property (nonatomic,strong) NSString* deviceId; /** * デバイスモデル。 */ @property (nonatomic,strong) NSString* deviceModel; /** * デバイスの向きPRT_REG / LSL。 */ @property (nonatomic,strong) NSString* deviceOrientation; /** * アプリケーションのバージョン。 */ @property (nonatomic,strong) NSString* appVersion; /** * アプリケーション名。 */ @property (nonatomic,strong) NSString* appName; /** * ユーザーデバイスのロケール言語。 */ @property (nonatomic,strong) NSString* locale; /** * WalkMe SDKバージョン。 */ @property (nonatomic,strong) NSString* sdkVer; /** * セッション固有ID。 */ @property (nonatomic,strong) NSString* sessionId; /** * ユーザーにプッシュ通知が承認された場合。 */ @property (nonatomic,strong) NSString* isPushEnabled; /** * ユーザーデバイスタイムゾーン。 */ @property (nonatomic,strong) NSString* timezone; /** * ユーザーの現在のネットワーク(WIFI / 3G)。 */ @property (nonatomic,strong) NSString* network; /** * ユーザーOSシステム名。 */ @property (nonatomic,strong) NSString* systemName; /** * このユーザーの現在のタイムスタンプ。 */ @property (nonatomic,strong) NSString* timestamp; @end