すべてのプロダクト
Search
ドキュメントセンター

Quick Tracking:Java SDK

最終更新日:Jun 19, 2026

Quick Tracking Java SDK をサーバー側アプリケーションに統合し、追跡データを収集・送信します。

Java SDK の統合

quickaplus-log-collector-java-sdk-1.0.1-SNAPSHOT.jar パッケージを手動でインポートします。パッケージを入手するには、QT サポートにお問い合わせください。

基本設定 (必須)

重要

appKey、データ収集ドメイン名、認証情報を設定する必要があります。

1. appKey の設定

QtSdkConfig.setAppKey("Your AppKey"); 

2. データ収集ドメイン名の設定

QtSdkConfig.setQlcEndpoint("Your data collection domain name");
説明

SDK はデータ送信時に、データ収集エンドポイントに /server を自動的に追加します。コード内でこのパスを追加しないでください。

3. 認証情報の入力

QtSdkConfig.setServiceId("Your serviceId");
QtSdkConfig.setServiceSecret("Your serviceSecret");

この情報は、マネジメントコンソール > 情報収集の [Server Tracking Information] セクションで確認できます。

グローバルプロパティの設定

// プロパティを追加
QtGlobalPropertiesConfig.put("a", "1");
QtGlobalPropertiesConfig.put("b", "2");
// プロパティを削除
QtGlobalPropertiesConfig.remove("a");
// すべてのプロパティを取得
QtGlobalPropertiesConfig.getAll();
// すべてのプロパティをクリア
QtGlobalPropertiesConfig.clear();

追跡データの送信

QtLog log = new QtLog.Builder()
        .eventId("order_success")  // イベントコード (必須)
        .deviceId("dev-001")		// デバイス ID を設定します。デバイス ID またはユーザー ID のいずれかを設定する必要があります。
        .userId("user-001")		// ユーザー ID を設定します。デバイス ID またはユーザー ID のいずれかを設定する必要があります。
        .pageName("pageName")	// ページコードを設定します (任意)
        .customProperty(new HashMap<>())		// イベントプロパティを設定します (任意)
        .systemProperty(new HashMap<>())		// システムプロパティを設定します (任意)
    		.idTracking(new HashMap<>())		// システムプロパティのデバイス識別子を設定します
        .debugKey("dk-0001")		// トラッキング検証用のフラグを設定します (任意)。公開前に削除してください。
        .eventTimestamp(System.currentTimeMillis())		// クライアントタイムスタンプを設定します (必須)
        .serverTimestamp(System.currentTimeMillis())  // サーバータイムスタンプを設定します (任意)
  			.uuid("xxxx") // イベントログの一意の識別子を設定して log_id を生成します (バージョン 1.0.1 でサポート)
        .build();		// ログの構築が完了しました

以下のシステムプロパティのみがサポートされています。キーは大文字と小文字を区別するため、正確に一致する必要があります。

カテゴリ

開発者が送信するフィールドとQTシステムプロパティフィールド

タイプ

説明

アプリケーション情報

channel

String

アプリケーションチャネル

app_version

String

アプリケーションバージョン

SDK 情報

sdk_version

String

SDK バージョン

sdk_type

String

SDK タイプ

システム情報

os

String

オペレーティングシステム

os_version

String

オペレーティングシステムバージョン

デバイス情報

resolution

String

画面解像度

mac, oaid, openid, unionid, android_id, idfa, serial, imei, idfv

String

デバイス識別子。idTracking(new HashMap<>()) を使用して送信します。詳細については、「上記のデモ」をご参照ください。

device_brand

String

デバイスブランド

device_model

String

デバイスモデル

ネットワークとキャリア

access

String

ネットワークタイプ

access_subtype

String

carrier

String

キャリア

プラットフォームとシナリオ情報

scene

String

シナリオ値 (ミニプログラム)

device_type

String

http_header とユーザーエージェントから抽出

browser

String

ブラウザ

ip

String

IP アドレス

ログの送信

次のメソッドを呼び出してログを送信します。

 QtLogSenderHelper.syncSendLog(log);

デモ

package com.alibaba.lingyang.quick.tracking.qlc.java.sdk.model;

import com.alibaba.lingyang.quick.tracking.qlc.java.sdk.config.QtGlobalPropertiesConfig;
import com.alibaba.lingyang.quick.tracking.qlc.java.sdk.config.QtSdkConfig;
import com.alibaba.lingyang.quick.tracking.qlc.java.sdk.sender.QtLogSenderHelper;
import org.junit.Test;

import java.io.UnsupportedEncodingException;
import java.util.HashMap;
import java.util.Map;

/**
 * ログ送信のテスト
 */
public class TestSendLog {
    /**
     * テスト
     */
    @Test
    public void testSend() throws UnsupportedEncodingException {
        // 設定
        QtSdkConfig.setServiceId("z1212121AOCgtG");
        QtSdkConfig.setServiceSecret("f111111HvkuYu0111111QghlWMpIiU9D");
        QtSdkConfig.setAppKey("123123123");
        QtSdkConfig.setQlcEndpoint("https://log-api.xxxxxxx.com");
        QtSdkConfig.setOpenLog(true);
        QtSdkConfig.setCallback(ctx -> {
            System.out.println(ctx.getResponseCode());
            System.out.println(ctx.getResponseMessage());
            System.out.println(ctx.getSendSuccess());
            System.out.println(ctx.getSendData());
            System.out.println(ctx.getResponseData());
            System.out.println(ctx.getErrors());
        });

        // グローバルプロパティを追加
        QtGlobalPropertiesConfig.put("a", "1");
        QtGlobalPropertiesConfig.put("b", "2");
        // グローバルプロパティを削除
        QtGlobalPropertiesConfig.remove("a");
        // すべてのグローバルプロパティを取得
        QtGlobalPropertiesConfig.getAll();
        // すべてのグローバルプロパティをクリア
        QtGlobalPropertiesConfig.clear();

        Map<String,String> idTracking = new HashMap();
        idTracking.put("mac","id1");
        idTracking.put("oaid","id2");
        idTracking.put("android_id","id3");

        String a = "中国語";
        String s = new String(a.getBytes("utf8"),"gbk");

        // カスタムプロパティまたはユーザープロパティ
        Map<String,Object> customProperty = new HashMap<>();
        customProperty.put("a","1");
        customProperty.put("b",2);

        // システムプロパティ
        Map<String,Object> systemProperty = new HashMap<>();
        systemProperty.put("a","1");
        systemProperty.put("b",2);

        // ログオブジェクトを構築
        QtLog log = new QtLog.Builder()
                .eventId("$$_user_profile") // イベントコード (必須)。ユーザープロパティイベントを送信する場合は、コードを $$_user_profile に設定します。
                .deviceId("dev-001") // デバイス ID を設定します。デバイス ID またはユーザー ID のいずれかを設定する必要があります。
                .userId("user-001") // ユーザー ID を設定します。デバイス ID またはユーザー ID のいずれかを設定する必要があります。$$_user_profile イベントの場合は必須です。
                .uuid("xxxx") // (任意)
                .pageName("pageName") // ページコードを設定します (任意)
                .idTracking(idTracking) // システムプロパティのデバイス識別子を設定します (任意)
                .customProperty(customProperty) // イベントプロパティまたはユーザープロパティを設定します (任意)
                .systemProperty(systemProperty)// システムプロパティを設定します (任意)
                .serverTimestamp(1111L)
                .debugKey(a)
                .eventTimestamp(System.currentTimeMillis())
                .build();
        // ログを送信
        QtLogSenderHelper.syncSendLog(log);
    }

その他の設定

  1. サービス設定

    設定

    タイプ

    必須

    デフォルト

    説明

    serviceId

    String

    はい

    -

    サーバー側収集の AccessKey ID。

    serviceSecret

    String

    はい

    -

    サーバー側収集の AccessKey シークレット。

    qlcEndpoint

    String

    はい

    -

    データ収集サービスのエンドポイント。

    appKey

    String

    はい

    -

    appKey

    openLog

    Boolean

    いいえ

    false

    SDK ロギングを有効にします。

    httpConnectTimeoutMillisecond

    Integer

    いいえ

    null

    HTTP 接続タイムアウト (ミリ秒)。

    httpWriteTimeoutMillisecond

    Integer

    いいえ

    null

    HTTP 書き込みタイムアウト (ミリ秒)。

    httpReadTimeoutMillisecond

    Integer

    いいえ

    null

    HTTP 読み取りタイムアウト (ミリ秒)。

    senderType

    QtSenderTypeEnum

    いいえ

    SYNC

    送信モード:同期または非同期。

    callback

    Consumer<QtSendCallbackContext>

    いいえ

    null

    コールバック関数。

  2. コールバック設定

    プロパティ

    タイプ

    説明

    sendSuccess

    Boolean

    ログが正常に送信されたかどうか。

    errors

    List<String>

    送信失敗時のエラーメッセージのリスト。

    qtLog

    QtLog

    送信された QtLog オブジェクト。

    responseData

    String

    レスポンスボディ。

    responseCode

    String

    レスポンスステータスコード。

    responseMessage

    String

    レスポンスメッセージ。

    sendData

    String

    HTTP リクエストペイロード。

    コールバック関数の登録例

    // コールバック関数を登録
    QtSdkConfig.setCallback(ctx -> {
     System.out.println(ctx.getResponseCode());
     System.out.println(ctx.getResponseMessage());
     System.out.println(ctx.getSendSuccess());
     System.out.println(ctx.getSendData());
     System.out.println(ctx.getResponseData());
     System.out.println(ctx.getErrors());
    });
  3. 一意のログ ID (log_id) の生成

    デフォルトでは、SDK は各イベントログの log_id として UUID を生成します。より細かく制御するために、UUID を手動で設定することもできます:

    QtLog log = new QtLog.Builder()
            .eventId("order_success")  
            .deviceId("dev-001")		
            .userId("user-001")		
            .pageName("pageName")
            .customProperty(new HashMap<>())
            .systemProperty(new HashMap<>())
        		.idTracking(new HashMap<>())
            .debugKey("dk-0001")// トラッキング検証用のフラグを設定します (任意)。公開前に削除してください。
            .eventTimestamp(System.currentTimeMillis())
      			.uuid("xxxx") // イベントログの一意の識別子を設定して log_id を生成します (バージョン 1.0.1 でサポート)
            .build();