トラッキングスキームに基づいて、正しいトラッキング API を選択します。
1. トラッキングソリューションの表示方法
埋め込みポイントを埋め込む前に、どこにポイントを埋め込むか、どのポイントを埋め込むかを決定する必要があります。つまり、埋め込みポイントの明確な要件を整理する必要があります。QuickTracking プラットフォームでは、トラッキングポイントの明示的な要件をトラッキングポイントスキームと呼び、トラッキングポイントスキームのために仕様テンプレートが設計されています。次のとおりです: 

埋め込みポイントスキームでは、必要な埋め込みポイントは次のとおりです:
1. イベントの主体: イベントをトリガーした「誰が」。イベントは、デバイス ID と アカウント ID に分けることができます。イベントには、これらのいずれかが必要です。
デバイス ID: 通常、アプレットでは openid です。アプレットに埋め込まれた h5 ページのデバイス ID も、アプレットの openid に設定する必要があります。
アカウント ID: ログイン後のクライアントユーザーのアカウント ID。ユーザーが異なるデバイスからログインすると、デバイス ID は変更されますが、アカウント ID は変更されません。たとえば、ユーザーが携帯電話とパッドを使用して個別にログインする場合などです。
2. ユーザー属性: アカウント ID の属性です。たとえば、アカウント ID が "testdemo@111" のユーザーの「誕生日」が "1999-02-13"、「会員レベル」が "プラチナ" などです。「誕生日」と「会員」の評価がユーザー属性です。
3. チャンネル属性: 配信チャンネル、配信方法、配信コンテンツなど、広告配信の属性です。
4. グローバル属性: 一度グローバル設定を行うと、各イベントで伝送される属性です。
5. ページ閲覧イベント: ページ読み込み中にレポートされるイベントです (トラッキングスキームでページコードとイベントコードが等しいイベントも青色でマークされたイベントです)。
6. クリック、露出、カスタムイベント: クライアントユーザーがクライアントと対話したときに報告されるイベント。
2. デバイス ID とアカウント ID を設定する
2.1 デバイス ID の設定
各ミニプログラム プラットフォームには、独自のデバイス ID 生成ロジックがあります。したがって、QuickTracking SDK はデバイス ID を自動的に生成しません。ただし、QuickTracking SDK のログはデバイス ID に依存しています。したがって、トラッキングを行う前にデバイス ID を設定する必要があります。 WeChat ミニプログラムの場合、SDK を使用すると、QuickTracking が OpenID を自動的に取得することを承認できます。または、開発者は openid/unionid などの公式ミニプログラム ID を取得し、手動でデバイス ID としてアップロードします。そうしないと、QuickTracking SDK はログを報告できません。
手動アップロード方法は次のとおりです。
// 方法 1:
wx.aplus.setMetaInfo("_anony_id", ビジネス側で実装された ID);
// 方法 2:
wx.aplus_queue.push({
action: "aplus.setMetaInfo",
arguments: ["_anony_id", ビジネス側で実装された ID],
});注: サンプルコードは WeChat ミニプログラムを呼び出すために使用されます。他のミニプログラムも同様のプラットフォーム ロジックを備えています。
// app.js 内
const aplusConfig = {
metaInfo: {
... // SDK を構成します。
'_hold: 'BLOCK', // ブロックログが報告されます。ブロックログは、openid と unionid が正常に取得された後に報告されます。
... // SDK を構成します。
},
};
// qt_mini_sdk を初期化します。
import { initQTSDK } from "./utils/qt_mini.umd.js";
initQTSDK(aplusConfig);
wx.login({
success: (res) => {
// コードを使用して OpenID を交換します。
if (res.code) {
wx.request({
url: カスタマーサービス側のバックエンドが openid を取得するインターフェイス,
method: "post",
data: {
code: res.code,
},
success: (res) => {
if (res.data && res.data.openid) {
// 方法 1:
wx.aplus.setMetaInfo("_anony_id", res.data.openid);
// 方法 2:
/**
wx.aplus_queue.push({
action: 'aplus.setMetaInfo',
arguments: ['_anony_id', res.data.openid]
});
*/
} else {
// 方法 1:
wx.aplus.setMetaInfo("_anony_id", ビジネス側で実装された ID);
// 方法 2:
/**
wx.aplus_queue.push({
action: 'aplus.setMetaInfo',
arguments: ['_anony_id', ビジネス側で実装された id]
});
*/
}
},
});
}
},
fail: () => {
// エラーメッセージ。
},
complete: () => {
// 方法 1:
wx.aplus.setMetaInfo("_hold", "START");
// 方法 2:
/**
wx.aplus_queue.push({
action: 'aplus.setMetaInfo',
arguments: ['_hold', 'START']
});
*/
},
});
追伸: 現在、QuickTracking は WeChat ミニプログラムの openid の自動収集をサポートしており、プロダクトでの権限付与が必要です。権限付与方法は次のとおりです。クリックして、要件に従って内容を記入してください。


承認後、デバイス ID コードモードを次のように設定します。
const aplusConfig = {
metaInfo: {
... // SDK を構成します。
'autoGetOpenid': true // OpenID の自動収集を有効にします
... // SDK を構成します。
}
};
// qt_mini_sdk を初期化します。
import { initQTSDK } from './utils/qt_mini.umd.js';
initQTSDK(aplusConfig); 以前に手動で openid を使用していて、今回 QuickTracking が WeChat ミニプログラムの openid を自動的に収集するように変更したい場合は、次の点にも注意する必要があります:
metainfo の_hold=BLOCK を使用して SDK ブロック レポート ロジックを削除します
以前の "_anony_id=openid" を手動で設定するロジックコードをコメントアウトします。つまり、wx.login から openid を取得するコードを削除します。
appKey と受信ドメイン名の設定に関する内容が影響を受けないようにすることが重要です。
_hold=BLOCK は、コマンドキュー aplus_queue によって送信される API コマンドレポートのみをブロックし、aplus 環境変数を介して直接呼び出される API のレポートはブロックしません。
2.2 アカウント ID の設定
ユーザーがログインするとき、またはミニプログラムにログインするときは、アカウント ID を設定する必要があります。これは、設定後の各ログにアカウント ID が含まれるためですが、ミニプログラムを終了してから再度入った後にトリガーされるイベントにはアカウント ID が含まれません。したがって、ユーザーがログインするときとミニプログラムにログインするときにアカウント ID を設定する必要があります:
const { aplus } =Mini Program Platform Environment Variables // WeChat wx、Alipay my、Byte tt、Baidu Swan など
// ユーザーがログインすると、ユーザーのログインアカウント情報が取得されるか、ユーザーがすでにログインしている場合は、cookie または localstorage を使用してユーザーのログインアカウントが取得されます。
function demoLogin() {
/*************************** 同期シナリオの場合 *************************************** /
aplus.setMetaInfo("_user_id", 'アカウント ID');
/************************* 非同期シナリオの場合 *********************************** /
// _hold=BLOCK を設定して収集とレポートをブロックします。
aplus.setMetaInfo("_hold", 'BLOCK');
...
function callback() {
// 非同期コールバック結果でユーザーアカウント ID を取得します。
aplus.setMetaInfo("_user_id", 'アカウント ID');
// _hold=START を設定して収集とレポートを許可します。
aplus.setMetaInfo("_hold", 'START');
};
...
};
// ユーザーがログオフするときにユーザーアカウント ID をリセットします。
function demoLogOff() {
aplus.setMetaInfo("_user_id", '');
};2.3 デバイス ID とアカウント ID
ミニプログラムで QuickTracking のデバイス ID を取得する必要がある場合は、metainfo で_anony_id を取得できます。 WeChat ミニプログラムを例にとります。
const { aplus } = ミニプログラム プラットフォーム環境変数 // WeChat wx、Alipay my、Byte tt、Baidu Swan など
aplus.getMetaInfo('_anony_id');ミニプログラム側で QuickTracking のアカウント ID を取得する必要がある場合は、metainfo で_user_id を取得できます。 WeChat ミニプログラムを例にとります。
const { aplus } = ミニプログラム プラットフォーム環境変数 // WeChat wx、Alipay my、Byte tt、Baidu Swan など
aplus.getMetaInfo('_user_id');3. ユーザー プロパティを設定する
プリセットのイベントコーディング $$_user_profile を使用してユーザー属性をレポートします。イベントタイプはその他のイベントです。
ユーザー属性をレポートする前に、ユーザーアカウントをレポートするための _user_id の設定を行う必要があります。そうしないと、Quick Tracking はユーザー属性の相関計算を実行しません。レポートするユーザーのアカウント ID を確認した後、ユーザー属性のレポート例は次のとおりです。
const { aplus } =Mini Program Platform Environment Variables; // 例: WeChat wx、Alipay my、Byte tt、Baidu Swan など
// 例
aplus.record("$$_user_profile", "OTHER", {
name: "sss", // ユーザー属性 1
gender: "male", // ユーザー属性 2
class: "3", // ユーザー属性 3
});上記のコンテンツでは、3 つの行を変更することはできません。行 4、5、6 のみカスタマイズできます。
4 チャネル属性
チャンネル属性は埋め込む必要はありませんが、SDK で認識されるキーワードが "utm_" であるため、ミニプログラムの URL には "utm_" で始まるキーを持つこれらのチャンネル属性を含める必要があります。例:
qaplus/product?utm_channel=gzh
PS: 市場のチャンネル配信会社と提携しており、utm_ で始めることができない場合は、Global Attributes API を使用してチャンネル属性を報告できます。属性キーは utm_ で始まる必要があります。
5 グローバル属性
グローバル プロパティのライフサイクルは、アプリケーションの起動からアプリケーションの非表示までです
5.1 グローバル属性の追加 (aplus.appendMetaInfo)
aplus.appendMetaInfo を使用してグローバル属性をレポートする場合、グローバル属性のキーが既存のグローバル属性のキーと同一であれば既存の値が更新され、異なる場合は新しいグローバル属性が挿入されます。
インターフェイス:
const { aplus } =Mini Program Platform Environment Variables; // 例: WeChat wx、Alipay my、Byte tt、Baidu Swan など。
aplus.appendMetaInfo("globalproperty", {
// グローバル属性を追加します。
xxx: xxx,
});例:
const { aplus } =Mini Program Platform Environment Variables; // たとえば、WeChat wx、Alipay my、Byte tt、Baidu Swan など。
aplus.appendMetaInfo("globalproperty", {
// グローバル属性を追加します。
a: 3,
b: 4,
});
// 現在の globalproperty は a:3 と b:4 です。
aplus.appendMetaInfo("globalproperty", {
// グローバル属性を追加します。
b: 2,
d: 4,
});
// 現在の globalproperty は a:3、b:2、d:4 です。5.2 グローバルプロパティの上書き
aplus.setMetaInfo を使用してグローバルプロパティをレポートする場合、最後のレポートのみが有効になります。つまり、既存のすべてのグローバル属性が最初にクリアされ、次にこの setMetaInfo でセットされたグローバル属性が追加されます。
このメソッドを使用する前に、ビジネスロジックに適合することを確認してください。一般的なシナリオでは、グローバル属性をクリアしてください。
このメソッドを使用すると、チャンネル プロパティも上書きされることに注意してください!!!
インターフェイス:
const { aplus } = ミニプログラム プラットフォーム環境変数; // WeChat wx、Alipay my、Byte tt、Baidu Swan など
aplus.setMetaInfo("globalproperty", {
xxx: xxx,
});例:
const { aplus } = ミニプログラム プラットフォーム環境変数; // WeChat wx、Alipay my、Byte tt、Baidu Swan など
aplus.setMetaInfo("globalproperty", {
a: 1,
b: 2,
});
// 現在の globalproperty は a:1 と b:2 です
aplus.setMetaInfo("globalproperty", {
c: 1,
d: 2,
});
// 現在の globalproperty は c:1 と d:2 です。「a:1 と b:2 はもう存在しません」6 ページ閲覧イベント API
1. SDK とコードを使用してイベントにタグ付けできます。 デフォルトでは、タグは有効になっています。
2. ページ閲覧イベントには、以下のコンテンツを埋め込む必要があります:
イベントコード: ページコードです。ページ閲覧イベントでは、イベントコードはページコードです。

ページ閲覧イベントのイベント属性: 特定の属性については、トラッキングスキームをご参照ください。

6.1 pageConfig
pageConfig は、ページのページ エンコーディング モードをグローバルに設定するために使用されます。次の例を参照してください。
const aplusConfig = {
metaInfo: {
appKey: "", // QuickTracking を使用してアプリケーションを作成するときに指定する AppKey です。このパラメーターは必須です。
trackDomain: "", // 必須。ログ収集とレポート用のドメイン名です。
_user_id: "testUserId", // ミニプログラムのログインアカウント ID です。ユーザーアカウントの緯度データを計算および分析する必要がある場合は、レポートする必要があります
_anony_id: "testOpenid", // ミニプログラムプラットフォーム上のユーザーの一意の識別子で、UV の計算に使用されます。必須です。
DEBUG: true, // デバッグログをオンにします。
appVersion: "The version of your current mini program",
// ページエンコーディングをグローバルに設定します。
// ページエンコーディングが設定されていない場合、デフォルトでパスが使用されます。
// ページタイトルが設定されていない場合、WeChat ミニプログラムはデフォルトでページタイトルになり、他のミニプログラムはデフォルトで "" になります
pageConfig: {
"pages/index/index": {
pageName: "page_name_test_index",
pageTitle: "Home",
skipMe: true, // ページに対して自動的にレポートされるページ閲覧イベントを無視します。デフォルト値は未定義です。
},
"pages/detail/detail": {
pageName: "page_name_test_detail",
pageTitle: "Details page",
},
},
},
};
その中で
pageName はページ エンコーディングを示します
pageTitle はページ タイトルを示します
skipMe は、ページの自動ブラウジングイベント収集を無効にするかどうかを指定します (true は無効、false は有効を示します)
注: skipMe によって設定される優先度は、ページ閲覧イベントの自動収集を無効にするマスター スイッチ aplus-disable-apv よりも低くなります。
6.2 ページ自動トラッキング
SDK がページ onHide を識別すると、ページ閲覧イベントを報告します。報告されるコンテンツは次のとおりです。
現在のクライアント時間
ページパス
ページのエンコーディング (デフォルトはページのパスです。pageConfig が設定されている場合、値はマッピング pageConfig の page_name です)
ページのタイトル。デフォルト値はページのタイトルです。pageconfig が設定されている場合、値はマッピングの page_title です。
ページの滞在時間: onShow から onHide までの時間
6.2.1 自動ページトラッキングを無効にする
デフォルトでは、自動ページ レポートが有効になっています。自動ページ レポートを無効にするには、次の API 操作を呼び出します。
const { aplus } = ミニプログラム プラットフォーム環境変数 // WeChat wx、Alipay my、Byte tt、Baidu Swan など
aplus.setMetaInfo('aplus-disable-apv', true);1 つのページのみの自動ページ レポートを無効にするには、pageconfig で skipMe を true に設定します。
6.2.2 自動ページ閲覧イベントのイベント プロパティを設定する
`updatePageProperties` を呼び出すと、ページで `onhide` フックが発火する前に、ページエンコーディングイベントとページ閲覧イベントのイベントプロパティを動的にセットできます。
API の説明:
const { aplus } =Mini Program Platform Environment Variables // 例: WeChat wx、Alipay my、Byte tt、Baidu Swan など
aplus.updatePageProperties($params, $page_path);その中で
$params: ページイベント属性のコレクション (オブジェクトタイプ) で、多層のネストはサポートされていません。事前定義されたフィールド page_name は、自動ページイベントのページコードを動的に設定するために使用されます。
$page_path: オプション フィールド、文字列タイプ。そうでない場合、デフォルトは現在のページパスです
例
onShow() {
const { aplus } =Mini Program Platform Environment Variables // WeChat wx、Alipay my、Byte tt、Baidu Swan など
aplus.updatePageProperties({
page_name: '', // (オプション) 自動ページイベントのページエンコーディングを動的に設定するための予約フィールド
param1: '',
param2: ''
}, 'pages/home/home');
}6.3 ページの手動コレクション
API
sendPV メソッドはページ PV ログを送信します。API 定義は次のとおりです。
const { aplus } = ミニプログラム プラットフォーム環境変数 // WeChat wx、Alipay my、Byte tt、Baidu Swan など
aplus.sendPV($pageEventConfig, $properties
)その中で
$pageEventConfig はページ イベントの構成です。{ is_auto: false } と記述するだけです
$properties はこのページ イベントの拡張パラメーターです。値はオブジェクト タイプで、複数層にネストすることはできません。空のオブジェクト '{}' を渡すことができない場合
duration: duration フィールドは、手動 PV モードで閲覧されたページの滞在時間を記録するために使用されます。滞在時間を計算するロジックは、ビジネスシナリオに基づいて開発者が設計および実装する必要があります。自動 PV 機能では、滞在時間の計算ロジックは sdk によって実装されます
例
// シンプルなデモ
const { aplus } =Mini Program Platform Environment Variables; // 例: WeChat wx、Alipay my、Byte tt、Baidu Swan など。
aplus.sendPV(
{
is_auto: false,
},
{
page_title: "home page", // デフォルト値は pageConfig パラメーターの値です。このパラメーターを設定した場合、ここで設定した値が使用されます。このパラメーターは必須です。
page_name: "yourCurrentPageName", // デフォルト値は pageConfig の値です。ここで設定した場合、ここで設定した値が使用されます (任意)。
// duration パラメーター (ミリ秒単位) を設定すると、QuickTracking は分析で "event attribute-duration (s)" として使用されます。
duration: 1111111,
// カスタムイベントプロパティ。
x: 111,
y: 222,
}
);注:
デフォルトでは、page_title パラメーターは pageConfig パラメーターの値に設定されます。page_title パラメーターが設定されている場合、値が設定されます。
デフォルトでは、page_name パラメーターは pageConfig パラメーターで指定された値に設定されます。page_name パラメーターが設定されている場合、page_name パラメーターは pageConfig パラメーターで指定された値に設定されます。
7 イベントの埋め込みポイント
ページ閲覧イベントを除くすべてのイベントは、'action':'aplus.record' を使用して埋め込まれます。以下の内容を埋め込む必要があります:
イベントコード:

イベントプロパティ:

ページエンコーディング (オプション): デフォルトでは、SDK はページパスを収集します。ページパスが pageConfig でマッピングされ、page_name が設定されている場合、値は pageConfig の page_name になります。イベントが埋め込まれたときにイベントプロパティで page_name が設定されている場合、値はイベントプロパティの page_name に設定されます。つまり、値の優先順位は次のようになります:
イベントプロパティの page_name > pageConfig の page_name > ページパス

ページタイトル: デフォルトでは、SDK はページのタイトルを収集します。ページパスが pageConfig でマッピングされ、page_title が設定されている場合、値は pageConfig の page_title になります。イベントにタグを付けるときにイベントプロパティで page_title を設定すると、page_title パラメーターの値はイベントプロパティの値と同じになります。つまり、値の優先順位は次のようになります
イベント プロパティの page_title > pageConfig の page_title > ページ タイトル
イベントトラッキングは、SDK 自動トラッキング (フルトラッキング) とコードトラッキングに分かれています。 デフォルトでは、クリックとエクスポージャーのフルトラッキングは無効になっています。
7.1 露出イベント
EXP は特に露出イベントを指します
const { aplus } = ミニプログラムプラットフォームの環境変数; // 例: WeChat wx、Alipay my、Byte tt、Baidu Swan など
aplus.record("トラッキング設計でのイベントコード", "EXP", {
x: "111",
y: "222",
z: "333",
page_name: "demoPageName", // 現在のページのカスタムページコード。このパラメーターは任意です。
});7.2 クリック イベント
CLK は特にクリック イベントを指します
const { aplus } =Mini Program Platform Environment Variables; // 例: WeChat wx、Alipay my、Byte tt、Baidu Swan など。
aplus.record("Event code in the tracking scheme", "CLK", {
x: "111",
y: "222",
z: "333",
page_name: "demoPageName", // 現在のページのカスタムページコード。このパラメーターは任意です。
});
7.3 その他のイベントトラッキングポイント
クリック イベントと露出イベント以外のその他のカスタム イベント
const { aplus } =Mini Program Platform Environment Variables // WeChat wx、Alipay my、Byte tt、Baidu Swan など
aplus.record ('Event code in the tracking scheme ', 'OTHER', {
x: '111',
y: '222',
z: "333",
page_name: "demoPageName", // 現在のページのカスタムページコード。このパラメーターは任意です。
});7.4 自動露出(フルスポット)
SDK は、開発者による露出時間の処理と、要素の露出動作の自動収集を内部でサポートします。トリガーのタイミングは、コントロールが可視エリアに 50% を超えて表示され、その表示時間が 300ms を超えた場合です。
WeChat を例にとります。UI 部分:
// ページ上の WXML ファイルのルートノード。capture-bind:touchstart:
<view class="root" capture-bind:touchstart="onAplusTouch">
// 公開するノードに class と data-tracker を追加します (app.js の自動クリック設定に対応)。例:
<view class="button-section">
<button
class="auto-exposure"
data-pagename="現在のイベントのページエンコーディングをカスタマイズ"
data-page_title="現在のイベントのページタイトルをカスタマイズ"
data-name="btn-navigator"
data-index="num1"
bindtap="onNavigatorTap"> ナビゲーション </button>
<button
class="autotrack_exp"
data-itemName='Reading Stude'
data-itemzoon='abc'
data-itemid='a_product_id'
data-promotioninformation='abc'
data-pagename='Homepage'> autoExp</button>
<custom_component
class="custom_component"
name="books"
title="data-title"
description="これはカスタムコンポーネントです"></custom_component>
</view>
</view>sdk 構成セクション:
const aplusConfig = {
metaInfo: {
"aplus-auto-exp": [
{
cssSelector: ".auto-exposure", // 公開したい要素のクラス。
logkey: "auto-exp-id", // トラッキングスキーム内の対応するイベントコード。
/**注:
* 1. CSSselector が複数の要素に一致する場合、ページノードに data-tracker を埋め込む必要があります。そうしないと、aplusJS が要素の一意性を認識できず、リスト内の複数の要素に対して公開が 1 回しかトリガーされません。
* 2. 現在、Alipay ミニプログラムはこの属性の収集をサポートしていません。
*/
props: ["data-name", "data-index", "data-pagename", "data-page_title"],
},
{
cssSelector: ".autotrack_exp", // 公開したい要素のクラス。
logkey: "autotrack_exp", // トラッキングスキーム内の対応するイベントコード。
},
],
// 自動公開の先行コールバック関数。キャメルケース (デフォルトでは、HTML データ属性は小文字のみをサポート) などの、カスタマイズされたパラメーターレポートをサポートするために使用されます。
// 有効な値: 1.9.25 以降。
"aplus-auto-exp-userfn": function (e, selector) {
if (selector.indexOf("autotrack_exp") != -1) {
var dataset = e.dataset;
var obj = {};
obj.itemID = dataset.itemid;
obj.itemName = dataset.itemname;
obj.itemZoon = dataset.itemzoon;
obj.promotionInformation = dataset.promotioninformation;
obj.pageName = dataset.pagename;
return obj;
}
},
},
};
自動露出の事前コールバック関数。デフォルト値は undefined です。この関数を有効にするには、次のパラメーターを設定する必要があります。
const { aplus } =Mini Program Platform Environment Variables // 例: WeChat wx、Alipay my、Byte tt、Baidu Swan など
aplus.setMetaInfo('aplus-auto-exp-userfn', function(e, selector) {
/**
* e: DOM 要素
* selector: 要素のセレクター。値は自動クリックで渡される cssSelector です。
* @return カスタム属性オブジェクト。
*/
});SDK がカスタム コンポーネントの DOM データを取得できるようにするには、>>> 構文を使用する必要があることに注意してください。詳細については、 を参照してください。
// ページの WXML ファイルのルート ノード。capture-bind:touchstart:
<view class="root" capture-bind:touchstart="onAplusTouch">
// 露出するノードに class と data-tracker を追加します (app.js の自動クリックの構成に対応)。例:
<view class="button-section">
<custom_component
class="custom_component"
name="books"
title="data-title"
description="これは custom_component です">
</custom_component>
</view>
</view>const aplusConfig = {
metaInfo: {
...
"aplus-auto-exp": [
{
cssSelector: ".root >>> .custom_component",
logkey: "exp_custom_component",
props: [],
},
{
// シャドウ ルートによって制御されないコンポーネント
cssSelector: ".custom_component",
logkey: "exp_custom_component",
props: [],
},
],
...
},
};
7.5 自動クリック (フルトラッキングポイント)
バージョン 1.1.0 以降、開発者のトラッキングのワークロードを削減するために、SDK は一部の情報を設定することでページ内のクリックイベントの自動収集もサポートしています。 (Alipay および Baidu ミニプログラムは、基本ライブラリのバージョンが 2.x 以降の場合にのみサポートされます)
WeChat を例にとります。UI 部分:
// ページの WXML ファイルのルートノードの catchtap:
<view catchtap="onAplusClk">
// 公開するノードに class と data-tracker を追加します (app.js での自動クリックの構成に対応)。例:
<view class="button-section">
<button
class="auto-click"
data-pagename="Customize the page encoding of the current event"
data-page_title="Customize the page title for the current event"
bindtap="onNavigatorTap"> Navigation </button>
<button
class="autotrack_clk"
data-itemName='Reading Stude'
data-itemzoon='abc'
data-itemid='a_product_id'
data-promotioninformation='abc'
data-pagename='Homepage'> autoClk</button>
</view>sdk 構成セクション:
const aplusConfig = {
metaInfo: {
...
"aplus-auto-clk": [
{
cssSelector: ".auto-click",
logkey: "demoEventCode", // トラッキングスキームのイベントコード。
props: ["data-name", "data-pagename", "data-page_title"], // トラッキングスキームのカスタム属性。
},
{
cssSelector: ".autotrack_clk",
logkey: "autotrack_clk", // トラッキングスキームで対応するイベントコード。
},
],
// 自動クリックイベントの先行コールバック関数。 この関数は、キャメルケースなど、カスタマイズされたパラメーターのレポートをサポートするために使用されます。 デフォルトでは、HTML データ属性は小文字のみをサポートします。
"aplus-auto-clk-userfn": function (e, selector) {
if (selector.indexOf("autotrack_clk") != -1) {
var dataset = e.dataset;
var obj = {};
obj.itemID = dataset.itemid;
obj.itemName = dataset.itemname;
obj.itemZoon = dataset.itemzoon;
// obj.promotionInformation = dataset.promotioninformation;
obj.pageName = dataset.pagename;
return obj;
}
},
...
},
};
自動クリックの事前コールバック関数。デフォルト値は undefined です。この関数を有効にするには、次のパラメーターを設定する必要があります。
const { aplus } =Mini Program Platform Environment Variables; // 例: WeChat wx、Alipay my、Byte tt、Baidu Swan など。
/**
* e: DOM 要素
* selector: 要素のセレクターです。値は、自動クリックで渡される cssSelector です。
* @return カスタム属性オブジェクト。
*/
aplus.setMetaInfo("aplus-auto-clk-userfn", function (e, selector) {
});7.6 ミニプログラム要素のクリック
バージョン 2.4.2 以降、一部のシナリオでは、開発者はページ内のイベント関数にバインドされた要素のクリック動作を収集する必要があります。セクション 7.5 での開発者の構成ワークロードを削減するため、SDK はこのようなシナリオで自動収集をサポートしています。
デフォルトでは、イベント関数にバインドされた要素のクリック動作は収集されません。この機能を有効にするには、SDK の初期化構成で宣言する必要があります:
注: autotrackMethodEnable または autotrackMethodFilterMap は、動的に設定しても有効にならず、初期化の前に事前宣言された場合にのみ有効になります。
const aplusConfig = {
metaInfo: {
appKey: "", // QuickTracking を使用してアプリケーションを作成する際に指定する AppKey。このパラメーターは必須です。
_user_id: "testUserId", // ミニプログラムのログインアカウント ID。ユーザーアカウントの緯度データを計算・分析する必要がある場合は、報告する必要があります
_anony_id: "testOpenid", // UV の計算に使用される、ミニプログラムプラットフォーム上のユーザーの一意の識別子。必須です。
DEBUG: true, // デバッグログをオンにします。
appVersion: "The version of your current mini program",
autotrackMethodEnable: true, // 以下のサンプルレート機能と合わせて有効になります。
autotrackMethodFilterMap, { // 2.4.4 の新しいメソッドのサンプルレート構成
onClick: "0.5",
}
},
};シナリオ
WeChat ミニプログラムのシナリオを例にとります
//wxml
<view class="bottomTab"
bindtap="onClick"
id="my_bottom_tab"
data-custom_property="1111"
data-element_type="要素タイプ。開発者は必要に応じて追加します"
data-element_name="要素名。開発者は必要に応じて追加します"
data-element_class_name="要素クラス。開発者は必要に応じて追加します"
data-element_content="要素コンテンツ。開発者は必要に応じて追加します"
data-element_selector="css フィルター。開発者はオンデマンドで追加します"
data-element_path="要素パス。開発者は必要に応じて追加します">
<view class="iconfont icon-dibu"> 下部ナビゲーション </view>
</view>
//homePage.js
Page({
// 下部のタブをクリックします。
onClick: function () {
// ビジネス処理ロジック。
}
})ユーザーが onClick イベントをトリガーすると、SDK は $$_mp_item_click としてエンコードされたイベントをレポートします。コレクションフィールドには、以下が含まれます。
イベントプロパティ
(デフォルトコレクション) methodName:"onClick"
(ユーザー定義属性) custom_property:"1111"
全埋め込み属性
element_id: "my_bottom_tab"
element_type: "要素タイプ。開発者は必要に応じて追加します"
element_name: "要素名。開発者は必要に応じて追加します"
element_class_name: "要素クラス。開発者は必要に応じて追加します"
element_content: "要素コンテンツ。開発者は必要に応じて追加します"
element_selector: "css フィルター。開発者はオンデマンドで追加します"
element_path: "要素パス。開発者は必要に応じて追加します"
注:フルトラッキング属性は、開発者が要素にデータ属性 data-element_xxx を設定した後にのみ有効になります。
8 シェアリング核分裂
シェアリング核分裂は、グロースハック戦略の重要な概念です。ユーザー間の社会的つながりに依存して情報の相互伝達を実現し、新規ユーザーの獲得を促進します。
シェア拡散の SDK 関数の統合が完了すると、QuickTracking プラットフォームを使用して、トレンドモデルを共有したり、リターン関連の指標を共有してマーケティング活動の引き上げ効果を測定したりできるようになります。
上位共有ユーザーとさまざまな共有リフローレベルのリフロー効果メトリックの表示をサポートします。
還流インジケーターの柔軟な組み合わせと構成をサポートし、最もフィッションプルアップ能力と共有還流コンバージョン能力が高い上位ユーザーを表示し、フィッションリンクを共有するユーザーと共有還流との関係を追跡し、キーオピニオンコンシューマーを迅速に特定します。
ソース共有パラメーターを取得する
aplus.getRefShareParams();バージョン要件
ミニプログラム sdk v2.2.0 以降
機能
共有者がアプレットを開いたときにソース共有 ID とソース共有 URL を取得するために使用される API
リクエストパラメーター
なし
戻り値パラメーター
オブジェクトタイプ
パラメーター | タイプ | デフォルト値 | 意味 | 備考 |
$$_ref_share_url | 文字列 | "" | 共有 ID を含まないソース共有 URL | なし |
$$_ref_share_id | 文字列 | "" | ソース共有 ID | なし |
呼び出し例
注: onShareAppMessage API と onShareTimeline API でのアプレット プラットフォームの機能の違いを考慮して、SDK は共有パラメーターをリクエストするための 2 つの API 使用方法、つまり Promise 戻り値と関数コールバック戻り値を提供します。製品が適応する必要のあるプラットフォームに基づいて選択できます。
Promise ベース
/**
* WeChat ミニプログラムを例に、Promise の戻り値のシナリオを説明します。
*/
Page({
data: {
// SDK の共有 ID フィールド。
$$_share_id: "",
},
getShareId() {
const { $$_ref_share_url, $$_ref_share_id } = wx.aplus.getRefShareParams();
// 方法 1: ユーザー定義関数から共有 ID を取得します。
wx.aplus
.requestShareParams({
title: "Share the activity page",
path: "/pages/share/shareCampaign?utm_test=test",
campaign: "This is a sharing activity",
shareId: $$_ref_share_id,
})
.then((res) => {
const { $sid } = res;
if ($sid) {
this.setData({
$$_share_id: $sid,
});
} else {
// エラーの原因を指定します。 SDK DEBUG モードでは、ミニプログラムコンソールにエラーが出力されます。
console.log("共有パラメーターの取得に失敗しました。");
}
return res;
});
},
// ユーザーが転送ボタン (ボタン open-type="share") またはページ右上のメニューの「転送」ボタンをクリックする動作をリッスンし、転送コンテンツをカスタマイズします。
onShareAppMessage() {
return {
title: "User default sharing activity page title",
path: `/pages/share/shareCampaign?utm_test=test&$sid=${this.data.$$_share_id}`,
// ID を共有するには、SDK にプリセットされているフィールドを指定する必要があります。
$$_share_id: this.data.$$_share_id,
// 必要に応じて、共有アクティビティの ID を指定します。 このフィールドは、SDK のプリセットフィールドです。
$$_share_campaign_id: "This is a custom sharing activity",
// 元の共有リンクを指定する必要があります。 共有 ID を結合する必要はないことに注意してください。
$$_ share_url: 'Share ${this.route}?utm_source=Share the circle of friends',
};
},
// 右上の「友達に共有」ボタンの動作を監視し、共有コンテンツをカスタマイズします。
onShareTimeline() {
return {
title: "Sharing Friends",
// 次の共有サブジェクトがミニプログラムを開くときのクエリ内のパラメーター。 $sid を結合することを忘れないでください。そうしないと、共有チェーンが切断されます。
query: `$sid=${this.data.$$_share_id}`,
// ID を共有するには、SDK にプリセットされているフィールドを指定する必要があります。
$$_share_id: this.data.$$_share_id,
// アクティビティ ID を共有するには、SDK にプリセットされているフィールドを指定する必要があります。
$$_share_campaign_id: "This is a custom sharing activity",
// 元の共有リンクを指定する必要があります。 共有 ID を結合する必要はないことに注意してください。
$$_ share_url: 'Share ${this.route}?utm_source=Share the circle of friends',
};
},
// 共有イメージや共有クリップボードコンテンツの生成など、模擬共有をカスタマイズします。
userCustomShare() {
wx.aplus.record("$$_share", "CLK", {
// 必要に応じてフィールドを指定します。 このフィールドは SDK にプリセットされている共有タイトルです。
$$_ share_title: "This is a shared title",
// ID を共有するには、SDK にプリセットされているフィールドを指定する必要があります。
$$_share_id: this.data.$$_share_id,
// 必要に応じて、共有アクティビティの ID を指定します。 このフィールドは、SDK のプリセットフィールドです。
$$_share_campaign_id: "This is a custom sharing activity",
// ターゲットプラットフォームと共有するフィールドを指定します。
$$_ share_type: "User-defined sharing target platform",
// 元の共有リンクを指定する必要があります。 共有 ID を結合する必要はないことに注意してください。
$$_ share_url: 'The ${this.route}?utm_source=Custom sharing',
});
},
});
コールバックベースの使用法
/**
* WeChat ミニプログラムを例に、Promise の戻り値のシナリオ。
*/
Page({
data: {
// SDK の共有 ID フィールド。
$$_share_id: "",
},
getShareId() {
const {
$$_ref_share_url,
$$_ref_share_id,
} = wx.aplus.getRefShareParams();
// 方法 1: ユーザー定義関数から共有 ID を取得します。
wx.aplus.requestShareParams({
title: 'Share activity page',
path: '/pages/share/shareCampaign?utm_test=test',
campaign: 'This is a sharing campaign',
shareId: $$_ref_share_id,
}).then((res) => {
const { $sid } = res;
if ($sid) {
this.setData({
$$_share_id: $sid,
});
} else {
// エラーの原因を指定します。SDK DEBUG モードでは、ミニプログラムコンソールにエラーが出力されます。
console.log("Failed to obtain the shared parameters.");
}
return res;
});
},
// ユーザーが転送ボタン (ボタン open-type="share") またはページ右上のメニューにある [転送] ボタンをクリックする動作をリッスンし、転送コンテンツをカスタマイズします。
onShareAppMessage() {
return {
title: 'User default sharing activity page title',
path: `/pages/share/shareCampaign?utm_test=test&$sid=${this.data.$$_share_id}`,
// ID を共有するには、SDK 規定のフィールドを指定する必要があります。
$$_share_id: this.data.$$_share_id,
// 必要に応じて共有アクティビティの ID を指定します。このフィールドは SDK のプリセットフィールドです。
$$_share_campaign_id: "This is a custom sharing activity",
// 元の共有リンクを指定する必要があります。共有 ID を結合する必要はないことに注意してください。
$$_ share_url: 'Share ${this.route}?utm_source=Share the circle of friends',
};
},
// 右上にある [友達に共有] ボタンの動作を監視し、共有コンテンツをカスタマイズします。
onShareTimeline() {
return {
title: "Sharing Friends",
// 共有リンクからアプレットが開かれた際のクエリ内のパラメーターです。必ず $sid を結合してください。そうしないと、共有チェーンが切断されます。
query: `$sid=${this.data.$$_share_id}`,
// ID を共有するには、SDK 規定のフィールドを指定する必要があります。
$$_share_id: this.data.$$_share_id,
// アクティビティ ID を共有するには、SDK 規定のフィールドを指定する必要があります。
$$_share_campaign_id: "This is a custom sharing activity",
// 元の共有リンクを指定する必要があります。共有 ID を結合する必要はないことに注意してください。
$$_ share_url: 'Share ${this.route}?utm_source=Share the circle of friends',
};
},
// 共有イメージや共有クリップボードコンテンツの生成など、模擬共有をカスタマイズします。
userCustomShare() {
wx.aplus.record("$$_share", "CLK", {
// 必要に応じてフィールドを指定します。これらのフィールドは、共有タイトルなど、SDK で事前に作成されたものです。
$$_ share_title: "This is a shared title",
// ID を共有するには、SDK 規定のフィールドを指定する必要があります。
$$_share_id: this.data.$$_share_id,
// 必要に応じて共有アクティビティの ID を指定します。このフィールドは SDK のプリセットフィールドです。
$$_share_campaign_id: "This is a custom sharing activity",
// 共有先のターゲットプラットフォームを指定します。
$$_ share_type: "User-defined sharing target platform",
// 元の共有リンクを指定する必要があります。共有 ID を結合する必要はないことに注意してください。
$$_ share_url: 'The ${this.route}?utm_source=Custom sharing',
});
}
})共有パラメーターをリクエストする
aplus.requestShareParams(Object params, Function callback);バージョン
ミニプログラム sdk v2.2.0 以降
機能
リクエストは、共有チェーンに必要な共有 ID を構築するために使用されます
リクエストパラメーター
パラメーター | タイプ | デフォルト値 | 意味 | 備考 |
params | オブジェクト | なし | パラメーターを取得するための API を共有する |
path: 共有ページのパス。文字列タイプ。デフォルト値は、現在のミニプログラムによって共有されるページのパスです。
campaign: 共有キャンペーンの ID。文字列タイプ、デフォルト値は undefined、最大長は 4*1024 文字 title: タイトルを共有する。文字列タイプ、デフォルト値は undefined、最大長は 4*1024 長 shareId: ソース共有の ID。文字列タイプ。デフォルト値: undefined。 |
callback | 関数 | undefined | promise 戻り値をサポートしていないアプレット プラットフォームに提供されるコールバック関数 | callback パラメーターが指定されていない場合、共有パラメーター取得 API はデフォルトで promise として結果を返します。 callback パラメーターに値があり、コールバック パラメーターである場合、コールバック関数は共有パラメーターを返して、API のリクエスト結果を取得します。 |
戻り値パラメーター
リクエストパラメーターにコールバックが含まれていない場合、 Promise.resolve(Object result) を返します。
パラメーター | タイプ | デフォルト値 | 意味 | 備考 |
$sid | 文字列 | undefined | 共有 ID。現在のミニプログラム件名の共有動作の一意の識別子を表します。 | なし |
$scampaign | 文字列 | undefined | 共有アクティビティの識別 | SDK のフィールドは変更しないでください。変更すると、データの精度に影響します。! ! |
$soriPath | 文字列 | API の呼び出し時に渡されるパス。 値が指定されていない場合、デフォルト値は API が呼び出されたページのパスです。 | 元の共有 URL。元の共有 URL を表します。 | SDK のフィールドは変更しないでください。変更すると、データの精度に影響します。! ! |
path | 文字列 | $sid パラメーターの共有 URL | 共有 URL。共有アドレスを表します。 | SDK のフィールドは変更しないでください。変更すると、データの精度に影響します。! ! |
title | 文字列 | undefined | 共有タイトル | なし |
呼び出し例
注: onShareAppMessage API と onShareTimeline API でのアプレット プラットフォームの機能の違いを考慮して、SDK は共有パラメーターをリクエストするための 2 つの API 使用方法、つまり Promise 戻り値と関数コールバック戻り値を提供します。製品が適応する必要のあるプラットフォームに基づいて選択できます。
Promise ベース
方法 1: カスタム メソッドで共有 ID を取得し、onShareAppMessage \ onShareTimeline で返された結果を通じて共有情報を報告します
Page({
data: {
$$_ share_id: "", // SDK の共有 ID フィールドです。
},
getShareId() {
// 方法 1: ユーザー定義関数から共有 ID を取得します。
wx.aplus.requestShareParams({
title: 'Share activity page',
path: '/pages/share/shareCampaign?utm_test=test',
campaign: 'This is a sharing campaign',
shareId: "This is a source share id"
}).then(res => {
const { $sid } = res;
this.setData({
$$_share_id: $sid
});
return res;
});
},
// ユーザーが転送ボタン (button open-type="share") またはページ右上のメニューの [転送] ボタンをクリックする動作を監視し、転送コンテンツをカスタマイズします。
onShareAppMessage(options) {
return {
title: 'User default sharing activity page title',
path: `/pages/share/shareCampaign?utm_test=test&$sid=${this.data.$$_share_id}`,
// 共有 ID 用の SDK 事前設定フィールドを指定する必要があります。
$$_share_id: this.data.$$_share_id,
// 必要に応じて、共有アクティビティの ID を指定します。このフィールドは SDK の事前設定フィールドです。
$$_share_campaign_id: "This is a custom sharing activity",
// 元の共有リンクを指定する必要があります。共有 ID を結合する必要はないことに注意してください。
$$_ share_url: 'Share ${this.route}?utm_source=Share the circle of friends',
}
},
...
// 右上隅にある [モーメンツに共有] ボタンの動作を監視し、共有コンテンツをカスタマイズします。
onShareTimeline(options) {
return {
title: "Sharing Friends",
// 共有相手がミニアプリを開く際のクエリ内のパラメーターです。$sid を結合することを忘れないでください。結合しないと、共有チェーンが切断されます。
query: `$sid=${this.data.$$_share_id}`,
// 共有 ID 用の SDK 事前設定フィールドを指定する必要があります。
$$_share_id: this.data.$$_share_id,
// アクティビティ ID 用の SDK 事前設定フィールドを指定する必要があります。
$$_share_campaign_id: "This is a custom sharing activity",
// 元の共有リンクを指定する必要があります。共有 ID を結合する必要はないことに注意してください。
$$_ share_url: 'Share ${this.route}?utm_source=Share the circle of friends',
}
},
// 共有イメージや共有クリップボードコンテンツの生成など、模擬共有をカスタマイズします。
userCustomShare() {
wx.aplus.record("$$_share", "CLK", {
// 必要に応じてフィールドを指定します。このフィールドは SDK で事前に作成されており、共有タイトル用です。
$$_ share_title: "This is a shared title",
// 共有 ID 用の SDK 事前設定フィールドを指定する必要があります。
$$_share_id: this.data.$$_share_id,
// 必要に応じて、共有アクティビティの ID を指定します。このフィールドは SDK の事前設定フィールドです。
$$_share_campaign_id: "This is a custom sharing activity",
// 共有先のターゲットプラットフォームを指定します。
$$_ share_type: "User-defined sharing target platform",
// 元の共有リンクを指定する必要があります。共有 ID を結合する必要はないことに注意してください。
$$_ share_url: 'The ${this.route}?utm_source=Custom sharing',
});
}
})方法 2: onShareAppMessage で共有パラメーター取得 API を呼び出し、プロミスで結果を返すことで共有情報をレポートします
注: `onShareTimeline` メソッドは `promise` の戻り値をサポートしていません。そのため、共有 ID を取得するには、引き続き `setState` メソッドを使用する必要があります。
Page({
...
onShareAppMessage(options) {
const promise = wx.aplus.requestShareParams({
title: 'アクティビティページを共有',
path: '/pages/share/shareCampaign?utm_test=test',
campaign: 'これは共有キャンペーンです',
shareId: "これはソース共有 ID です"
});
return {
title: 'ユーザーのデフォルト共有アクティビティページのタイトル',
promise
}
},
...
})コールバックベースの使用法
Page({
data: {
$$_ share_id: "", // SDKの共有IDフィールド。
},
getShareId() {
wx.aplus.requestShareParams({
title: 'Share activity page',
path: '/pages/share/shareCampaign?utm_test=test',
campaign: 'This is a sharing campaign',
shareId: "This is a source share id"
}, (res) => {
const { $sid } = res;
this.setData({
$$_share_id: $sid
});
});
},
...
// ページ上の転送ボタン(ボタン)または右上メニューの「転送」ボタンをクリックするユーザーの動作をリッスンし、転送コンテンツをカスタマイズします。
onShareAppMessage(options) {
return {
title: 'User default sharing activity page title',
path: `/pages/share/shareCampaign?utm_test=test&$sid=${this.data.$$_share_id}`,
// 共有IDにSDKの事前作成済みフィールドを指定する必要があります。
$$_share_id: this.data.$$_share_id,
// 共有アクティビティIDにSDKの事前作成済みフィールドを指定する必要があります。
$$_share_campaign_id: "This is a custom sharing activity",
// 元の共有リンクを指定する必要があります。共有IDをスプライスする必要はありません。
$$_ share_url: 'Share ${this.route}?utm_source=Share the circle of friends',
}
},
// 右上隅の「友達に共有」ボタンの動作を監視し、共有コンテンツをカスタマイズします。
onShareTimeline(options) {
return {
title: "Sharing Friends",
// 次の共有の件名がアプレットを開くときのクエリのパラメータ。$sidをスプライスすることを忘れないでください。そうしないと、共有チェーンが壊れます。
query: `$sid=${this.data.$$_share_id}`,
// 共有IDにSDKの事前作成済みフィールドを指定する必要があります。
$$_share_id: this.data.$$_share_id,
// 共有アクティビティIDにSDKの事前作成済みフィールドを指定する必要があります。
$$_share_campaign_id: "This is a custom sharing activity",
// 元の共有リンクを指定する必要があります。共有IDをスプライスする必要はありません。
$$_ share_url: 'Share ${this.route}?utm_source=Share the circle of friends',
}
},
// 共有イメージや共有クリップボードコンテンツの生成など、シミュレートされた共有をカスタマイズします。
userCustomShare() {
wx.aplus.record("$$_share", "CLK", {
// 必要に応じてフィールドを指定します。フィールドはSDKで事前作成されており、タイトルを共有しています。
$$_ share_title: "This is a shared title",
// 共有IDにSDKの事前作成済みフィールドを指定する必要があります。
$$_share_id: this.data.$$_share_id,
// 必要に応じて、共有アクティビティのIDを指定します。このフィールドは、SDKのプリセットフィールドです。
$$_share_campaign_id: "This is a custom sharing activity",
// ターゲット プラットフォームと共有するフィールドを指定します。
$$_ share_type: "ユーザー定義の共有ターゲット プラットフォーム",
// 元の共有リンクを指定する必要があります。共有IDをスプライスする必要はありません。
$$_ share_url: 'The ${this.route}?utm_source=Custom sharing',
});
}
})