Bài viết liên tục được cập nhật, và những phần được cập nhật rất có thể chưa được dịch sang ngôn ngữ của bạn. Để xem thông tin mới nhất, vui lòng chọn ngôn ngữ Tiếng Anh.

Sự kiện server-to-server (S2S)

Sử dụng server-to-server (S2S) events API để gửi dữ liệu sự kiện cho Adjust qua yêu cầu HTTP. Sử dụng Adjust SDK để ghi lại dữ liệu lượt cài đặt (install), phiên truy cập (session) và tái phân bổ (reattribution); và chỉ gửi sự kiện tùy chỉnh qua S2S API.

Nếu bạn đang cài đặt sự kiện S2S cho ứng dụng iOS 14+, thì Adjust sẽ gửi giá trị chuyển đổi đến máy chủ của bạn dưới dạng phản hồi S2S (S2S response). Như vậy, máy chủ của bạn cần cập nhật giá trị chuyển đổi trong ứng dụng. Để biết thêm thông tin, vui lòng tham khảo bài viết Hỗ trợ sự kiện S2S dành cho iOS 14+.

Lưu ý:

Khi ghi nhận phân bổ, Adjust không phân biệt giữa lượt click được gửi từ SDK và S2S click. Hai loại click này được xem là một trong thác phân bổ (attribution waterfall).

Dưới đây là hướng dẫn cách cài đặt giải pháp ghi lại sự kiện S2S (S2S event recording) và khắc phục lỗi.

Endpoint

S2S events API sử dụng endpoint sau:

https://s2s.adjust.com/event

Gửi sự kiện S2S

Đối với sự kiện S2S, /event endpoint chỉ chấp nhận các yêu cầu sau:

  • GET chứa tham số URL.
  • POST chứa tham số URL.
  • POST chứa tham số body. Content-Type phải được đặt là application/x-www-form-urlencoded.

Cài đặt bảo mật S2S

Cài đặt giải pháp bảo mật S2S (S2S Security) để tăng cường bảo mật cho sự kiện S2S và giảm thiểu yêu cầu giả mạo (spoofed request). Sau khi bạn hoàn tất phần cài đặt, mỗi yêu cầu đến đều phải chứa token được tạo trên Adjust dashboard. Nếu yêu cầu không chứa token hoặc chứa token không hợp lệ, thì máy chủ của Adjust sẽ từ chối yêu cầu.

Để tiến hành cài đặt, tham khảo bài viết Bảo mật S2S.

Tham số bắt buộc

Quan trọng:

Tham số của sự kiện S2S có phân biệt chữ hoa và chữ thường.

Mỗi yêu cầu được gửi đến /event endpoint phải chứa các tham số sau:

  1. Advertising ID, ví dụ: idfa (iOS) hoặc gps_adid (Android).
  2. Một event token.
  3. Một app token.
  4. Tham số s2s=1 được mã hóa cứng (tham số này thông báo cho endpoint biết, yêu cầu này là server-to-server).
Tham sốMô tảVí dụ
Advertising ID, ví dụ: idfa (iOS) hoặc gps_adid (Android).Xem danh sách device ID.idfa=D2CADB5F-410F-4963-AC0C-2A78534BDF1E
gps_adid=660e1d86-6796-463a-be86-897993136018
event_tokenEvent token trên Adjust dashboardevent_token=f0ob4r
app_tokenApp token trên Adjust dashboardapp_token=4w565xzmb54d
s2sTham số S2S được đặt thành 1s2s=1

Đề xuất tham số bổ sung khi gửi sự kiện

Để phân bổ sự kiện chính xác, thêm các tham số sau vào sự kiện.

Quan trọng:

Đối với thiết bị iOS, bạn nên sử dụng adid advertising ID. ID này sẽ liên kết dữ liệu thiết bị trong trường hợp không có mã IDFA.

Tham sốMô tảVí dụ
adidMã định danh Adjust của thiết bị. Được dùng để phân biệt người dùng đã bật tính năng LAT trên iOS (đồng nghĩa không có mã IDFA) và người dùng không bật.adid=18546f6171f67e29d1cb983322ad1329
ip_addressĐịa chỉ IP của thiết bị. Được dùng để liên kết sự kiện với bên thứ ba (ví dụ: Google) và thêm thông tin vị trí (ví dụ: city ,postal_code) vào callback.

Tham số ip_address chỉ chấp nhận địa chỉ IPv4. Tham số không chấp nhận IPv6.
ip_address=192.0.0.1
created_at_unix(khuyên dùng)

hoặc

created_at
Ngày và giờ xảy ra sự kiện.created_at_unix=1484085154

hoặc

created_at=2017-01-02T15:04:05.000+0000
user_agent User agentcủa thiết bị. Phải được mã hóa.user_agent=Mozilla%2F5.0%20%28iPhone%3B%20CPU%20iPhone%20OS%2016_6%20like%20Mac%20OS%20X%29%20AppleWebKit%2F605.1.15%20%28KHTML%2C%20like%20Gecko%29%20Version%2F16.5%20Mobile%2F15E148%20Safari%2F604.1

Dấu thời gian của sự kiện

Dấu thời gian của sự kiện có thể được xác định qua một trong các tham số sau: created_at_unix hoặc created_at.

  • created_at_unix: dấu thời gian UNIX, cho biết thời điểm sự kiện được gửi đi. Ví dụ: 1484085154.
  • created_at: dấu thời gian được mã hóa và sử dụng định dạng ISO 8601. Ví dụ: 2023-01-02T15%3A04%3A05.000%2B0000
Quan trọng:

Nếu bạn không đưa dữ liệu dấu thời gian vào yêu cầu, Adjust sẽ lấy thời điểm nhận được sự kiện làm dấu thời gian.

Lưu ý kiểm tra các thông tin sau:

  • Sự kiện phải được gửi đi theo thứ tự thời gian cho từng thiết bị và event token, dựa theo dấu thời gian có trong yêu cầu. Nếu Adjust nhận được sự kiện có dấu thời gian sớm hơn dấu thời gian mà Adjust nhận được cho thiết bị và sự kiện có trong danh sách, Adjust sẽ từ chối sự kiện.
  • Tất cả sự kiện phải được gửi đi trong vòng 58 ngày. Sự kiện có dấu thời gian dài hơn 58 ngày sẽ bị từ chối.

Chia sẻ dữ liệu tùy chỉnh

Sử dụng tham số callback và tham số đối tác để gửi dữ liệu sự kiện tùy chỉnh đến Adjust. Tham số callback có trong raw data export, còn tham số đối tác sẽ được chia sẻ cho đối tác mạng quảng cáo.

Sử dụng các tham số sau để thêm tham số vào yêu cầu (request):

  • callback_params: đối tượng JSON đã được mã hóa, chứa các cặp key-value ở dạng chuỗi.
  • partner_params: đối tượng JSON đã được mã hóa, chứa các cặp key-value ở dạng chuỗi.
Quan trọng:

Không lồng đối tượng vào đối tượng dữ liệu tùy chỉnh (custom data object).

Chưa mã hóa
Đã mã hóa
{
   "f0o": "bar",
   "bar": "baz"
}

Để nhận tham số callback trong raw data export, thêm dữ liệu vào tham số callback_params của lệnh gọi S2S.

curl --location https://s2s.adjust.com/event?s2s=1&event_token=f0ob4r&app_token=4w565xzmb54d&idfa=8A3CB124-5A79-4334-8802-F75FEC099C58&callback_params=%7B%22f0o%22%3A%22bar%22%2C%20%22bar%22%3A%22baz%22%7D

Để gửi thông tin sự kiện đến đối tác mạng quảng cáo, thêm dữ liệu vào tham số partner_params của lệnh gọi S2S

curl --location https://s2s.adjust.com/event?s2s=1&event_token=f0ob4r&app_token=4w565xzmb54d&idfa=8A3CB124-5A79-4334-8802-F75FEC099C58&partner_params=%7B%22f0o%22%3A%22bar%22%2C%20%22bar%22%3A%22baz%22%7D

Ghi lại sự kiện doanh thu

Để ghi lại sự kiện doanh thu S2S (S2S revenue event), thêm các tham số doanh thu sau vào sự kiện:

Tham sốMô tả
revenue

Giá trị của sự kiện doanh thu đã được làm tròn (tùy quy ước của từng đơn vị tiền tệ)
(149.99 = $149.99). Adjust chấp nhận giá trị tối thiểu của tham số này là 0.001.

currency Mã tiền tệ của sự kiện.
environmentMôi trường bạn gửi dữ liệu đến (environment=sandbox hoặc environment=production).
Môi trường mặc định: production

Ví dụ (yêu cầu)

GET chứa tham số URL
POST chứa tham số URL
POST chứa tham số body
curl --location 'https://s2s.adjust.com/event?s2s=1&event_token=f0ob4r&app_token=4w565xzmb54d&idfa=D2CADB5F-410F-4963-AC0C-2A78534BDF1E&created_at=2017-01-02T15%3A04%3A05Z%2B0200&callback_params=%7B%22f0o%22%3A%22bar%22%2C%20%22bar%22%3A%22baz%22%7D&partner_params=%7B%22f0o%22%3A%22bar%22%2C%20%22bar%22%3A%22baz%22%7D&currency=EUR&revenue=123.4&environment=sandbox'