Plugin asli qtAnalytics mengemas SDK statistik APP Quick Tracking untuk mengimplementasikan fitur statistik Quick Tracking, termasuk statistik data aplikasi seperti jumlah startup, peristiwa, dan halaman.
Cara menggunakan plugin asli qtAnalytics
Sebelum digunakan, Anda harus mengajukan akun dari QuickTracking dan membuat aplikasi untuk mendapatkan appkey dan nama domain penerimaan.
Referensi Proses Integrasi Situs Resmi Quick Tracking
Konfigurasikan file config.xml. Setelah konfigurasi selesai, Anda harus mengompilasi file di cloud agar efektif. Metode konfigurasi adalah sebagai berikut:
Nama: qtAnalytics
Parameter: ios_appkey, ios_channel, android_appkey, android_channel, primaryDomain, dan standbyDomain
Contoh konfigurasi:
<feature name="qtAnalytics">
<param name="ios_appkey" value="YOUR_IOS_APP_KEY"/>
<param name="ios_channel" value="YOUR_IOS_CHANNEL"/>
<param name="android_appkey" value="YOUR_ANDROID_APP_KEY"/>
<param name="android_channel" value="YOUR_ANDROID_CHANNEL"/>
<param name="primaryDomain" value="YOUR_primaryDomain"/>
<param name="standbyDomain" value="YOUR_standbyDomain"/>
</feature>
Deskripsi Bidang:
ios_appkey: Kunci aplikasi iOS.
ios_channel: ID saluran iOS.
android_appkey: Kunci aplikasi Android.
android_channel: Nomor saluran Android.
primaryDomain: Titik akhir utama pelacakan data.
standbyDomain: Sub-titik akhir pelacakan data.
API Plugin Asli
API Inisialisasi
init
Parameter
Parameter | Diperlukan | Deskripsi | Nilai default | Catatan | |
logEnabled | Boolean | Mengontrol output LOG [Quick Tracking] | false | Sebelum aplikasi diluncurkan secara resmi, nonaktifkan log pengoperasian dan debugging SDK. Hindari output log yang tidak relevan. | |
callback(ret, err) | ret | Objek JSON | { status:true // Tipe Boolean; apakah SDK berhasil diinisialisasi } | Tidak tersedia |
|
err | Objek JSON | { msg: 'informasi kesalahan' // tipe string; pesan kesalahan } | Tidak tersedia | ||
Kode contoh
var qtAnalytics = api.require('qtAnalytics');
qtAnalytics.init(
{logEnabled:true},
function(ret, err) {
if (ret.status) {
api.alert({
msg: JSON.stringify(ret)
})
} else {
api.alert({
msg: JSON.stringify(err)
})
}
}
);Ketersediaan
Sistem iOS, Sistem Android
Tersedia versi 1.0.0 dan setelahnya
Nonaktifkan pelacakan
disableSDK
Untuk kontrol proses operasi kebijakan privasi di sisi aplikasi, SDK tidak memiliki kontrol status cache tambahan untuk identifikasi on dan off. Jika ingin menonaktifkan fungsi SDK setelah cold start ini dan menonaktifkan pelacakan setiap kali cold start, Anda perlu memanggil fungsi API disableSDK secara aktif untuk penelitian dan pengembangan bisnis.
SDK iOS dapat diinisialisasi hanya sekali dalam siklus hidup aplikasi EDAS, dan skenario inisialisasi bergantung pada komunikasi antara jaringan dan server. Oleh karena itu, ketika Anda memanggil SDK untuk menonaktifkan atau mengaktifkan fitur, perhatikan skenario berikut:

Kode contoh
var qtAnalytics = api.require('qtAnalytics');
qtAnalytics.disableSDK();Ketersediaan
Sistem iOS, Sistem Android
Tersedia versi 1.0.0 dan setelahnya
Aktifkan SDK
enableSDK
Kode contoh
var qtAnalytics = api.require('qtAnalytics');
qtAnalytics.enableSDK();Ketersediaan
Sistem iOS, Sistem Android
Tersedia versi 1.0.0 dan setelahnya
Pengaturan Jalur
resetStorePath
Periksa apakah Anda telah menggunakan SDK Umeng+. Jika Anda telah menggunakan SDK, ubah jalur file SDK.
Ubah mode jalur file SDK:
Anda sudah mengintegrasikan SDK Umeng+. Sekarang Anda perlu mengintegrasikan SDK QT: Tambahkan [QTConfigure resetStorePath] di depan semua kode QT dan Umeng+ (setidaknya lebih awal dari nama domain penerimaan).
SDK QT telah diintegrasikan. Sekarang Anda perlu mengintegrasikan SDK Umeng+: Tambahkan [UMConfigure resetStorePath] di depan semua kode QT dan Umeng+ (setidaknya lebih awal dari titik akhir pelacakan data).
Jika tidak dipanggil berdasarkan logika sebelumnya, SDK Umeng+ dan SDK QT menggunakan jalur penyimpanan yang sama, menyebabkan kebingungan log. Logika spesifiknya adalah: metode inisialisasi SDK mana yang dipanggil pertama kali, reset jalur file SDK lainnya, misalnya panggil [QTConfigure resetStorePath] untuk SDK Umeng+ yang diinisialisasi pertama kali; jika SDK QT yang diinisialisasi pertama kali, Anda perlu memanggil [UMConfigure resetStorePath].
Catatan: Jika Anda mereset jalur SDK QT, nilai kunci informasi fitur yang disetel secara aktif untuk SDK, seperti akun pengguna dan versi aplikasi, akan berubah. Jika Anda perlu menggunakan bidang-bidang ini untuk pemrosesan bisnis, kami sarankan Anda mereset bidang-bidang ini. Kami sarankan Anda mengonfigurasi bidang-bidang ini saat Anda mengintegrasikan SDK QT untuk pertama kali untuk menghindari kehilangan data.
Kode contoh
var qtAnalytics = api.require('qtAnalytics');
qtAnalytics.resetStorePath();Ketersediaan
Sistem iOS, Sistem Android
Tersedia versi 1.0.0 dan setelahnya
Pengenal Perangkat Android Kustom
setAndroidDeviceInfo
SDK mengimplementasikan pelacakan pengenal perangkat default. Kelas implementasi default ini melacak pengenal berikut secara default.
Identifikasi perangkat atau informasi perangkat | metode pelacakan | Catatan |
AndroidID | String getAndroidID(Context context) | ID Android |
Serial | String getSerial() | Nomor seri perangkat ponsel Android |
IMEI | String getImei(Context context) | IMEI |
IMSI | String getImsi(Context context) | IMSI |
WiFiMac | String getWifiMac(Context context) | WiFiMac |
OAID | String getOaid(Context context) | ID Iklan (Domestik) |
GAID | String getGaid(Context context) | ID Iklan Google |
MCCMNC | String getMCCMNC(Context context) | MCC: Kode Negara Seluler MNC: nomor jaringan seluler Nilai kembali: hasil penggabungan nilai MCC dan MNC. MCC adalah integer 3 digit dan MNC adalah integer 2 digit. Contoh: 46011 |
Jika pengembang ingin mengontrol pelacakan pengenal perangkat tertentu dalam tabel di atas, misalnya, bidang IMEI dan bidang Serial tidak dilacak, dan metode pelacakan OAID diimplementasikan oleh pengembang, Anda dapat menyesuaikan bidang-bidang ini.
Catatan
Jika Anda tidak menyesuaikan parameter, sistem melacak data menggunakan SDK Quick Tracking.
Sebelum memanggil fungsi inisialisasi SDK, panggil fungsi pengaturan setAndroidDeviceInfo.
Jika Anda tidak perlu mengontrol pelacakan pengenal perangkat, Anda tidak perlu memanggil.
Parameter
Parameter | Tipe |
AndroidID | String |
Serial | String |
IMEI | String |
IMSI | String |
WiFiMac | String |
OAID | String |
GAID | String |
MCCMNC | String |
Kode contoh
var qtAnalytics = api.require('qtAnalytics');
qtAnalytics.setAndroidDeviceInfo({
IMEI:null,
Serial:null,
OAID:"custom_oaid"
});
qtAnalytics.init(
{logEnabled:true},
function(ret, err) {
if (ret.status) {
api.alert({
msg: JSON.stringify(ret)
})
} else {
api.alert({
msg: JSON.stringify(err)
})
}
}
);Ketersediaan
Android
Tersedia versi 1.0.0 dan setelahnya
idfa kustom
customSetIdfa
Pengaturan kustom idfa, kembalikan tanpa pelacakan ''
Parameter | Tipe | Deskripsi |
idfa | String | Logo Iklan Apple |
Catatan: Harap putuskan dengan hati-hati apakah akan mengimplementasikan metode yang sesuai. Setelah Anda memilih untuk mengimplementasikan metode pelacakan sendiri, Anda akan mengambil alih pelacakan pengenal perangkat ini, dan SDK tidak akan mencoba melacak pengenal perangkat ini lagi. Semakin sedikit pengenal perangkat yang dapat dilacak oleh SDK, semakin besar dampak negatif pada akurasi dan stabilitas data statistik.
Kode contoh
var qtAnalytics = api.require('qtAnalytics');
qtAnalytics.customSetIdfa({
idfa: ''
});Ketersediaan
Pemecahan Masalah di iOS
Tersedia versi 1.0.0 dan setelahnya
idfv kustom
customSetIdfv
Pengaturan kustom idfv, kembalikan tanpa pelacakan ''
Parameter | Tipe | Deskripsi |
idfv | String | Identifikasi tingkat aplikasi |
Catatan: Harap putuskan dengan hati-hati apakah akan mengimplementasikan metode yang sesuai. Setelah Anda memilih untuk mengimplementasikan metode pelacakan sendiri, Anda akan mengambil alih pelacakan pengenal perangkat ini, dan SDK tidak akan mencoba melacak pengenal perangkat ini lagi. Semakin sedikit pengenal perangkat yang dapat dilacak oleh SDK, semakin besar dampak negatif pada akurasi dan stabilitas data statistik.
Kode contoh
var qtAnalytics = api.require('qtAnalytics');
qtAnalytics.customSetIdfv({
idfv: ''
});Ketersediaan
Pemecahan Masalah di iOS
Tersedia versi 1.0.0 dan setelahnya
openUdid kustom
customSetOpenUdid
Pengaturan kustom openUdid, kembalikan tanpa pelacakan ''
Parameter | Tipe | Deskripsi |
openUdid | String | openUdid |
Catatan: Harap putuskan dengan hati-hati apakah akan mengimplementasikan metode yang sesuai. Setelah Anda memilih untuk mengimplementasikan metode pelacakan sendiri, Anda akan mengambil alih pelacakan pengenal perangkat ini, dan SDK tidak akan mencoba melacak pengenal perangkat ini lagi. Semakin sedikit pengenal perangkat yang dapat dilacak oleh SDK, semakin besar dampak negatif pada akurasi dan stabilitas data statistik.
Kode contoh
var qtAnalytics = api.require('qtAnalytics');
qtAnalytics.customSetOpenUdid({
openUdid: ''
});Ketersediaan
Pemecahan Masalah di iOS
Tersedia versi 1.0.0 dan setelahnya
utdid kustom
customSetUtdid
Pengaturan kustom utdid, kembalikan tanpa pelacakan ''
Parameter | Tipe | Deskripsi |
utdid | String | Taobao utdid. Jika Anda telah mengintegrasikan SDK Taobao utdid, QuickTracking melacak |
Catatan: Harap putuskan dengan hati-hati apakah akan mengimplementasikan metode yang sesuai. Setelah Anda memilih untuk mengimplementasikan metode pelacakan sendiri, Anda akan mengambil alih pelacakan pengenal perangkat ini, dan SDK tidak akan mencoba melacak pengenal perangkat ini lagi. Semakin sedikit pengenal perangkat yang dapat dilacak oleh SDK, semakin besar dampak negatif pada akurasi dan stabilitas data statistik.
Kode contoh
var qtAnalytics = api.require('qtAnalytics');
qtAnalytics.customSetUtdid({
utdid: ''
});Ketersediaan
Pemecahan Masalah di iOS
Tersedia versi 1.0.0 dan setelahnya
mcc kustom
customSetMcc
Pengaturan kustom mcc, kembalikan tanpa pelacakan ''
Parameter | Tipe | Deskripsi |
mcc | String | Kode Negara Sinyal Seluler |
Catatan: Harap putuskan dengan hati-hati apakah akan mengimplementasikan metode yang sesuai. Setelah Anda memilih untuk mengimplementasikan metode pelacakan sendiri, Anda akan mengambil alih pelacakan pengenal perangkat ini, dan SDK tidak akan mencoba melacak pengenal perangkat ini lagi. Semakin sedikit pengenal perangkat yang dapat dilacak oleh SDK, semakin besar dampak negatif pada akurasi dan stabilitas data statistik.
Kode contoh
var qtAnalytics = api.require('qtAnalytics');
qtAnalytics.customSetMcc({
mcc: ''
});Ketersediaan
Pemecahan Masalah di iOS
Tersedia versi 1.0.0 dan setelahnya
mnc kustom
customSetMnc
Pengaturan kustom mnc, kembalikan tanpa pelacakan ''
Parameter | Tipe | Deskripsi |
mnc | String | Nomor jaringan data seluler |
Catatan: Harap putuskan dengan hati-hati apakah akan mengimplementasikan metode yang sesuai. Setelah Anda memilih untuk mengimplementasikan metode pelacakan sendiri, Anda akan mengambil alih pelacakan pengenal perangkat ini, dan SDK tidak akan mencoba melacak pengenal perangkat ini lagi. Semakin sedikit pengenal perangkat yang dapat dilacak oleh SDK, semakin besar dampak negatif pada akurasi dan stabilitas data statistik.
Kode contoh
var qtAnalytics = api.require('qtAnalytics');
qtAnalytics.customSetMnc({
mnc: ''
});Ketersediaan
Pemecahan Masalah di iOS
Tersedia versi 1.0.0 dan setelahnya
ID Perangkat Kustom
setCustomDeviceId
Parameter | Tipe | Deskripsi |
deviceId | String | SDK mendukung UMID kustom. Jika Anda ingin menggunakan UMID kustom, Anda harus menyetel API setCustomDeviceId ke nilai valid (tidak kosong) sebelum inisialisasi (yaitu, sebelum init). |
Catatan
Oleh karena itu, fungsi ini berlaku ketika umid belum diperoleh. Jika umid sudah ada di komputer lokal, maka tidak valid setelah disetel. Jika Anda telah memperoleh umid secara lokal, Anda dapat memverifikasi fitur ini dengan mencopot pemasangan dan memuat ulang.
Kode contoh
var qtAnalytics = api.require('qtAnalytics');
qtAnalytics.setCustomDeviceId({
deviceId: 'xxxxxx'
});Ketersediaan
Sistem iOS, Sistem Android
Tersedia versi 1.0.0 dan setelahnya
Memperoleh ID Perangkat
getUMIDString
Kode contoh
var qtAnalytics = api.require('qtAnalytics');
var umidStr = qtAnalytics.getUMIDString();Ketersediaan
Sistem iOS, Sistem Android
Tersedia versi 1.0.0 dan setelahnya
Masuk ke klien
Pengguna dihitung berdasarkan perangkat. Untuk menghitung akun aplikasi, panggil API operasi berikut:
onProfileSignIn
Parameter | Tipe | Deskripsi |
userId | String | ID akun pengguna. Nilainya harus kurang dari 64 byte panjangnya. |
Catatan: ID akun disimpan dalam penyimpanan lokal. ID akun hanya menjadi tidak valid ketika aplikasi di-uninstall, data aplikasi dibersihkan, atau API masuk log berikut dipanggil. Jika tidak, setiap peristiwa akan membawa ID akun.
Kode contoh
var qtAnalytics = api.require('qtAnalytics');
qtAnalytics.onProfileSignIn({userId:"custom_userId"});Ketersediaan
Sistem iOS, Sistem Android
Tersedia versi 1.0.0 dan setelahnya
Keluar
Anda harus memanggil operasi ini saat keluar dari akun. Setelah Anda memanggil operasi ini, tidak ada konten terkait akun yang dikirim.
onProfileSignOff
Kode contoh
var qtAnalytics = api.require('qtAnalytics');
qtAnalytics.onProfileSignOff()Ketersediaan
Sistem iOS, Sistem Android
Tersedia versi 1.0.0 dan setelahnya
Konfigurasikan properti pengguna
Sebelum Anda melaporkan atribut pengguna, Anda harus menyetel userId untuk melaporkan akun pengguna. Jika tidak, Quick Tracking tidak akan melakukan perhitungan korelasi pada atribut pengguna. Setelah memastikan ID akun pengguna pelaporan, API untuk melaporkan atribut pengguna adalah:
setUserProfile
Parameter | Tipe | Deskripsi |
properties | format json | Pasangan nilai-kunci pengguna |
Kode contoh
var qtAnalytics = api.require('qtAnalytics');
qtAnalytics.setUserProfile({
properties:{
sex:"girl", // Jenis kelamin.
age:"8"// Usia
}
});Ketersediaan
Sistem iOS, Sistem Android
Tersedia versi 1.0.0 dan setelahnya
Daftarkan Atribut Global
Setelah atribut global didaftarkan, semua peristiwa berikutnya akan otomatis menyertakan atribut-atribut ini; dan atribut-atribut ini serta nilai-nilai atribut disimpan dalam cache dan dihapus setelah APP keluar. Saat menganalisis data, Anda dapat melihat dan memfilter berdasarkan properti ini.
registerGlobalProperties
Parameter | Tipe | Deskripsi |
properties | format json | Pasangan nilai-kunci properti global |
Kode contoh
var qtAnalytics = api.require('qtAnalytics');
var param = {properties:{a:"1",b:"2"}};
qtAnalytics.registerGlobalProperties(param);// Properti global saat ini adalah a:1 dan b:2
var param = {properties:{b:"3",c:"4"}};
qtAnalytics.registerGlobalProperties(param);// Properti global saat ini adalah a:1, b:3, dan c:4 Ketersediaan
Sistem iOS, Sistem Android
Tersedia versi 1.0.0 dan setelahnya
Hapus atribut global
unregisterGlobalProperty
Parameter | Tipe | Deskripsi |
propertyName | String | Hanya mendukung huruf besar dan kecil, angka, dan garis bawah! |
Kode contoh
var qtAnalytics = api.require('qtAnalytics');
var param = {propertyName:"lnch_Source"};
qtAnalytics.unregisterGlobalProperty(param);Ketersediaan
Sistem iOS, Sistem Android
Tersedia versi 1.0.0 dan setelahnya
Peroleh atribut global berdasarkan kunci
getGlobalProperty
Parameter | Tipe | Deskripsi |
propertyName | String | Hanya mendukung huruf besar dan kecil, angka, dan garis bawah! |
Kode contoh
var qtAnalytics = api.require('qtAnalytics');
var param = {propertyName:"lnch_Source"};
var gp = qtAnalytics.getGlobalProperty(param);Ketersediaan
Sistem iOS, Sistem Android
Tersedia versi 1.0.0 dan setelahnya
Peroleh semua atribut global
getGlobalProperties
Deskripsi: Mengembalikan string yang berisi semua atribut global dan nilai atributnya yang sesuai, mewakili atribut global-nilai atribut dalam pasangan nilai-kunci K-V. Pisahkan beberapa pasangan nilai-kunci dengan koma (,). Lapisan luar data adalah tanda kurung kurawal. Contoh: {"id":"SA1375","userName":"Mike","account_type":"vip", "MemberLevel":"Level1"}
Kode contoh
var qtAnalytics = api.require('qtAnalytics');
var allgp = qtAnalytics.getGlobalProperties();Ketersediaan
Sistem iOS, Sistem Android
Tersedia versi 1.0.0 dan setelahnya
Bersihkan semua atribut global
clearGlobalProperties
Kode contoh
var qtAnalytics = api.require('qtAnalytics');
qtAnalytics.clearGlobalProperties();Ketersediaan
Sistem iOS, Sistem Android
Tersedia versi 1.0.0 dan setelahnya
Pelacakan manual pada halaman
Pengembang yang ingin melacak statistik jalur halaman dan durasi tinggal di halaman dapat memanggil operasi onPageStart atau onPageEnd untuk pelacakan manual.
Catatan:
SDK onPageStart mencatat informasi entri halaman. SDK onPageStart tidak melaporkan peristiwa. SDK onPageEnd hanya melaporkan peristiwa penelusuran halaman ketika Anda memanggil SDK onPageEnd.
onPageStart dan onPageEnd harus dipanggil berpasangan, dan pageName dari nilai yang dilewatkan harus sama. Jika onPageEnd tidak digunakan atau pageName dari nilai yang dilewatkan oleh onPageEnd tidak konsisten dengan onPageStart, informasi yang dicatat di onPageStart tidak berlaku.
onPageStart
Parameter | Tipe | Deskripsi |
pageName | String | Nama halaman kustom. |
Kode contoh
var qtAnalytics = api.require('qtAnalytics');
qtAnalytics.onPageStart({pageName:"MainScreen"});Ketersediaan
Sistem iOS, Sistem Android
Tersedia versi 1.0.0 dan setelahnya
Pelacakan manual pada halaman berakhir
onPageEnd
Parameter | Tipe | Deskripsi |
pageName | String | Nama halaman kustom. |
Kode contoh
var qtAnalytics = api.require('qtAnalytics');
qtAnalytics.onPageEnd({pageName:"MainScreen"});Ketersediaan
Sistem iOS, Sistem Android
Tersedia versi 1.0.0 dan setelahnya
Unggah properti halaman
Mendukung melampirkan properti kustom ke halaman saat ini.
setPageProperty
Parameter | Tipe | Deskripsi |
pageName | String | Nama halaman kustom. |
properties | format json | Properti kustom halaman |
Kode contoh
var qtAnalytics = api.require('qtAnalytics');
qtAnalytics.onPageStart({pageName:"MainScreen"});
qtAnalytics.setPageProperty({
pageName:"MainScreen",
properties:{
home_param_1:"value11" // Tetapkan properti halaman saat ini.
}
});Ketersediaan
Sistem iOS, Sistem Android
Tersedia versi 1.0.0 dan setelahnya
Lampirkan properti kustom ke halaman berikutnya
Anda harus memanggil operasi onPageStart sebelum operasi onPageStart pada halaman berikutnya.
setNextPageProperty
Parameter | Tipe | Deskripsi |
properties | format json | Lewatkan parameter bisnis ke halaman berikutnya. |
Kode contoh
var qtAnalytics = api.require('qtAnalytics');
qtAnalytics.setNextPageProperty({
properties: {
nextPageProperty: "secondPageProperty"
}
});Ketersediaan
Sistem iOS, Sistem Android
Tersedia versi 1.0.0 dan setelahnya
Titik pelacakan peristiwa
Peristiwa kustom dapat digunakan untuk melacak perilaku pengguna dan mencatat detail spesifik terjadinya perilaku.
onEventObject
Parameter | Tipe | Deskripsi |
eventId | String | adalah ID peristiwa untuk statistik saat ini. |
pageName | String | Pengkodean halaman saat peristiwa terjadi |
properties | format json | Properti kustom peristiwa. |
Kode contoh
var qtAnalytics = api.require('qtAnalytics');
qtAnalytics.onEventObject({
eventId:"play_music",
pageName:"MainScreen",
properties:{
music_type:"popular", // Parameter kustom: Jenis musik. Nilai: Populer
singer:"JJ", // Penyanyi: (Junjie Lin) JJ
Song_name:"A_Thousand_Years_Later", // judul lagu: seribu tahun kemudian
Song_price: 100 // harga:100 yuan
}
});Ketersediaan
Sistem iOS, Sistem Android
Tersedia versi 1.0.0 dan setelahnya
Metode perlindungan proses kill
Jika Anda memanggil metode seperti kill atau exit untuk membunuh proses, Anda harus memanggil onKillProcess untuk menyimpan statistik.
onKillProcess
Kode contoh
var qtAnalytics = api.require('qtAnalytics');
qtAnalytics.onKillProcess();Ketersediaan
Android
Tersedia versi 1.0.0 dan setelahnya
Catatan Penggunaan
Platform YonBuilder tidak menyediakan API openURL. Oleh karena itu, fitur verifikasi pelacakan tidak dapat digunakan untuk iOS. Anda dapat menggunakan fitur verifikasi log waktu nyata untuk melakukan pengujian. Untuk informasi lebih lanjut tentang cara memperoleh ID perangkat, lihat Memperoleh ID Perangkat.
YonBuilder tidak mendukung fitur pelacakan otomatis.
YonBuilder tidak mendukung fitur pembagian fisi.