モバイル:Androidキャンペーンコールバックとは何か?その使用方法は?

Last Updated 5月 5, 2026

概要

WalkMe Mobile SDKバージョン1.6.0以降、WalkMe Mobile SDKでキャンペーンコールバックがサポートされます。

コールバックは、アプリがWalkMeキャンペーンイベントに登録するためのプログラム的な方法です。 キャンペーンコールバックインターフェースを実装することで、アプリはコールバックオブジェクトを通して転送されたデータ(キャンペーン情報やユーザー情報を含む)を使用し、アプリの目的に利用できます。例えば、WalkMeとは関係のないアナリティクスやCRMシステムに情報を渡したり、ユーザーのキャンペーンに対するインタラクションに応じて、アプリやユーザー設定を更新したりできます。

ユースケース

キャンペーンコールバックは、以下などに使用できます。

  • あらゆるアナリティクスシステムからユーザーのオンボーディングを追跡する
  • 「無料デモに興味がありますか? はい / いいえ」などのWalkMeシャウトアウトで、ユーザーエンゲージメントに基づいてCRM内で機会を生成する
  • 既存のサポートシステムと統合して、WalkThruの使用状況/完了状況とトップのサポートチケットトピックを追跡し比較する

以下に、キャンペーンコールバックを実装するために必要なすべてのステップを説明します。

キャンペーンコールバックを実装する手順

キャンペーンのコールバックに登録するには、まずこのインターフェイスを実装します:

/**
 * キャンペーンアクションで呼び出すコールバックのインターフェイス定義。
 */
public interface WMCampaignInfoListener {
 /**
 * キャンペーンが終了した後に呼び出されます。
 *
 * @param campaignInfo 閉じられたキャンペーン情報。
 */
 void onCampaignDismissed(WMCampaignInfo campaignInfo);
}

インターフェイスを実装したら、メソッドを使用してキャンペーンコールバックイベントに登録します:

/**
 * キャンペーンイベントにリスナーを登録します。
 *
 *@param campaignInfoListener リスナー
 *
 */
public static void setCampaignInfoListener(WMCampaignInfoListener campaignInfoListener)

コールバックリターンオブジェクトはクラスになります。これには以下の情報が含まれます。

アイテム 取得者 説明
キャンペーンCTA getCampaignCta()

アプリユーザーがインタラクションしたキャンペーンCTA。

カスタムされていないすべてのCTAで返されるCTAは次のとおりです:
abbi://cta。例:abbi://ok またはabbi://never

キャンペーンID getCampaignId() キャンペーンに割り当てられた一意のID
キャンペーンCTAのID getCampaignCtaId() キャンペーンCTAの一意のID
User Data (ユーザーデータ) getUserData() キャンペーンとインタラクションを持ったユーザーの情報を保持するオブジェクト。 オブジェクトの詳細な説明を下記で参照してください。
キャンペーンデータ getCampaignData() キャンペーンに追加された追加データに対して将来利用できるように追加された、プレースホルダーオブジェクト。 アンケート送信データがここに入力されます。

これはオブジェクトの構造です:

 public class WMCampaignInfo {

 public String getCampaignCta()

 public String getCampaignId()

 public String getCampaignCtaId()

 public WMUserData getUserData()

 public Map<文字列、オブジェクト> getCampaignData()
}

上記のように、にはオブジェクトが含まれています。この説明は次の通りです:

アイテム 取得者 説明
パブリックユーザー属性 getUserAttributesMap() ユーザーがキャンペーンとインタラクションを持った時点でアプリユーザーに設定されたすべてのパブリックユーザー属性。 リストには常に属性キーとその値が含まれます。例:{ "lead_id": "12345"、"account_type": "family"}
プライベートユーザー属性 getPrivateUserAttributes() ユーザーがキャンペーンとインタラクションを持った時点でアプリユーザーに設定されたすべてのプライベートユーザー属性。 リストには常に属性キーとその値が含まれます。例:{ "lead_id": "12345"、"account_type": "family"}
ユーザー作成タイムスタンプ getUserCreationTimestamp() ユーザーがWalkMeによって最初に識別されたタイムスタンプ
セッション期間 getSessionDuration() ユーザーがキャンペーンインタラクションを行った時点でのユーザーセッションはどのくらいでしたか
Androidバージョン getDeviceVersion() ユーザーのOSバージョン
デバイス固有ID getDeviceId() デバイス固有ID
デバイスモデル getDeviceModel() ユーザーのデバイスモデル
Device Orientation(デバイスの向き) getDeviceOrientation() ユーザーがキャンペーンとインタラクションを持った時点のデバイスの向き
アプリのバージョン getAppVersion() ユーザーが使用しているアプリバージョン
アプリ名 getAppName() アプリ名
Locale(ロケール) getLocale() ユーザーのデバイスロケール
SDKバージョン getSdkVer() ユーザーが使用しているアプリと統合されたSDKバージョン
セッションID getSessionId() WalkMeによって生成された固有のセッションID
新しいユーザー表示 getIsNewUser() ユーザーがWalkMeによって識別されたのはこれが初めてですか(true / false)
プッシュ通知ステータス getIsPushEnabled() ユーザーがアプリのプッシュ通知を有効にしましたか(true /false)。 アプリにプッシュ通知がない場合、値は「false」になります。
デバイスタイムゾーン getTimezone() デバイスに設定されたユーザータイムゾーン。
ネットワーク getNetwork() ユーザーが使用しているネットワークタイプ:WiFi /セルラー/オフライン
ユーザー緯度 getLocationLat() 位置の緯度の考えられる実装のためのプレースホルダー
ユーザー経度 getLocationLong() 位置の経度の考えられる実装のためのプレースホルダー
システム名 getSystemName() ユーザーのOS名 - この場合、常に「Android」になります
現在のユーザータイムスタンプ getTimestamp() ユーザーの現在のタイムスタンプ

これはオブジェクトの構造です:

public class WMUserData {

 /**
 * 現在のセッションのユーザー属性。
 */
 public Map<文字列、オブジェクト> getUserAttributesMap()


 /**
 * 現在のセッションのプライベートユーザー属性。
 */
 public Map<文字列、オブジェクト> getPrivateUserAttributes()

 /**
 * このユーザーのユーザー作成タイムスタンプを返します。
 *
 * @return long Timestamp.
 */
 public long getUserCreationTimestamp()

 /**
 * ユーザーセッション期間を秒単位で返します。
 *
 * @return double second.
 */
 public double getSessionDuration()

 /**
 * デバイスのAndroidバージョンを返します。
 *
 * @return 文字列のバージョン番号。
 */
 public String getDeviceVersion()

 /**
 * デバイス固有IDを返します。
 *
 * @return String id.
 */
 public String getDeviceId()

 /**
 * デバイスブランドのモデルを返します。
 *
 * @return String Model.
 */
 public String getDeviceModel()

 /**
 * デバイスの向きPRT_REG / LSLを返します。
 *
 * @return String Orientation.
 */
 public String getDeviceOrientation()
 /**
 * アプリケーションバージョンを返します。
 *
 * @return String version.
 */
 public String getAppVersion()

 /**
 * アプリケーション名を返します。
 *
 * @return String Name.
 */
 public String getAppName()

 /**
 * Java仮想マシンのこのインスタンスのロケール言語を返します。
 *
 * @return String Name.
 */
 public String getLocale()

 /**
 * walkme sdkのバージョンを返します。
 *
 * @return String version.
 */
 public String getSdkVer()

 /**
 * セッション固有のIDを返します。
 *
 * @return String id.
 */
 public String getSessionId()

 /**
 * ユーザーがアプリを初めて使用するかどうかを返します。
 *
 * @return String boolean.
 */
 public String getIsNewUser()

 /**
 * ユーザーにプッシュ通知が承認された場合に返されます。
 *
 * @return String boolean.
 */
 public String getIsPushEnabled()

 /**
 * ユーザーデバイスのタイムゾーンを返します。
 *
 * @return String タイムゾーン。
 */
 public String getTimezone()

 /**
 * ユーザーの現在のネットワーク(WIFI / 3G)を返します
 *
 * @return String network.
 */
 public String getNetwork()

 /**
 * 利用可能な場合、ユーザーの現在の場所の緯度を返します。
 *
 * @return String latitude.
 */
 public String getLocationLat()

 /**
 * 利用可能な場合、ユーザーの現在の場所の経度を返します。
 *
 * @return 文字列の経度。
 */
 public String getLocationLong()

 /**
 * ユーザーのシステム名(Android)を返します。
 *
 * @return String Android.
 */
 public String getSystemName()

 /**
 * このユーザーの現在のタイムスタンプを返します。
 *
 * @return String Timestamp.
 */
 public String getTimestamp()
}

この記事は役に立ちましたか?

ご意見ありがとうございます!

Be part of something bigger.

Engage with peers, ask questions, share ideas

Ask the Community
×