API sự kiện #
(dùng để gửi các sự kiện “Lần mở ứng dụng đầu tiên” và “Mở ứng dụng”)
Xác thực:
Chúng tôi xác thực mọi yêu cầu được gửi đến máy chủ Tenjin bằng khóa SDK Tenjin
- dưới dạng tham số `api_key` trong URL yêu cầu, hoặc
- sử dụng tên người dùng và để trống ô mật khẩu trong xác thực truy cập cơ bản
URL POST hay GET:
https://track.tenjin.com/v0/event
Phản hồi {“code”:200} cho thấy yêu cầu đã thành công.
Tham số:
*: bắt buộc
| Tham số | Loại | Mô tả | Ví dụ |
api_key* | Dây | Khóa SDK do Tenjin tạo ra cho từng ứng dụng. Bạn có thể tìm thấy khóa này trên trang ứng dụng. Nếu bạn sử dụng xác thực cơ bản thay thế, tham số này là không cần thiết. | ENECCCVB8UQVLPSQ58S8EZXTJHA7FHDW |
analytics_installation_id* | UUID | Tenjin đã tạo mã định danh dành riêng cho việc cài đặt ứng dụng.Có thể truy cập qua các hàm gọi lại S2S hoặc SDK (SDK Android,iOS SDK,Unity SDK) | 29eeb1610fe74997b6d53f02e9711f8c |
advertising_id* | Dây | Mã nhận dạng quảng cáo gốc của thiết bị. Đối với người dùng đã chọn không tham gia, giá trị này có thể trống hoặc toàn bộ là số 0. | f024e65f3dd94f16983726bcef192d68 |
developer_device_id (*bắt buộc đối với iOS) | Dây | Mã định danh của nhà cung cấp | b6bc48fe0ce949e4b229ce6c55663fca |
bundle_id* | Dây | ID gói của ứng dụng. | com.tenjin.wordfinder |
platform* | Dây | ios, android, amazon, android_other | iOS |
limit_ad_tracking | Dây | 1 là "có", 0 là "không". | 1 |
os_version* | Dây | Đối với Android: String os_version = String.valueOf(Build.VERSION.SDK_INT) Đối với iOS: [[UIDevice currentDevice] systemVersion] | 8.0 |
app_version | Số thập phân nổi, Số thập phân | Phiên bản ứng dụng của bạn Đối với Android: String app_version = context.getPackageManager().getPackageInfo(context.getPackageName(), 0).versionName + “.” + context.getPackageManager().getPackageInfo(context.getPackageName(), 0).versionCode) Đối với iOS: [[[NSBundle mainBundle] infoDictionary] objectForKey:@”CFBundleShortVersionString”] | 1.0.3 |
sdk_version* | Dây | server | server |
country | Dây | Tiêu chuẩn mã quốc gia theo vùng ngôn ngữ ISO (xem tài liệu của Apple chẳng hạn). | Hoa Kỳ |
ip_address | Dây | Địa chỉ IP của người dùng. Thông tin này được sử dụng để xác định quốc gia. Nếu tham số này bị thiếu, chúng tôi sẽ sử dụng địa chỉ IP trong tiêu đề HTTP. | 71.165.85.114 |
ad_user_data | Boolean | Tham số tín hiệu đồng ý của người dùng Google: consent (3) cho phép bên thứ ba truyền dữ liệu cấp người dùng cho quảng cáo; 1 cho trường hợp đã đồng ý; 0 cho trường hợp từ chối. Loại bỏ hoàn toàn tham số này khỏi yêu cầu (không để trống) khi không có dữ liệu về sự đồng ý của người dùng. | 1 |
ad_personalization | Boolean | Tham số tín hiệu đồng ý của người dùng Google: consent – quảng cáo được cá nhân hóa¹ (đồng ý); 0 – từ chối đồng ý. Loại bỏ hoàn toàn tham số này khỏi yêu cầu (không để trống) khi không có dữ liệu về sự đồng ý của người dùng | 1 |
referrer | Dây | Đã thu thập dữ liệu về các bản cài đặt Android được theo dõi | campaign_id%3D |
os_version_release (*bắt buộc để theo dõi Google Ads) | Dây | Đối với Android: String os_version_release = String.valueOf(Build.VERSION.RELEASE) Đối với iOS: [[UIDevice currentDevice] systemVersion] | 8.0.1 |
build_id (*bắt buộc để theo dõi Google Ads) | Dây | Đối với Android: String build = String.valueOf(Build.ID) Đối với iOS: @import Darwin.sys.sysctl; NSString *build(void) { size_t bufferSize = 64; NSMutableData *buffer = [[NSMutableData alloc] initWithLength:bufferSize]; int status = sysctlbyname(“kern.osversion”, buffer.mutableBytes, &bufferSize, NULL, 0); if (status != 0) { return nil; } return [[NSString alloc] initWithCString:buffer.mutableBytes encoding:NSUTF8StringEncoding];} | UP1B.231005.007 |
locale (*bắt buộc để theo dõi Google Ads) | Dây | Đối với Android: String locale = Locale.getDefault().toString() Đối với iOS: [[NSLocale currentLocale] localeIdentifier] | es_AR |
device_model (*bắt buộc để theo dõi Google Ads) | Dây | Đối với Android: Chuỗi device = Build.MODEL; Đối với iOS: @import Darwin.sys.sysctl; NSString *device(void) { size_t bufferSize = 64; NSMutableData *buffer = [[NSMutableData alloc] initWithLength:bufferSize]; int status = sysctlbyname(“hw.machine”, buffer.mutableBytes, &bufferSize, NULL, 0); if (status != 0) { return nil; } return [[NSString alloc] initWithCString:buffer.mutableBytes encoding:NSUTF8StringEncoding];} | SM-F731A |
odm_info | Dây | Đây là chuỗi ký tự cần thiết để chạy tính năng Gán nguồn gốc dựa trên xác suất (Probabilistic Attribution) qua Google Ads cho iOS. Bạn cần lấy chuỗi này từ SDK ODM trước. | AB7Dr_EJBWQ_lT_l1V0z5xqDB9MnLGbINV5r2w1jhVTITlm0IK7QE16Bf2sIjI_twjeMoQl3SedWsZiPtijTZ2DkUYI_H9RI6lkStqbwmBVsnu_QH4hfkuJeMwhFEzBEJCz3a8cdD2U1MRd1jwn2b_hbaHsbVO3NlE0xsExo5HtcuWmsaMdddKn9vFRPtyPQvSLjSl4AlsdyAaYg9Hw-FyYfm9eAbqrxy3NXkZtjJeXRThMG6MTNJA |
customer_user_id | Dây | ID người dùng tùy chỉnh cho sự kiện | jdabGcerT32_d |
API mua hàng #
(dùng để gửi các sự kiện Mua hàng)
Xác thực:
Chúng tôi xác thực mọi yêu cầu được gửi đến máy chủ Tenjin bằng khóa SDK Tenjin
- dưới dạng tham số `api_key` trong URL yêu cầu, hoặc
- sử dụng tên người dùng và để trống ô mật khẩu trong xác thực truy cập cơ bản
URL POST hay GET:
https://track.tenjin.com/v0/purchase
Tham số:
*: bắt buộc
| Tham số | Loại | Mô tả | Ví dụ |
api_key* | Dây | Khóa SDK do Tenjin tạo ra cho từng ứng dụng. Bạn có thể tìm thấy khóa này trên trang ứng dụng. Nếu bạn sử dụng xác thực cơ bản thay thế, tham số này là không cần thiết. | ENECCCVB8UQVLPSQ58S8EZXTJHA7FHDW |
analytics_installation_id* | UUID | Tenjin đã tạo mã định danh dành riêng cho việc cài đặt ứng dụng. Có thể truy cập thông qua S2S Callbacks hoặc SDK.SDK Android,iOS SDK,Unity SDK | 29eeb1610fe74997b6d53f02e9711f8c |
advertising_id* | Dây | Mã nhận dạng quảng cáo gốc của thiết bị. Đối với người dùng đã chọn không tham gia, giá trị này có thể trống hoặc toàn bộ là số 0. | f024e65f3dd94f16983726bcef192d68 |
developer_device_id (*bắt buộc đối với iOS) | Dây | Mã định danh của nhà cung cấp | b6bc48fe0ce949e4b229ce6c55663fca |
bundle_id* | Dây | ID gói của ứng dụng. | com.tenjin.wordfinder |
platform* | Dây | ios, android, amazon, android_other | iOS |
limit_ad_tracking | Dây | 1 là "có", 0 là "không". | 1 |
os_version* | Dây | Đối với Android: String.valueOf(Build.VERSION.SDK_INT) Đối với iOS: [[UIDevice currentDevice] systemVersion] | 8.0 |
app_version (*bắt buộc để theo dõi Google Ads) | Số thập phân nổi, Số thập phân | Phiên bản ứng dụng của bạn Đối với Android: String app_version = context.getPackageManager().getPackageInfo(context.getPackageName(), 0).versionName + “.” + context.getPackageManager().getPackageInfo(context.getPackageName(), 0).versionCode) Đối với iOS: [[[NSBundle mainBundle] infoDictionary] objectForKey:@”CFBundleShortVersionString”] | 1.0.3 |
sdk_version* | Dây | server | server |
ip_address | Dây | Địa chỉ IP của người dùng. Thông tin này được sử dụng để xác định quốc gia nhằm đáp ứng các thông số về sự đồng ý của người dùng theo Quy định DMA của Google. Nếu thông số này bị thiếu, chúng tôi sẽ sử dụng địa chỉ IP trong tiêu đề HTTP. | 71.165.85.114 |
ad_user_data | Boolean | Tham số tín hiệu đồng ý của người dùng Google: consent (3) cho phép bên thứ ba truyền dữ liệu cấp người dùng cho quảng cáo; 1 cho trường hợp đã đồng ý; 0 cho trường hợp từ chối. Loại bỏ hoàn toàn tham số này khỏi yêu cầu (không để trống) khi không có dữ liệu về sự đồng ý của người dùng. | 1 |
ad_personalization | Boolean | Tham số tín hiệu đồng ý của người dùng Google: consent – quảng cáo được cá nhân hóa¹ (đồng ý); 0 – từ chối đồng ý. Loại bỏ hoàn toàn tham số này khỏi yêu cầu (không để trống) khi không có dữ liệu về sự đồng ý của người dùng | 1 |
postcut | Dây | 1 để gửi hàng đã mua sau khi nền tảng đã trừ tiền | 1 |
product_id* | Dây | Tên duy nhất của sản phẩm đã mua. | cửa_hàng_tiền_điện_tử |
price* | Số thập phân nổi, Số thập phân | Giá đơn vị của mặt hàng đã mua được tính bằng đơn vị tiền tệ tiêu chuẩn (ví dụ: USD được báo cáo bằng đô la). | 0.99 |
quantity* | Số nguyên | Số lượng đơn vị đã mua. | 1 |
country | Dây | Tiêu chuẩn mã quốc gia theo vùng ngôn ngữ ISO (xem tài liệu của Apple chẳng hạn). | Hoa Kỳ |
currency* | Dây | Các mã tiền tệ ISO được Apple và Google sử dụng (xem ví dụ tại tài liệu của Apple). | USD |
os_version_release (*bắt buộc để theo dõi Google Ads) | Dây | Đối với Android: String os_version_release = String.valueOf(Build.VERSION.RELEASE) Đối với iOS: [[UIDevice currentDevice] systemVersion] | 14 |
build_id (*bắt buộc để theo dõi Google Ads) | Dây | Đối với Android: String build = String.valueOf(Build.ID) Đối với iOS: @import Darwin.sys.sysctl; NSString *build(void) { size_t bufferSize = 64; NSMutableData *buffer = [[NSMutableData alloc] initWithLength:bufferSize]; int status = sysctlbyname(“kern.osversion”, buffer.mutableBytes, &bufferSize, NULL, 0); if (status != 0) { return nil; } return [[NSString alloc] initWithCString:buffer.mutableBytes encoding:NSUTF8StringEncoding];} | UP1B.231005.007 |
locale (*bắt buộc để theo dõi Google Ads) | Dây | Đối với Android: String locale = Locale.getDefault().toString() Đối với iOS: [[NSLocale currentLocale] localeIdentifier] | es_AR |
device_model (*bắt buộc để theo dõi Google Ads) | Dây | Đối với Android: Chuỗi device = Build.MODEL; Đối với iOS: @import Darwin.sys.sysctl; NSString *device(void) { size_t bufferSize = 64; NSMutableData *buffer = [[NSMutableData alloc] initWithLength:bufferSize]; int status = sysctlbyname(“hw.machine”, buffer.mutableBytes, &bufferSize, NULL, 0); if (status != 0) { return nil; } return [[NSString alloc] initWithCString:buffer.mutableBytes encoding:NSUTF8StringEncoding];} | SM-F731A |
customer_user_id | Dây | ID người dùng tùy chỉnh cho sự kiện | jdabGcerT32_d |
tracking_status(Yêu cầu bắt buộc để chạy các chiến dịch Meta AEM trên iOS) | Dây | số nguyên cho thiết bị iOS Tình trạng ATT. 0 => chưa xác định, 1 => bị hạn chế, 2 => bị từ chối, 3 => được ủy quyền2 | 2 |
Nếu bạn không có hóa đơn hợp lệ hoặc chữ ký, xin đừng thêm các tham số này vào URL yêu cầu. Chúng tôi vẫn có thể hiển thị giao dịch mua hàng mà không cần hóa đơn hoặc chữ ký thông qua S2S trên bảng điều khiển..
API sự kiện tùy chỉnh #
(dùng để gửi tất cả các Sự kiện tùy chỉnh)
Xác thực:
Chúng tôi xác thực mọi yêu cầu được gửi đến máy chủ Tenjin bằng khóa SDK Tenjin
- dưới dạng tham số `api_key` trong URL yêu cầu, hoặc
- sử dụng tên người dùng và để trống ô mật khẩu trong xác thực truy cập cơ bản
URL POST hay GET:
https://track.tenjin.com/v0/event
Tham số:
*: bắt buộc
| Tham số | Loại | Mô tả | Ví dụ |
api_key* | Dây | Khóa SDK do Tenjin tạo ra cho từng ứng dụng. Bạn có thể tìm thấy khóa này trên trang ứng dụng. Nếu bạn sử dụng xác thực cơ bản thay thế, tham số này là không cần thiết. | ENECCCVB8UQVLPSQ58S8EZXTJHA7FHDW |
analytics_installation_id* | UUID | Tenjin đã tạo mã định danh dành riêng cho việc cài đặt ứng dụng. Có thể truy cập thông qua các hàm gọi lại S2S hoặc SDK.SDK Android,SDK iOS,SDK Unity | 29eeb1610fe74997b6d53f02e9711f8c |
advertising_id* | Dây | Mã nhận dạng quảng cáo gốc của thiết bị. Đối với người dùng đã chọn không tham gia, giá trị này có thể trống hoặc toàn bộ là số 0. | f024e65f3dd94f16983726bcef192d68 |
developer_device_id (*bắt buộc đối với iOS) | Dây | Mã định danh của nhà cung cấp | b6bc48fe0ce949e4b229ce6c55663fca |
bundle_id* | Dây | ID gói của ứng dụng. | com.tenjin.wordfinder |
platform* | Dây | ios, android, amazon, android_other | iOS |
limit_ad_tracking | Dây | 1 là "có", 0 là "không". | 1 |
os_version* | Dây | Đối với Android: String.valueOf(Build.VERSION.SDK_INT) Đối với iOS: [[UIDevice currentDevice] systemVersion] | 8.0 |
app_version (* là trường bắt buộc đối với Google Ads) | Số thập phân nổi, Số thập phân | Phiên bản ứng dụng của bạn Đối với Android: String app_version = context.getPackageManager().getPackageInfo(context.getPackageName(), 0).versionName + “.” + context.getPackageManager().getPackageInfo(context.getPackageName(), 0).versionCode) Đối với iOS: [[[NSBundle mainBundle] infoDictionary] objectForKey:@”CFBundleShortVersionString”] | 1.0.3 |
sdk_version* | Dây | server | server |
ip_address | Dây | Địa chỉ IP của người dùng. Thông tin này được sử dụng để xác định quốc gia. Nếu tham số này bị thiếu, chúng tôi sẽ sử dụng địa chỉ IP trong tiêu đề HTTP. | 71.165.85.114 |
ad_user_data | Boolean | Tham số tín hiệu đồng ý của người dùng Google: consent (3) cho phép bên thứ ba truyền dữ liệu cấp người dùng cho quảng cáo; 1 cho trường hợp đã đồng ý; 0 cho trường hợp từ chối. Loại bỏ hoàn toàn tham số này khỏi yêu cầu (không để trống) khi không có dữ liệu về sự đồng ý của người dùng. | 1 |
ad_personalization | Boolean | Tham số tín hiệu đồng ý của người dùng Google: consent – quảng cáo được cá nhân hóa¹ (đồng ý); 0 – từ chối đồng ý. Loại bỏ hoàn toàn tham số này khỏi yêu cầu (không để trống) khi không có dữ liệu về sự đồng ý của người dùng | 1 |
event* | Dây | Đây là tên của sự kiện – tên sự kiện (ví dụ: “tutorial_complete”, “registration_complete” hoặc “level_1_complete”) | sự kiện_hoàn_tất |
value | Số 0, Số nguyên | Giá trị liên quan đến tên sự kiện (ở trên). Giá trị này có thể được sử dụng để tính toán các giá trị liên quan đến tên sự kiện. (Ví dụ: muốn tính số lượng tiền ảo cho một sự kiện cụ thể). | 10 |
os_version_release (*thông tin bắt buộc đối với Google Ads) | Dây | Đối với Android: String os_version_release = String.valueOf(Build.VERSION.RELEASE) Đối với iOS: [[UIDevice currentDevice] systemVersion] | 14 |
build_id (*thông tin bắt buộc đối với Google Ads) | Dây | Đối với Android: String build = String.valueOf(Build.ID) Đối với iOS: @import Darwin.sys.sysctl; NSString *build(void) { size_t bufferSize = 64; NSMutableData *buffer = [[NSMutableData alloc] initWithLength:bufferSize]; int status = sysctlbyname(“kern.osversion”, buffer.mutableBytes, &bufferSize, NULL, 0); if (status != 0) { return nil; } return [[NSString alloc] initWithCString:buffer.mutableBytes encoding:NSUTF8StringEncoding];} | UP1B.231005.007 |
locale (*thông tin bắt buộc đối với Google Ads) | Dây | Đối với Android: String locale = Locale.getDefault().toString() Đối với iOS: [[NSLocale currentLocale] localeIdentifier] | es_AR |
device_model (*thông tin bắt buộc đối với Google Ads) | Dây | Đối với Android: Chuỗi device = Build.MODEL; Đối với iOS: @import Darwin.sys.sysctl; NSString *device(void) { size_t bufferSize = 64; NSMutableData *buffer = [[NSMutableData alloc] initWithLength:bufferSize]; int status = sysctlbyname(“hw.machine”, buffer.mutableBytes, &bufferSize, NULL, 0); if (status != 0) { return nil; } return [[NSString alloc] initWithCString:buffer.mutableBytes encoding:NSUTF8StringEncoding];} | SM-F731A |
customer_user_id | Dây | ID người dùng tùy chỉnh cho sự kiện | jdabGcerT32_d |
tracking_status(Yêu cầu bắt buộc để chạy các chiến dịch Meta AEM trên iOS) | Dây | số nguyên cho thiết bị iOS Tình trạng ATT. 0 => chưa xác định, 1 => bị hạn chế, 2 => bị từ chối, 3 => được ủy quyền | 2 |