Logo Site EngageLab Mark Colored Transparent
ドキュメント

Android SDK API

SDK インターフェースの説明

  • MTMAApi: MA のランタイムインターフェース。
  • MTMAConfig: start に渡す初期化設定。

呼び出し前の注意事項

  • start は、ホスト アプリケーションのメイン プロセスでのみ呼び出すことができます。
  • 初期化前に設定できる構成インターフェイスを除き、他の MA ビジネス API は初期化が成功した後にのみ呼び出すことができます。
  • すべての MA 外部 API はメインプロセスで呼び出すことを推奨します。非メインプロセスはメインプロセスの初期化状態を共有せず、呼び出しはメインプロセスに転送されません。 ・ メインプロセス以外が業務APIを呼び出した場合、コールバックありのインターフェースはCODE_START_FAIL (-2)、getEuid()、getMaRid()がnull値を返し、コールバックなしのビジネスインターフェースは実行されません。
  • configDebugMode、setCollectControl、setReportInterval、setMaxEventCacheCount、および setNoActiveSessionEndDurationTime はインプロセス構成です。非メインプロセスでこれらを呼び出しても、メインプロセス MA の構成は変更されません。

SDK バージョンを取得する

サポートされているバージョン

サポートされる開始バージョン: 5.5.0

フィールド定義

  • MTMAApi.SDK_VERSION_CODE: MA SDK デジタル バージョン番号。
  • MTMAApi.SDK_VERSION_NAME: MA SDK 文字列のバージョン番号。
int versionCode = MTMAApi.SDK_VERSION_CODE; String versionName = MTMAApi.SDK_VERSION_NAME;
              
              int versionCode = MTMAApi.SDK_VERSION_CODE;
String versionName = MTMAApi.SDK_VERSION_NAME;

            
このコードブロックはフローティングウィンドウ内に表示されます

デバッグモードを設定する

サポートされているバージョン

サポートされる開始バージョン: 5.5.0

インターフェース定義

  • configDebugMode(boolean enable)
    • MA SDK デバッグ ログを有効または無効にします。
    • startを呼び出す前に設定することをお勧めします。リリースバージョンではオフにすることをお勧めします。
MTMAApi.configDebugMode(true);
              
              MTMAApi.configDebugMode(true);

            
このコードブロックはフローティングウィンドウ内に表示されます

MA機能を有効にする

サポートされているバージョン

サポートされる開始バージョン: 5.5.0

インターフェース定義

  • start(MTMAConfig config, MTMAInitResultCallback callback)
    • インターフェースの説明: MA AppKey を使用して、MA SDK の独立バージョンを初期化します。
    • config: 初期化設定。型は MTMAConfig です。
      • MTMAConfig(String appKey): MA AppKey を設定します。
      • MTMAConfig(String appKey, UserIdentity userIdentity): MA AppKey とユーザー ID を同時に設定します。
      • config.dataCollectionEnabled(boolean enabled): 任意。MTMAConfig オブジェクトに対して呼び出し、今回の start における現在の MA AppKey のデータ収集スイッチを設定します。5.5.2 以降でサポートされます。
        • true で有効、false で無効になります。呼び出した場合、start のたびに渡した値が適用され、端末に保存されます。固定値をハードコードせず、ユーザーの現在の同意結果を渡してください。
        • 詳細はデータ収集スイッチを参照してください。
    • callback: 初期化結果のコールバック。
    • MTMAInitResult:
      • isSuccess(): 初期化が成功したかどうか。
      • getCode(): 結果コード、0 は成功を示します。
      • getMessage(): 結果の説明。
      • getEuid(): 初期化が成功した後に取得された EUID。
      • getMaRid(): 初期化が成功した後に MA RID を取得しました。

呼び出し例

MTMAConfig config = new MTMAConfig("your MA AppKey"); // 任意(5.5.2 以降):ユーザーの現在の同意結果に基づいてデータ収集スイッチを設定します。一度も設定していない場合はデフォルトで有効です // config.dataCollectionEnabled(enabled); MTMAApi.getInstance(this).start(config, new MTMAInitResultCallback() { @Override public void onResult(MTMAInitResult result) { if (result.isSuccess()) { String euid = result.getEuid(); String maRid = result.getMaRid(); } else { int code = result.getCode(); String message = result.getMessage(); } } });
              
              MTMAConfig config = new MTMAConfig("your MA AppKey");
// 任意(5.5.2 以降):ユーザーの現在の同意結果に基づいてデータ収集スイッチを設定します。一度も設定していない場合はデフォルトで有効です
// config.dataCollectionEnabled(enabled);
MTMAApi.getInstance(this).start(config, new MTMAInitResultCallback() {
    @Override
    public void onResult(MTMAInitResult result) {
        if (result.isSuccess()) {
            String euid = result.getEuid();
            String maRid = result.getMaRid();
        } else {
            int code = result.getCode();
            String message = result.getMessage();
        }
    }
});

            
このコードブロックはフローティングウィンドウ内に表示されます

実行時に AppKey を切り替える

最後の初期化コールバックが完了した後、新しい MTMAConfig を使用して start を再度呼び出すことができます。切り替え中は、他の MA ビジネス API が一時的に利用できなくなります。新しい AppKey の初期化が失敗した場合、古い AppKey への自動フォールバックはありません。

非推奨のインターフェイス

5.5.0 以降、次のインターフェイスは非推奨になります。

  • start(CallBack callBack)
  • start(UserIdentity userIdentity, CallBack callBack)

代わりに start(MTMAConfig config, MTMAInitResultCallback callback) を使用してください。

ユーザーIDを設定する

ユーザーがログインし、ユーザーに一致する EUID を取得するために関連情報を提供するときに、このインターフェイスを設定することをお勧めします

サポートされているバージョン

サポートされる開始バージョン: 5.0.0

インターフェース定義

  • _setUserIdentity(UserIdentity userIdentity, CallBack callBack) _
    • インターフェースの説明: ・ユーザー会員カード番号などのユーザー識別情報を設定します。
    • パラメータの説明:
      • userIdentity: 発信者識別
        • setUserId(String userId): 先頭と末尾のスペースを削除した後は空にすることはできません。Unicode 文字は 255 文字までです。 0、null、undefined、nan はできません (大文字と小文字は無視されます)
        • setAnonymousId(String anonymousId): 先頭と末尾のスペースを削除した後は空にすることはできません (Unicode 文字は 256 文字まで)
        • setEmail(String email): 空にすることはできません。Unicode 文字は 256 文字までです。 @ を 1 つだけ含める必要があり、含めることができます。@ の前後を空にすることはできず、スペース、改行、タブを含めることはできません。 5.5.0 以降でサポートされる
        • setPhone(String phone): + で始まる E.164 形式に準拠する必要があり、国コードの最初の桁は 1 ~ 9 で、その後に 1 ~ 14 桁が含まれます。 5.5.0 以降でサポートされる
      • callBack: インターフェースのコールバック
    • 返品の説明:
      XXQPH0012QXZ
      • コード: 戻りコード、0 は成功を表し、-1 は失敗を表します。詳細については、メッセージ パラメーターの説明を参照してください。

呼び出し例

UserIdentity userIdentity = new UserIdentity(); userIdentity.setUserId("your_user_id"); userIdentity.setAnonymousId("your_anonymous_id"); userIdentity.setEmail("user@example.com"); userIdentity.setPhone("+8613800138000"); MTMAApi.getInstance(this).setUserIdentity(userIdentity, new CallBack() { @Override public void onCallBack(int code, String message) { MTCommonLog.e(TAG, "setUserIdentity code:" + code); MTCommonLog.e(TAG, "setUserIdentity message:" + message); } });
              
                              UserIdentity userIdentity = new UserIdentity();
                userIdentity.setUserId("your_user_id");
                userIdentity.setAnonymousId("your_anonymous_id");
                userIdentity.setEmail("user@example.com");
                userIdentity.setPhone("+8613800138000");
                MTMAApi.getInstance(this).setUserIdentity(userIdentity, new CallBack() {
                    @Override
                    public void onCallBack(int code, String message) {
                        MTCommonLog.e(TAG, "setUserIdentity code:" + code);
                        MTCommonLog.e(TAG, "setUserIdentity message:" + message);
                    }
                });

            
このコードブロックはフローティングウィンドウ内に表示されます

ユーザー ID フィールドの検証が失敗した場合、ネットワーク リクエストは送信されず、コールバックを通じて code = -3 が返されます。

ユーザーの連絡先情報を設定する

ユーザーの連絡先情報が変更された場合、このインターフェースを使用してユーザーの「連絡先情報」を更新できます。

サポートされているバージョン

サポートされる開始バージョン: 5.0.0

インターフェース定義

  • setUserContact(JSONObject contacts, CallBack callBack)
    • インターフェースの説明: ・ユーザーの「連絡先」を設定します。
    • パラメータの説明:
      • 連絡先: 複数の連絡方法を設定します。 Key は連絡方法の名前、value は連絡方法の値です。現在、電子メール、携帯電話、固定電話、および whatsapp_phone の 4 つの連絡方法がサポートされています。
      • callBack: インターフェースのコールバック
    • 返品の説明:
      XXQPH0001QXZ
      • コード: 戻りコード、0 は成功を表し、-1 は失敗を表します。詳細については、メッセージ パラメーターの説明を参照してください。
      • メッセージ: 理由の説明

呼び出し例

JSONObject contacts = new JSONObject(); try { contacts.put("key1", "cc"); contacts.put("key2", "dd"); } catch (JSONException e) { e.printStackTrace(); } MTMAApi.getInstance(this).setUserContact(contacts, new CallBack() { @Override public void onCallBack(int code, String message) { Log.e(TAG, "setUserContact code:" + code); Log.e(TAG, "setUserContact message:" + message); } });
              
                              JSONObject contacts = new JSONObject();
                try {
                    contacts.put("key1", "cc");
                    contacts.put("key2", "dd");
                } catch (JSONException e) {
                    e.printStackTrace();
                }
                MTMAApi.getInstance(this).setUserContact(contacts, new CallBack() {
                    @Override
                    public void onCallBack(int code, String message) {
                        Log.e(TAG, "setUserContact code:" + code);
                        Log.e(TAG, "setUserContact message:" + message);
                    }
                });

            
このコードブロックはフローティングウィンドウ内に表示されます

EUID を取得する

サポートされているバージョン

サポートされる開始バージョン: 5.0.0

インターフェース定義

  • getEuid()
    • インターフェースの説明:
      • ユーザーの一意の ID を表す EUID を取得します。初期化が成功した場合は現在値のみが返され、それ以外の場合は null 値が返されます。

呼び出し例

MTMAApi.getInstance(this).getEuid();
              
              MTMAApi.getInstance(this).getEuid();

            
このコードブロックはフローティングウィンドウ内に表示されます

MA RID を取得する

サポートされているバージョン

サポートされる開始バージョン: 5.5.0

インターフェース定義

  • getMaRid()
    • 現在の MA RID を取得します。初期化が成功した場合は現在値のみが返され、それ以外の場合は null 値が返されます。
String maRid = MTMAApi.getInstance(this).getMaRid();
              
              String maRid = MTMAApi.getInstance(this).getMaRid();

            
このコードブロックはフローティングウィンドウ内に表示されます

チャネル連絡先 ID を設定する

サポートされているバージョン

サポートされる開始バージョン: 5.5.0

インターフェース定義

  • setChannelValue(long channelId, List values, CallBack callBack)
    • インターフェースの説明: チャネルの連絡先 ID を設定します。 AppPush チャネルは SDK によって自動的にバインドされるため、このインターフェイス設定を呼び出す必要はありません。
    • パラメータの説明:
      • channelId: MA コンソールで構成されたサードパーティのプッシュ チャネル ID は、0 より大きい必要があります。
      • values: チャネル コンタクト ID (RID やトークンなど) の値リストを空にすることはできず、リスト要素を空にすることもできません。
      • callBack: 結果コールバック、code == 0 は成功を示します。
List<String> values = Collections.singletonList("push rid or token"); MTMAApi.getInstance(this).setChannelValue(136L, values, new CallBack() { @Override public void onCallBack(int code, String message) { // code == 0 means success } });
              
              List<String> values = Collections.singletonList("push rid or token");
MTMAApi.getInstance(this).setChannelValue(136L, values, new CallBack() {
    @Override
    public void onCallBack(int code, String message) {
        // code == 0 means success
    }
});

            
このコードブロックはフローティングウィンドウ内に表示されます

レポート データ間隔を設定する

これは setMaxEventCacheCount インターフェイスとともに有効になり、いずれかの条件が満たされる限り報告されます。

サポートされているバージョン

サポートされる開始バージョン: 5.0.0

インターフェース定義

  • setReportInterval(int interval)
    • インターフェースの説明:
      • レポートデータの間隔を設定します。このインターフェイスが呼び出されない場合、デフォルトではイベント データを報告するのに 10 秒かかります。
      • レポート間隔メモリ キャッシュ。これを有効にするには、アプリケーションのライフ サイクルごとに呼び出す必要があります。
    • パラメータの説明
      • 間隔レポート間隔、単位は s (秒)

呼び出し例

MTMAApi.getInstance(this).setReportInterval(10);
              
                  MTMAApi.getInstance(this).setReportInterval(10);

            
このコードブロックはフローティングウィンドウ内に表示されます

イベントキャッシュの上限を設定する

setReportInterval インターフェースとともに有効となり、いずれかの条件が満たされる限りレポートされます。

サポートされているバージョン

サポートされる開始バージョン: 5.0.0

インターフェース定義

  • setMaxEventCacheCount(int count)
    • インターフェースの説明:
      • イベント キャッシュの上限を設定します。デフォルトは 50 で、最大値は 500 を超えることはできません。
      • キャッシュ量を超えると、すべてのデータがレポートされます
    • パラメータの説明
      • count イベントキャッシュ項目数の上限

呼び出し例

MTMAApi.getInstance(this).setMaxEventCacheCount(50);
              
                  MTMAApi.getInstance(this).setMaxEventCacheCount(50);

            
このコードブロックはフローティングウィンドウ内に表示されます

セッションタイムアウトを設定する

サポートされているバージョン

サポートされる開始バージョン: 5.0.0

インターフェース定義

  • setNoActiveSessionEndDurationTime(int duration)
    • インターフェースの説明:
      • アプリがバックグラウンドに配置されると、セッション タイムアウトの計算が開始されます。設定した時間を超えると(デフォルトは 30 分)、セッションは終了します。
    • パラメータの説明 -duration タイムアウト期間、単位 s (秒)

呼び出し例

MTMAApi.getInstance(this).setNoActiveSessionEndDurationTime(5*60);
              
                  MTMAApi.getInstance(this).setNoActiveSessionEndDurationTime(5*60);

            
このコードブロックはフローティングウィンドウ内に表示されます

UTM 属性を設定する

サポートされているバージョン

サポートされる開始バージョン: 5.0.0

インターフェース定義

  • setUtmProperties(UtmProperties utmProperties)
    • インターフェースの説明:
      • UTM属性を設定します。ユーザーがどの広告からアプリにアクセスするかを開発者が特定できる場合は、UTM 情報を設定することをお勧めします。イベントを報告するときにこのパラメータを渡します。
    • パラメータの説明:
      • utmProperties UTM プロパティ オブジェクト
      • utm_source キャンペーン ソース
      • utm_medium キャンペーン媒体
      • utm_term キャンペーン期間
      • utm_content キャンペーン コンテンツ
      • utm_campaign キャンペーン名
      • utm_id キャンペーン ID

呼び出し例

UtmProperties utmProperties = new UtmProperties(); utmProperties.setUtmSource("your_utm_source"); utmProperties.setUtmCampaign("your_utm_campaign"); utmProperties.setUtmContent("your_utm_content"); utmProperties.setUtmId("your_utm_id" ); utmProperties.setUtmMedium("your_utm_medium"); utmProperties.setUtmTerm("your_utm_term"); MTMAApi.getInstance(this).setUtmProperties(utmProperties);
              
                              UtmProperties utmProperties = new UtmProperties();
                utmProperties.setUtmSource("your_utm_source");
                utmProperties.setUtmCampaign("your_utm_campaign");
                utmProperties.setUtmContent("your_utm_content");
                utmProperties.setUtmId("your_utm_id" );
                utmProperties.setUtmMedium("your_utm_medium");
                utmProperties.setUtmTerm("your_utm_term");
                MTMAApi.getInstance(this).setUtmProperties(utmProperties);

            
このコードブロックはフローティングウィンドウ内に表示されます

データ収集スイッチ

サポートされているバージョン

サポートされる開始バージョン: 5.5.2

ユーザーの同意結果に応じて収集を制御する必要がある場合は、データ収集スイッチを使用できます。不要な場合は変更の必要はなく、デフォルトで有効となり、アップグレード前と同じ動作になります。

スイッチは MA AppKey ごとに保存されます。初期化時には、ユーザーの同意状態に応じて dataCollectionEnabled に動的に値を渡してください。設定をハードコードすると、初期化のたびに状態がその固定値にリセットされてしまいます。実行中にユーザーが選択を変更した場合は、初期化成功後に setDataCollectionEnabled を呼び出してください。いずれもメインプロセスで実行します。

データ収集スイッチを設定する

インターフェース定義

  • setDataCollectionEnabled(boolean enabled)
    • インターフェースの説明:
      • 現在の MA AppKey のデータ収集スイッチを設定します。メインプロセスで、初期化成功後に呼び出してください。
      • 即時に反映されて端末に保存され、ネットワーク処理の完了を待ちません。
      • 設定した値が現在の状態と同じ場合、無効化または復帰の処理は再実行されず、起動やセッションの統計にも影響しません。
      • 再度有効にすると SDK は自動的に収集を再開します。復帰完了前に呼び出したイベント、ユーザー属性、UTM は保持されず、コールバックのあるインターフェースは -2 を返します。
      • 無効化後の各インターフェースの動作は無効期間中の動作を参照してください。
    • パラメータの説明:
      • enabled: true で有効、false で無効。

呼び出し例

// enabled は、ユーザーの同意結果に基づいてアプリが決定するスイッチの状態です MTMAApi.getInstance(this).setDataCollectionEnabled(enabled);
              
              // enabled は、ユーザーの同意結果に基づいてアプリが決定するスイッチの状態です
MTMAApi.getInstance(this).setDataCollectionEnabled(enabled);

            
このコードブロックはフローティングウィンドウ内に表示されます

データ収集スイッチを取得する

インターフェース定義

  • isDataCollectionEnabled()
    • インターフェースの説明:
      • 現在の MA AppKey のデータ収集スイッチを取得します。ネットワークリクエストは送信せず、切り替えや復帰も発生しません。
    • 戻り値の説明:
      • true は有効、false は無効。
      • start の前で AppKey がまだ確定していない場合:デフォルト値 true を返しますが、いずれの AppKey の状態も表しません。start の後に取得してください。
      • メインプロセス以外では false を返します。これはそのプロセスが収集を行わないことを示すだけで、メインプロセスのスイッチ状態を表すものではありません。

呼び出し例

boolean enabled = MTMAApi.getInstance(this).isDataCollectionEnabled();
              
              boolean enabled = MTMAApi.getInstance(this).isDataCollectionEnabled();

            
このコードブロックはフローティングウィンドウ内に表示されます

無効期間中の動作

無効期間中に停止するもの

インターフェース / 機能 無効期間中の動作
イベントの送信(onEvent) 通知なしで破棄されます。イベントに付随する属性も合わせて破棄されます。
プリセットイベント:起動、フォアグラウンド/バックグラウンドの切り替え、セッションの開始と終了、終了、アプリ更新、通知スイッチの状態、プッシュのクリックなど 生成されません。セッションの計時は停止し、初回起動や初日などのフラグは更新されません。
ユーザー属性のすべてのインターフェース(property* および object_array インターフェース) 実行されず、コールバックは -8 を返します。初期化が完了していない場合も -8 を返します。
UTM 属性の設定(setUtmProperties) 通知なしで破棄されます。キャッシュ済みの UTM は無効化時に消去され、再度有効にしても引き継がれません。
デバイス情報:機種、OS バージョン、画面、ネットワーク、通信事業者、広告識別子など 読み取りも送信も行いません。setCollectControl で制御できるフィールドも含まれます。

無効期間中も通常どおり利用できるもの

インターフェース / 機能 無効期間中の動作
start、getEuid、getMaRid 正常に動作します。初期化では ID 登録に必要なフィールドのみを送信し、デバイスの特徴は含みません。
setUserIdentity 正常に動作し、コールバックも通常どおりです。登録系のイベントは生成されません。
setUserContact 正常に動作し、コールバックも通常どおりです。
setChannelValue、AppPush の自動バインド 正常に動作し、プッシュは通常どおり配信されます。
setDataCollectionEnabled、isDataCollectionEnabled 正常に動作します。
setCollectControl、setReportInterval、setMaxEventCacheCount、setNoActiveSessionEndDurationTime、configDebugMode 呼び出せます。無効期間中は対象となる収集がなく、再度有効にした後に設定どおりに動作します。

無効化時

  • 切り替え前に生成されたデータは直ちに 1 回送信されます。失敗してもリトライせず、その後ローカルキャッシュを消去します。
  • 送信済みのデータは削除されません。

無効期間中も送信されるリクエスト

  • 初期化、ID 登録(デバイスの特徴を含まない)、設定の取得、プッシュチャネルのバインド、スイッチ状態の同期。

プッシュとメッセージ

  • プッシュは通常どおり配信され、アプリを開くことができます。
  • プッシュのクリックなどの MA イベントは生成されないため、MA の行動イベントに依存するジャーニー条件には一致しません。
  • プッシュまたはアプリ内メッセージのクリックは MA のメッセージコンバージョンに計上されません。無効化前のクリック記録は消去され、再度有効にしてもアトリビューションされません。

本スイッチの制御対象外

  • プッシュチャネル自体の配信・クリックのレシート。
  • 個別に組み込んだ AppPush SDK 自体の送信。
  • アプリのバックエンドから呼び出す MA REST API。
  • 本スイッチはプッシュの配信停止(オプトアウト)の代わりにはなりません。

コンソールとセグメント

  • ユーザー詳細には「データ収集」の状態が表示されます。これはサーバーに最後に同期された値で、遅延する場合があります。スイッチを一度も設定していない AppKey では空欄になります。
  • セグメントでは「データ収集 = 無効」でユーザーを絞り込めます。いずれかのデバイスが無効であれば一致し、状態を送信していないデバイスは一致しません。

データ取得制御

setCollectControl は個々のデバイスフィールドの収集許可を設定します。イベント、ユーザー属性、UTM、デバイス情報の収集全体を停止するにはデータ収集スイッチを使用してください。収集全体を再度有効にした後も、フィールドごとの許可設定は引き続き有効です。

サポートされているバージョン

サポートされる開始バージョン: 5.0.0

インターフェース定義

  • setCollectControl(MTMACollectControl control)
    • インターフェースの説明:
      • 収集権限を設定します。特定のデータ収集をオン/オフする必要がある場合は、このインターフェイスを呼び出してください。
    • パラメータの説明:
      • control: 収集許可設定。明示的に設定されていないプロパティには、次のデフォルト値が使用されます。
        • setCarrier(boolean enable): オペレーター情報を収集するかどうか、デフォルトで有効
        • setMacAddress(boolean enable): MAC アドレスを収集するかどうか、デフォルトでは無効になっています
        • setGAID(boolean enable): GAID を収集するかどうか、デフォルトでは閉じられています
        • setOAID(boolean enable): OAID を収集するかどうか、デフォルトでは閉じられています
        • setAAID(boolean enable): AAID を収集するかどうか、デフォルトで閉じられています
        • setIMEI(boolean enable): IMEI を収集するかどうか。デフォルトではオフになっています。 Android 9 以下でのみサポートされているため、ホスト アプリケーションは READ_PHONE_STATE 権限を宣言して取得する必要があります。

呼び出し例

try { MTMACollectControl mtmaCollectControl = new MTMACollectControl(); mtmaCollectControl.setCarrier(true); mtmaCollectControl.setMacAddress(true); mtmaCollectControl.setGAID(true); mtmaCollectControl.setOAID(true); mtmaCollectControl.setIMEI(true); mtmaCollectControl.setAAID(true); MTMAApi.getInstance(this).setCollectControl(mtmaCollectControl); } catch (Throwable e) {e.printStackTrace(); }
              
              try {
MTMACollectControl mtmaCollectControl = new MTMACollectControl();
        mtmaCollectControl.setCarrier(true);
        mtmaCollectControl.setMacAddress(true);
        mtmaCollectControl.setGAID(true);
        mtmaCollectControl.setOAID(true);
        mtmaCollectControl.setIMEI(true);
        mtmaCollectControl.setAAID(true);
    MTMAApi.getInstance(this).setCollectControl(mtmaCollectControl);
} catch (Throwable e) {e.printStackTrace();
}

            
このコードブロックはフローティングウィンドウ内に表示されます

ユーザー属性を設定する

ユーザー属性の値を設定します。ユーザー属性が存在しない場合は、バックグラウンドで自動的に作成されます。

ユーザー属性を上書きして更新する

  • propertySet(final JSONObject properties, final CallBack callBack)
    • インターフェースの説明:
      • ユーザー属性値を一括上書き更新
      • ユーザーのメンバーシップ レベルなどの履歴データを含め、最新のレポート データのみが保存されます。
      • 値は、文字列、数値、ブール値、文字列配列、要素がすべて JSONObject である JSONObject、および JSONArray をサポートします。
    • パラメータの説明:
      • プロパティ: ユーザープロパティ
      • callBack: インターフェースのコールバック
    • 返品の説明:
      XXQPH0004QXZ
      • コード: 戻りコード、0 は成功を表し、-1 は失敗を表します。詳細については、エラー コードの説明を参照してください。
      • メッセージ: 理由の説明
    • 電話の例:
try {JSONObject properties = new JSONObject(); properties.put("your_property_name","your_property_value"); properties.put("your_property_name 2","your_property_value 2"); properties.put("your_property_name 3","your_property_value 3"); MTMAApi.getInstance(this).propertySet(properties, new CallBack() { @Override public void onCallBack(int code, String message) {}}); } catch (Throwable e) {e.printStackTrace(); }
              
              try {JSONObject properties = new JSONObject();
    properties.put("your_property_name","your_property_value");
    properties.put("your_property_name 2","your_property_value 2");
    properties.put("your_property_name 3","your_property_value 3");
    MTMAApi.getInstance(this).propertySet(properties, new CallBack() {
        @Override
        public void onCallBack(int code, String message) {}});
} catch (Throwable e) {e.printStackTrace();
}

            
このコードブロックはフローティングウィンドウ内に表示されます
  • propertySet(String property, Object value, CallBack callBack)
    • インターフェースの説明:
      • 1 回のオーバーライドでユーザー属性の値が更新されます
      • ユーザーのメンバーシップ レベルなどの履歴データを含め、最新のレポート データのみが保存されます。
      • 値タイプのルールはバッチ propertySet と一致します。
    • パラメータの説明:
      • プロパティ: ユーザープロパティ名
      • 値: ユーザー属性値
      • callBack: インターフェースのコールバック
    • 返品の説明:
      onCallBack(int code, String message)
      • コード: 戻りコード、0 は成功を表し、-1 は失敗を表します。詳細については、エラー コードの説明を参照してください。
      • メッセージ: 理由の説明
    • 電話の例:
MTMAApi.getInstance(this).propertySet("your_property_name","your_property_value", new CallBack() { @Override public void onCallBack(int code, String message) {}});
              
              MTMAApi.getInstance(this).propertySet("your_property_name","your_property_value", new CallBack() {
    @Override
    public void onCallBack(int code, String message) {}});

            
このコードブロックはフローティングウィンドウ内に表示されます

ユーザー属性を累積的に更新する

  • propertyIncrease(final Map<String, ? extends Number> properties, CallBack callBack)
    • インターフェースの説明:
      • ユーザー属性の値設定を蓄積し、一括リクエストを行う
      • 累積消費量など、報告されたすべてのデータを蓄積します。
      • このインターフェイスは、数値タイプのユーザー属性に対してのみ呼び出すことができます。それ以外の場合は無視されます。ユーザー属性が以前に存在しない場合、初期値は 0 として扱われます。
    • パラメータの説明:
      • プロパティ: ユーザープロパティ
      • callBack: インターフェースのコールバック
    • 返品の説明:
      XXQPH0001QXZ
      • コード: 戻りコード、0 は成功を表し、-1 は失敗を表します。詳細については、エラー コードの説明を参照してください。
      • メッセージ: 理由の説明
    • 電話の例:
Map<String,Number> properties = new HashMap(); properties.put("your_property_name",1); properties.put("your_property_name 2",2); properties.put("your_property_name 3",3); MTMAApi.getInstance(this).propertyIncrease(properties, new CallBack() { @Override public void onCallBack(int code, String message) {}});
              
              Map<String,Number> properties = new HashMap();
properties.put("your_property_name",1);
properties.put("your_property_name 2",2);
properties.put("your_property_name 3",3);
MTMAApi.getInstance(this).propertyIncrease(properties, new CallBack() {
    @Override
    public void onCallBack(int code, String message) {}});

            
このコードブロックはフローティングウィンドウ内に表示されます
  • propertyIncrease(final String property, final Number value, CallBack callBack)
    • インターフェースの説明:
      • ユーザー属性値設定の蓄積、単一リクエスト
      • 累積消費量など、報告されたすべてのデータを蓄積します。
      • このインターフェイスは、数値タイプのユーザー属性に対してのみ呼び出すことができます。それ以外の場合は無視されます。ユーザー属性が以前に存在しない場合、初期値は 0 として扱われます。
    • パラメータの説明:
      • プロパティ: ユーザープロパティ名
      • 値: ユーザー属性値
      • callBack: インターフェースのコールバック
    • 返品の説明:
      XXQPH0001QXZ
      • コード: 戻りコード、0 は成功を表し、-1 は失敗を表します。詳細については、エラー コードの説明を参照してください。
      • メッセージ: 理由の説明
    • 電話の例:
MTMAApi.getInstance(this).propertyIncrease("your_property_name",1, new CallBack() { @Override public void onCallBack(int code, String message) {}});
              
              MTMAApi.getInstance(this).propertyIncrease("your_property_name",1, new CallBack() {
    @Override
    public void onCallBack(int code, String message) {}});

            
このコードブロックはフローティングウィンドウ内に表示されます

###ユーザー属性を追加する

  • propertyAdd(final String property, final String value, CallBack callBack)
    • インターフェースの説明:
      • ユーザー属性の値を追加、単一リクエスト
      • 継続的に要素をコレクションに追加し、重複排除のために要素をデータベースに保存します。すでに ABC が存在する場合は、CD を追加すると、最終的に ABCD になります。
    • パラメータの説明:
      • プロパティ: ユーザープロパティ名
      • 値: ユーザー属性値
      • callBack: インターフェースのコールバック
    • 返品の説明:
      XXQPH0001QXZ
      • コード: 戻りコード、0 は成功を表し、-1 は失敗を表します。詳細については、エラー コードの説明を参照してください。
      • メッセージ: 理由の説明
    • 電話の例:
MTMAApi.getInstance(this).propertyAdd("your_property_name","your_property_value", new CallBack() { @Override public void onCallBack(int code, String message) {}});
              
              MTMAApi.getInstance(this).propertyAdd("your_property_name","your_property_value", new CallBack() {
    @Override
    public void onCallBack(int code, String message) {}});

            
このコードブロックはフローティングウィンドウ内に表示されます
  • propertyAdd(final String property, final Set values, CallBack callBack)
    • インターフェースの説明:
      • ユーザー属性の値を追加し、複数の値を一度に追加します
      • 継続的に要素をコレクションに追加し、重複排除のために要素をデータベースに保存します。すでに ABC が存在する場合は、CD を追加すると、最終的に ABCD になります。
    • パラメータの説明:
      • プロパティ: ユーザープロパティ名
      • 値: ユーザー属性値
      • callBack: インターフェースのコールバック
    • 返品の説明:
      XXQPH0001QXZ
      • コード: 戻りコード、0 は成功を表し、-1 は失敗を表します。詳細については、エラー コードの説明を参照してください。
      • メッセージ: 理由の説明
    • 電話の例:
Set<String> properties = new HashSet<>(); properties.add("your_property_value"); properties.add("your_property_value 2"); properties.add("your_property_value 3"); MTMAApi.getInstance(this).propertyAdd("your_property_name",properties, new CallBack() { @Override public void onCallBack(int code, String message) {}});
              
              Set<String> properties = new HashSet<>();
properties.add("your_property_value");
properties.add("your_property_value 2");
properties.add("your_property_value 3");
MTMAApi.getInstance(this).propertyAdd("your_property_name",properties, new CallBack() {
    @Override
    public void onCallBack(int code, String message) {}});

            
このコードブロックはフローティングウィンドウ内に表示されます

object_array 要素を操作する

次のインターフェイスは 5.5.0 以降でサポートされており、object_array ユーザー属性にのみ使用されます。元の propertyAdd、propertyRemove は引き続き文字列配列に使用され、動作は変わりません。

  • updateObjectArrayProperty(String property, String identifierKey, Object identifierValue, JSONObject values, CallBack callBack)
    • 一意の識別子に基づいてオブジェクト要素のサブフィールドを更新します。
    • identifierValue は文字列または限定された数値をサポートします。 values は識別フィールドを変更できません。
    • values の JSONObject.NULL を使用して、対応するサブフィールドを削除します。
JSONObject values = new JSONObject().put("enabled", false); MTMAApi.getInstance(this).updateObjectArrayProperty( "devices", "device_id", "device_1", values, callBack);
              
              JSONObject values = new JSONObject().put("enabled", false);
MTMAApi.getInstance(this).updateObjectArrayProperty(
        "devices", "device_id", "device_1", values, callBack);

            
このコードブロックはフローティングウィンドウ内に表示されます
  • addObjectArrayProperty(String property, JSONObject object, CallBack callBack)
    • null 以外のオブジェクト要素を object_array に追加します。
JSONObject device = new JSONObject() .put("device_id", "device_2") .put("year", 2026); MTMAApi.getInstance(this).addObjectArrayProperty("devices", device, callBack);
              
              JSONObject device = new JSONObject()
        .put("device_id", "device_2")
        .put("year", 2026);
MTMAApi.getInstance(this).addObjectArrayProperty("devices", device, callBack);

            
このコードブロックはフローティングウィンドウ内に表示されます
  • removeObjectArrayProperty(String property, String identifierKey, Object identifierValue, CallBack callBack)
    • 一意の識別子に基づいてオブジェクト要素全体を削除します。
MTMAApi.getInstance(this).removeObjectArrayProperty( "devices", "device_id", "device_2", callBack);
              
              MTMAApi.getInstance(this).removeObjectArrayProperty(
        "devices", "device_id", "device_2", callBack);

            
このコードブロックはフローティングウィンドウ内に表示されます

ユーザー属性を削除する

  • propertyRemove(final String property, String values, final CallBack callBack)
    • インターフェースの説明:
      • ユーザー属性に対する値の操作を削除しました。
      • この値はコレクション要素であり、要素は重複排除処理のためにデータベースに保存されます。 ABCD がすでに存在する場合は、D を削除して、最終的に ABC になります。
    • パラメータの説明:
      • プロパティ: ユーザープロパティ名
      • 値: ユーザー属性値
      • callBack: インターフェースのコールバック
    • 返品の説明:
      XXQPH0001QXZ
      • コード: 戻りコード、0 は成功を表し、-1 は失敗を表します。詳細については、エラー コードの説明を参照してください。
      • メッセージ: 理由の説明
    • 電話の例:
MTMAApi.getInstance(this).propertyRemove("your_property_name","your_property_value", new CallBack() { @Override public void onCallBack(int code, String message) {}});
              
              MTMAApi.getInstance(this).propertyRemove("your_property_name","your_property_value", new CallBack() {
    @Override
    public void onCallBack(int code, String message) {}});

            
このコードブロックはフローティングウィンドウ内に表示されます
  • propertyRemove(final String property, Set values, final CallBack callBack)
    • インターフェースの説明:
      • ユーザー属性の値を削除し、複数の値を一度に削除します。
      • この値はコレクション要素であり、要素は重複排除処理のためにデータベースに保存されます。 ABCD がすでに存在する場合は、CD が削除され、最終的に AB になります。
    • パラメータの説明:
      • プロパティ: ユーザープロパティ名
      • 値: ユーザー属性値
      • callBack: インターフェースのコールバック
    • 返品の説明:
      XXQPH0001QXZ
      • コード: 戻りコード、0 は成功を表し、-1 は失敗を表します。詳細については、エラー コードの説明を参照してください。
      • メッセージ: 理由の説明
    • 電話の例:
Set<String> properties = new HashSet<>(); properties.add("your_property_value"); properties.add("your_property_value 2"); properties.add("your_property_value 3"); MTMAApi.getInstance(this).propertyRemove("your_property_name",properties, new CallBack() { @Override public void onCallBack(int code, String message) {}});
              
              Set<String> properties = new HashSet<>();
properties.add("your_property_value");
properties.add("your_property_value 2");
properties.add("your_property_value 3");
MTMAApi.getInstance(this).propertyRemove("your_property_name",properties, new CallBack() {
    @Override
    public void onCallBack(int code, String message) {}});

            
このコードブロックはフローティングウィンドウ内に表示されます

ユーザー属性を削除する

サポートされているバージョン

サポートされる開始バージョン: 5.0.0

インターフェース定義

  • propertyDelete(final String property, final CallBack callBack)
    • インターフェースの説明:
      • ユーザー属性のすべての値を削除します。
    • パラメータの説明:
      • プロパティ: ユーザープロパティ名
      • callBack: インターフェースのコールバック
    • 返品の説明:
      XXQPH0001QXZ
      • コード: 戻りコード、0 は成功を表し、-1 は失敗を表します。詳細については、エラー コードの説明を参照してください。
      • メッセージ: 理由の説明

呼び出し例

MTMAApi.getInstance(this).propertyDelete("your_property_name", new CallBack() { @Override public void onCallBack(int code, String message) {}});
              
              MTMAApi.getInstance(this).propertyDelete("your_property_name", new CallBack() {
    @Override
    public void onCallBack(int code, String message) {}});

            
このコードブロックはフローティングウィンドウ内に表示されます

インシデントの報告

サポートされているバージョン

サポートされる開始バージョン: 5.0.0

インターフェース定義

  • onEvent(String eventKey, JSONObject properties)
    • インターフェースの説明:
      • インシデントの報告
    • パラメータの説明: -eventKey: イベント名
      • プロパティ: イベントのプロパティ。キーはプロパティ名、値はプロパティの値です。

呼び出し例

JSONObject properties = new JSONObject(); properties.put("key1","v1"); properties.put("key2","v2"); MTMAApi.getInstance(this).onEvent("your_event_name",properties );
              
              JSONObject properties = new JSONObject();
properties.put("key1","v1");
properties.put("key2","v2");
MTMAApi.getInstance(this).onEvent("your_event_name",properties );

            
このコードブロックはフローティングウィンドウ内に表示されます

エラーコード

コード 値 説明
コード_成功 0 成功
コード_不明 -1 不明なエラー
CODE_START_FAIL -2 初期化が完了していない、初期化が失敗している、メイン以外のプロセスで初期化されている、または現在の操作が依存する MA 構成の準備ができていません。
コード有効 -3 パラメータの検証に失敗しました
コード有効 -4 MA プロジェクトが終了しました
コード登録ID -5 MA RID が見つからないか違法です
コード_スイッチ -6 MA プロジェクト構成が切り替えられたため、再度呼び出す必要があります。
CODE_COLLECTION_DISABLED -8 データ収集が無効のため、今回の通常の収集操作は実行されませんでした。5.5.2 以降で提供
Icon Solid Transparent White Qiyu
営業担当に相談する