Khái quát: Bài viết này dành cho khách hàng để sử dụng AppsFlyer, thường được gọi là nhà quảng cáo hoặc chủ sở hữu ứng dụng, sử dụng Nền tảng để ghi nhận việc sử dụng và phân bổ ứng dụng. Chủ sở hữu ứng dụng triển khai API OpenGDPR để tuân thủ các luật bảo vệ dữ liệu hiện hành như GDPR (Châu Âu), CCPA (California), LGPD (Brazil) và PDPA (Thái Lan).
Tuyên bố của luật sư chúng tôi: Không nội dung nào được nêu ở đây là thông tin tư vấn pháp lý. Những nội dung này chỉ nhằm cung cấp thông tin và sự tiện lợi cho bạn. Bạn nên hợp tác chặt chẽ với các cố vấn pháp lý và các cố vấn chuyên môn khác để xác định chính xác cách thức mà GDPR, CCPA hay bất kỳ luật nào khác có khả năng có hoặc không áp dụng đối với bạn. Mối quan hệ riêng tư giữa bạn và AppsFlyer được điều chỉnh bởi Chính sách Quyền riêng tư về Dịch vụ của AppsFlyer. Đối với bất kỳ thắc mắc nào liên quan đến Chính sách Quyền riêng tư về Dịch vụ này hoặc để liên hệ với nhân viên bảo vệ dữ liệu của chúng tôi, vui lòng gửi thư cho chúng tôi đến địa chỉ privacy@appsflyer.com. Theo mục đích của Điều 27 của Quy định Chung về Bảo vệ dữ liệu, đại diện tại Liên minh Châu Âu của AppsFlyer là AppsFlyer Germany GmbH Kurfürstendamm 11, c/o WeWork, 10719 Berlin, Đức (liên hệ privacy@appsflyer.com; +49-30-3119-9129)
Quy định về quyền riêng tư
Trong bài viết này, các tham chiếu đến các quy định về quyền riêng tư sẽ bao gồm các quy định được liệt kê trong bảng sau đây.
Quy định | Biểu tượng | Mô tả |
---|---|---|
GDPR | ![]() |
Quy định Bảo vệ Dữ liệu Chung là quy định của EU liên quan đến việc bảo vệ dữ liệu và quyền riêng tư của công dân Liên minh Châu Âu |
CCPA | ![]() |
Đạo luật Quyền riêng tư của Người tiêu dùng California |
LGPD | ![]() |
Lei Geral de Proteção de Dados |
PDPA | ![]() |
Đạo luật Bảo vệ Dữ liệu Cá nhân |
Sáng kiến OpenGDPR
Để giải quyết và quản lý các yêu cầu của Chủ thể Dữ liệu được gửi theo quy định về quyền riêng tư, AppsFlyer, cùng với mParticle, Amplitude và Braze, đã khởi tạo giao thức OpenGDPR.
OpenGDPR là một khuôn khổ mã nguồn mở, tạo điều kiện cho sự hợp tác giữa các công ty công nghệ để sử dụng dữ liệu khách hàng một cách công bằng và minh bạch. Giao thức này cho phép các nhà cung cấp thực hiện các hành động bảo vệ dữ liệu trên nhiều hệ thống xử lý và lưu trữ dữ liệu khách hàng.
Bạn có thể đọc thêm thông tin về sáng kiến tại đây.
Các định nghĩa
Thuật ngữ GDPR | Thuật ngữ AppsFlyer | Mô tả |
---|---|---|
Chủ thể Dữ liệu | Người dùng Ứng dụng hoặc Người dùng cuối | Người dùng Ứng dụng là người dùng có dữ liệu được thu thập |
Người kiểm soát Dữ liệu | Chủ sở hữu Ứng dụng hoặc Nhà quảng cáo | Chủ sở hữu Ứng dụng xác định mục đích và phương tiện xử lý dữ liệu cá nhân. |
Người xử lý Dữ liệu | AppsFlyer và các đối tác của mình | AppsFlyer và các đối tác xử lý dữ liệu cá nhân thay mặt cho người kiểm soát dữ liệu |
Các yêu cầu của GDPR
GDPR quy định chi tiết các quyền bắt buộc của Chủ thể Dữ liệu mà Người kiểm soát Dữ liệu phải tuân thủ. Đối với mục đích API, các quyền này được chuyển thành các loại yêu cầu. Các chi tiết sau đây xác định cách AppsFlyer xử lý các loại yêu cầu khác nhau.
Loại yêu cầu (Quyền) |
Định nghĩa GDPR |
Xử lý yêu cầu của AppsFlyer |
---|---|---|
Quyền truy cập |
|
Chủ sở hữu Ứng dụng nhận được một bản sao dữ liệu cá nhân đã xử lý của Người dùng Ứng dụng. |
Tính khả chuyển |
Người dùng Ứng dụng cần nhận tất cả dữ liệu cá nhân của họ theo định dạng có cấu trúc, thường được sử dụng và có thể đọc được – chẳng hạn như tệp CSV. |
Chủ sở hữu Ứng dụng nhận được một bản sao dữ liệu cá nhân đã xử lý của Người dùng Ứng dụng. |
Quyền hiệu chỉnh |
Cho phép Người dùng Ứng dụng sửa dữ liệu của họ nếu họ thấy không chính xác hoặc không trung thực. Chủ sở hữu Ứng dụng phải xóa hoặc sửa dữ liệu không chính xác hoặc không đầy đủ. |
|
Quyền xóa |
Quyền xóa sẽ buộc Chủ sở hữu Ứng dụng xóa dữ liệu cá nhân trong vòng một tháng kể từ khi nhận được yêu cầu. |
Dữ liệu bị xóa |
GDPR của AppsFlyer Yêu cầu API
Sử dụng API Yêu cầu GDPR theo mô tả trong phần này để tuân thủ GDPR.
- Yêu cầu GDPR: Thực hiện một trong các loại yêu cầu trên: truy cập, tính khả chuyển, quyền xóa, hiệu chỉnh.
- Yêu cầu Trạng thái - Truy vấn trạng thái hiện tại của yêu cầu GDPR
- Yêu cầu Phát hiện: Yêu cầu thông tin về phiên bản API được hỗ trợ và Định dạng Dữ liệu
- Hủy: Hủy một yêu cầu GDPR trong giai đoạn chờ xử lý
Chủ sở hữu Ứng dụng cần thực hiện các thay đổi về giao diện người dùng cho ứng dụng của họ để Người dùng Ứng dụng có thể gửi yêu cầu. Lưu ý rằng yêu cầu GDPR là cho một người dùng tại một thời điểm.
1. Yêu cầu GDPR
Quy trình yêu cầu GDPR
Các loại yêu cầu GDPR, quyền truy cập, tính khả chuyển, quyền xóa và hiệu chính, có cùng một luồng:
- Người dùng Ứng dụng gửi yêu cầu.
- Chủ sở hữu Ứng dụng tạo yêu cầu GDPR (xem bên dưới) và gửi đến AppsFlyer.
- AppsFlyer nhận được yêu cầu và trả lời là "201 OK" cho các yêu cầu hợp lệ.
- Trong 48 giờ sau, yêu cầu được xếp hàng đợi và có trạng thái là đang chờ xử lý. Người dùng Ứng dụng có thể hủy yêu cầu.
- Sau 48 giờ, trạng thái yêu cầu sẽ thay đổi thành in-progress. AppsFlyer gửi postback 'thay đổi trạng thái'. Không thể hủy yêu cầu.
- a) Trong vòng 28 ngày, AppsFlyer sẽ hoàn thành yêu cầu.
Trong trường hợp xóa hoặc hiệu chỉnh, dữ liệu của Người dùng Ứng dụng sẽ bị xóa.
Trong trường hợp khả chuyển hoặc quyền truy cập, có thể truy cập dữ liệu của Người dùng Ứng dụng trong bảng điều khiển của AppFlyer theo GDPR hoặc thông qua API Yêu cầu (xem bên dưới).
b) Trạng thái yêu cầu sẽ cập nhật thành hoàn thành. AppsFlyer gửi đăng lại thay đổi trạng thái.
Định dạng yêu cầu GDPR
API yêu cầu GDPR có thể được gửi qua HTTP POST tới điểm cuối dưới đây -
https://hq1.appsflyer.com/gdpr/opengdpr_requests?api_token=[api token]
Mã thông báo API là cùng một mã thông báo API được sử dụng cho API Pull. Quản trị viên truy xuất mã thông báo API Pull từ trang mã thông báo API trong Bảng điều khiển.
Tên Thuộc tính | Bắt buộc | Mô tả |
---|---|---|
subject_request_id | Có | Chuỗi UUID v4. Được Người kiểm soát tạo tại thời điểm gửi yêu cầu tới Người xử lý. Sau đó, chuỗi này có thể được sử dụng để kiểm tra trạng thái của yêu cầu, cập nhật hoặc hủy bỏ yêu cầu. |
subject_request_type | Có |
Giá trị chuỗi đại diện cho loại Yêu cầu GDPR. Các giá trị được hỗ trợ:
|
subject_identities | Có |
|
submitted_time | Có |
|
property_id | Có |
Chuỗi đại diện cho ứng dụng dành cho thiết bị di động trong phạm vi của yêu cầu Ví dụ:
|
api_version | Không | Chuỗi phiên bản đại diện cho phiên bản mong muốn của API yêu cầu GDPR |
status_callback_urls | Có |
|
Loại đối tượng | Bắt buộc | Mô tả |
---|---|---|
identity_type | Có |
|
identity_value | Có |
|
identity_format | Có |
|
Ví dụ yêu cầu xóa GDPR
curl --location --request POST 'https://hq1.appsflyer.com/gdpr/opengdpr_requests?api_token=[api_token]' \
--header 'Accept: application/json' \
--header 'Content-Type: application/json' \
--data-raw '{
"subject_request_id":"f4e5a271-f25e-4107-b681-************",
"subject_request_type":"erasure",
"submitted_time":"2020-07-05T10:00:00Z",
"subject_identities":[
{
"identity_type":"android_advertising_id",
"identity_value":"55*****-****-****-************",
"identity_format":"raw"
}
],
"api_version":"0.1",
"property_id":"com.*********.*******.********",
"status_callback_urls":[
"https://examplecontroller.com/opengdpr_callbacks"
]
}'
Ví dụ về mã yêu cầu xóa của GDPR
/*
using the okhttp package install from maven
https://mvnrepository.com/artifact/com.squareup.okhttp3/okhttp
*/
import okhttp3.*;
import java.io.IOException;
public class GdprSendRequest {
public static void main(String[] args){
OkHttpClient client = new OkHttpClient();
RequestBody body = RequestBody.create(null, "" +
"{\r\n\"subject_request_id\": \"<SUBJECT_ID>\"," +
"\r\n\"subject_request_type\": \"erasure\"," +
"\r\n\"submitted_time\": \"2018-11-02T15:00:00Z\"," +
"\r\n\"subject_identities\": [\r\n" +
"{\r\n\"identity_type\": \"android_advertising_id\"," +
"\r\n\"identity_value\": \"<ADVERTISING_ID>\"," +
"\r\n\"identity_format\": \"raw\"\r\n}" +
"\r\n]," +
"\r\n\"property_id\": \"com.example.application\"}");
Request request = new Request.Builder()
.url("https://hq1.appsflyer.com/gdpr/opengdpr_requests?api_token=<API_TOKEN>")
.post(body)
.addHeader("Content-Type", "application/json")
.addHeader("Accept", "application/json")
.build();
try {
Response response = client.newCall(request).execute();
System.out.println(response.code());
System.out.println(response.body().string());
System.exit(0);
} catch (IOException e) {
e.printStackTrace();
System.exit(1);
}
}
}
""" using the requests python package,
install using pip install requests """
import requests
import json
headers = {
"Content-Type": "application/json",
"Accept": "application/json"
}
params = {
"api_token": ""
}
body = {
"subject_request_id": "",
"subject_request_type": "erasure",
"submitted_time": "2018-10-02T15:00:00Z",
"subject_identities": [
{ "identity_type": "android_advertising_id",
"identity_value": "",
"identity_format": "raw" }
],
"property_id": "com.example.application"
}
body = json.dumps(body)
res = requests.request("POST",
"https://hq1.appsflyer.com/gdpr/opengdpr_requests",
headers=headers, data=body, params=params)
print(res.text)
/* using the request npm package,
install using npm install request */
var request = require("request");
var options = { method: 'POST',
url: 'https://hq1.appsflyer.com/gdpr/opengdpr_requests',
qs: { api_token: '' },
headers:
{ Accept: 'application/json',
'Content-Type': 'application/json' },
body:
{ subject_request_id: '<SUBJECT_ID>',
subject_request_type: 'erasure',
submitted_time: '2018-10-02T15:00:00Z',
subject_identities:
[ { identity_type: 'android_advertising_id',
identity_value: '<ADVERTISING_ID>',
identity_format: 'raw' } ],
property_id: 'com.example.application'
},
json: true };
request(options, function (error, response, body) {
if (error) throw new Error(error);
console.log(body);
});
using System;
using RestSharp;
namespace CS
{
class Gdpr
{
static void Main(string[] args)
{
var url = "https://hq1.appsflyer.com/gdpr/opengdpr_requests";
var apiToken = "?api_token=<API_TOKEN>";
var client = new RestClient(url + apiToken);
var request = new RestRequest(Method.POST);
request.AddHeader("Content-Type", "application/json");
Request.AddHeader("Accept", "application/json");
var body = "{\r\n\"subject_request_id\": \"<SUBJECT_ID>\"," +
"\r\n \"subject_request_type\": \"erasure\"," +
"\r\n \"submitted_time\": \"2018-11-02T15:00:00Z\"," +
"\r\n \"subject_identities\": [\r\n" +
"{ \r\n \"identity_type\": \"android_advertising_id\"," +
"\r\n \"identity_value\": \"<ADVERTISING_ID>\"," +
"\r\n \"identity_format\": \"raw\"\r\n }" +
"\r\n ]," +
"\r\n \"property_id\": \"com.example.application\"}";
request.AddParameter("undefined", body,ParameterType.RequestBody);
IRestResponse response = client.Execute(request);
// handle response by reading response.StatusCode
Console.WriteLine(response.Content);
}
}
}
2. Yêu cầu trạng thái
Mỗi yêu cầu GDPR đã gửi đi, sau này có thể được truy vấn về trạng thái của nó, bằng cách nêu rõ subject_request_id
. Có bốn loại trạng thái được hỗ trợ:
- đang chờ xử lý - Một yêu cầu chính xác đã được nhận và hiện đang xếp hàng đợi
- in_progress - Yêu cầu hiện đang được thực hiện
- đã hoàn thành - Yêu cầu đã được hoàn thành
- đã hủy - Yêu cầu đã bị hủy
Định dạng yêu cầu trạng thái
Yêu cầu trạng thái có thể được gửi qua HTTP GET tới điểm cuối dưới đây:
https://hq1.appsflyer.com/gdpr/opengdpr_requests/[subject_request_id]?api_token=[api token]
Ví dụ về phản hồi trạng thái
HTTP/1.1 200 OK
Content-Type: application/json
X-OpenGDPR-Processor Domain: example processor.com
X-OpenGDPR-Signature:
kiGlog3PdQx+FQmB8wYwFC1fekbJG7Dm9WdqgmXc9uKkFRSM4uPzylLi7j083461xLZ+mUloo3tpsmyIZpt5eMfgo7ejXPh6lqB4ZgCnN6+1b6Q3NoNcn/+11UOrvmDj772wvg6uIAFzsSVSjMQxRs8LAmHqFO4cF2pbuoPuK2diHOixxLj6+t97q0nZM7u3wmgkwF9EHIo3C6G1SI04/odvyY/VdMZgj3H1fLnz+X5rc42/wU4974u3iBrKgUnv0fcB4YB+L6Q3GsMbmYzuAbe0HpVA17ud/bVoyQZAkrW2yoSy1x4Ts6XKba6pLifIHf446Bubsf5r7x1kg6Eo7B8zur666NyWOYrglkOzU4IYO8ifJFRZZXazOgk7ggn9obEd78GBc3kjKKZdwaCrLx7WV5y9TMDCf+2FILOJM/MwTUy1dLZiaFHhGdzld2AjbjK1CfVzyPssch0iQYYtbR49GhumvkYl11S4oDfu0c3t/xUCZWg0hoR3XL3B7NjcrlrQinB1KbyTNZccKR0F4Lk9fDgwTVkrAg152UqPyzXxpdzXjfkDkSEgAevXQwVJWBNf18bMIEgdH2usF/XauQoyrne7rcMIWBISPgtBPj3mhcrwscjGVsxqJva8KCVCKD/4Axmo9DISib5/7A6uczJxQG2Bcrdj++vQqK2succ=
{
"controller_id":"example_controller_id",
"expected_completion_time":"2018-11-01T15:00:01Z",
"subject_request_id":"a7551968-d5d6-44b2-9831-815ac9017798",
"request_status":"pending",
"api_version":"0.1"
}
Postback trạng thái
Như được mô tả trong Quy trình Yêu cầu GDPR ở trên, khi trạng thái của yêu cầu GDPR thay đổi, từ pending thành in_progress thành completed, AppsFlyer gửi một postback GDPR tới các điểm cuối yêu cầu, được xác định với thuộc tính status_callback_urls.
Ví dụ về Postback Trạng thái:
POST /opengdpr_callbacks HTTP/1.1
Host: examplecontroller.com
Content-Type: application/json
X-OpenGDPR-Processor Domain: appsflyer.com
X-OpenGDPR-Signature: kiGlog3PdQx+FQmB8wYwFC1fekbJG7Dm9WdqgmXc9uKkFRSM4uPzylLi7j083461xLZ+mUloo3tpsmyIZpt5eMfgo7ejXPh6lqB4ZgCnN6+1b6Q3NoNcn/+11UOrvmDj772wvg6uIAFzsSVSjMQxRs8LAmHqFO4cF2pbuoPuK2diHOixxLj6+t97q0nZM7u3wmgkwF9EHIo3C6G1SI04/odvyY/VdMZgj3H1fLnz+X5rc42/wU4974u3iBrKgUnv0fcB4YB+L6Q3GsMbmYzuAbe0HpVA17ud/bVoyQZAkrW2yoSy1x4Ts6XKba6pLifIHf446Bubsf5r7x1kg6Eo7B8zur666NyWOYrglkOzU4IYO8ifJFRZZXazOgk7ggn9obEd78GBc3kjKKZdwaCrLx7WV5y9TMDCf+2FILOJM/MwTUy1dLZiaFHhGdzld2AjbjK1CfVzyPssch0iQYYtbR49GhumvkYl11S4oDfu0c3t/xUCZWg0hoR3XL3B7NjcrlrQinB1KbyTNZccKR0F4Lk9fDgwTVkrAg152UqPyzXxpdzXjfkDkSEgAevXQwVJWBNf18bMIEgdH2usF/XauQoyrne7rcMIWBISPgtBPj3mhcrwscjGVsxqJva8KCVCKD/4Axmo9DISib5/7A6uczJxQG2Bcrdj++vQqK2succ=
{
"controller_id":"example controller id at the processor",
"expected_completion_time":"2018-11-01T15:00:01Z",
"status_callback_url":"https://examplecontroller.com/opengdpr_callbacks",
"Subject_request_id":"a7551968-d5d6-44b2-9831-815ac9017798",
"Request_status":"pending"
}
3. Yêu cầu báo cáo
Khi Yêu cầu Truy cập hoặc Yêu cầu Khả chuyển đã được hoàn tất, bạn có thể tải xuống báo cáo qua HTTP GET tới điểm cuối sau:
https://hq1.appsflyer.com/gdpr/download/[REQUEST_ID]?api_token=[TOKEN]
Báo cáo được tạo sẽ khả dụng trong mười bốn ngày kể từ thời điểm hoàn thành.
4. Yêu cầu Phát hiện
Để tìm hiểu về các định dạng được AppsFlyer hỗ trợ, có thể gửi yêu cầu phát hiện qua HTTP GET tới điểm cuối sau:
https://hq1.appsflyer.com/gdpr/discovery?api_token=[api token]
Ví dụ về yêu cầu phát hiện
HTTP/1.1 200 OK
Content-Type: application/json
{
"api_version": "0.1",
"supported_identities": [
{
"identity_type": "android_advertising_id",
"identity_format": "raw"
},
],
"supported_subject_request_types": [
"erasure", "access", "portability", "rectification"
],
"processor_certificate": "https://exampleprocessor.com/cert.pem"
}
5. Yêu cầu Hủy
Có thể hủy yêu cầu GDPR, dựa trên subject_request_id
, nhưng chỉ hủy được trong gia đoạn chờ xử lý.
Để nộp một HTTP DELETE với subject_request_id
tới:
https://hq1.appsflyer.com/gdpr/opengdpr_requests/[subject_request_id]?api_token=[api token]
Phản hồi Hủy
Khi nhận được yêu cầu hủy GDPR, AppsFlyer sẽ trả về phản hồi HTTP có mã trạng thái 202 và một số thông số khác.
Sau khi việc hủy bỏ yêu cầu diễn ra, AppsFlyer sẽ gửi một đăng lại với trạng thái đã hủy.
6. API Kiểm tra yêu cầu GDPR
API này của AppsFlyer là một API kiểm tra của API Kiểm tra Yêu cầu GDPR.
Nó hoạt động như thế nào?
API kiểm tra hoạt động như sau:
1. Sau khi yêu cầu GDPR được thực hiện, yêu cầu sẽ ngay lập tức được đặt vào trạng thái 'Đang chờ xử lý'. Để phục vụ mục đích kiểm tra, trạng thái này thay đổi sau mỗi 30 giây.
2. Nếu một điểm cuối cho một postback trạng thái đã được chèn vào yêu cầu GDPR, một postback đầu tiên được gửi ngay sau khi yêu cầu và thêm hai postback trạng thái được gửi sau 30 giây.
Điểm cuối Kiểm tra Yêu cầu GDPR:
https://hq1.appsflyer.com/gdpr/stub?api_token=[api token]
Điểm cuối Kiểm tra Yêu cầu Trạng thái:
https://hq1.appsflyer.com/gdpr/stub/[request id]?api_token=[api token]
Điểm cuối Kiểm tra Yêu cầu Phát hiện:
https://hq1.appsflyer.com/gdpr/stub/discovery?api_token=[api token]
Điểm cuối Kiểm tra Yêu cầu Hủy:
https://hq1.appsflyer.com/gdpr/stub/[request id]?api_token=[api token]
Lưu ý
- Mã thông báo API hợp lệ phải được chèn cùng với yêu cầu.
- Trong thuộc tính ‘property_id’, ID Ứng dụng phải thuộc về chủ tài khoản (theo mã thông báo API).
7. Nhật ký yêu cầu
Quản trị viên tài khoản có thể truy cập các yêu cầu GDPR được gửi trong Bảng điều khiển Nhật ký.
Đối với các yêu cầu truy cập và khả chuyển đã hoàn tất, bạn cũng có thể tải xuống báo cáo từ bên trong bảng điều khiển này.
Để truy cập Bảng điều khiển Nhật ký:
- 1. Truy cập bảng điều khiển chính và nhấp vào tên người dùng của bạn.
- Nhấp vào Nhật ký và cửa sổ sau đây sẽ mở ra:
8. Thông báo lỗi và mã trả về cho API GDPR
Thông báo lỗi và mã trả về HTTP cho API GDPR được trình bày chi tiết trong phần này.
Mã trả về | Mô tả |
---|---|
201 | Đã tạo |
202 | Đã nhận yêu cầu hủy |
400 |
Lỗi yêu cầu. Phần nội dung có chứa mã lỗi và thông báo như được liệt kê trong bảng bên dưới. |
Mã trả về HTTP 400 - lỗi yêu cầu
Thông báo có mã trả về là 400 có chứa JSON kèm theo mã lỗi và thông báo.
{ "error":
{ "Code":400, "af_gdpr_code": "%AF error code%", "message":"%error message text%"
}
}
Mã lỗi |
Mô tả lỗi (thông báo) |
---|---|
e111 | Vượt quá giới hạn lưu lượng |
e211 | Không thể hủy yêu cầu có trạng thái không hợp lệ |
e212 | Yêu cầu này không được phép. Đang xóa mã định danh. |
e213 | Đã tồn tại yêu cầu này |
e214 | Không tìm thấy yêu cầu |
e311 | content-type yêu cầu không hợp lệ |
e312 | Phiên bản API không hợp lệ |
e313 | subject_request_id không hợp lệ |
e314 | Định dạng submitted_time không hợp lệ |
e315 | Độ dài status_callback_url không hợp lệ |
e316 | Định dạng status_callback_url không hợp lệ |
e317 | Định dạng app_id không hợp lệ |
e318 | identity_type không hợp lệ |
e319 | Nền tảng ứng dụng không khớp với hình thức nhận dạng |
e320 | identity_type không hợp lệ |
e321 | Người dùng LAT không được hỗ trợ thông qua api |
e322 | subject_request_type không hợp lệ |
e323 | Định dạng subject_identities không hợp lệ |
e324 | Độ dài subject_identities không hợp lệ |
e325 | Giá trị subject_identities không hợp lệ |
e411 | AppID không chính xác hoặc không thuộc về tài khoản của bạn |
e412 | Không có quyền để hủy yêu cầu xóa |
e413 | Không có quyền để xem yêu cầu |
e511 | Đã xảy ra sự cố nội bộ, vui lòng chờ 60 phút và thử lại. Nếu sự cố vẫn tiếp diễn, vui lòng liên hệ bộ phận hỗ trợ AppsFlyer. support@AppsFlyer.com |
Điểm hạn chế
- Giới hạn lưu lượng: 80 yêu cầu GDPR mỗi 2 phút ở cấp tài khoản.
Lựa chọn không tham gia
Bài viết này dành cho việc sử dụng ứng dụng máy khách của AppsFlyer và không dành cho người dùng ứng dụng. Nếu bạn là người dùng ứng dụng và muốn chọn không tham gia, bạn cần liên hệ với nhà phát hành ứng dụng (chủ sở hữu).
Tất cả các chủ thể dữ liệu đều có Quyền Hạn chế Xử lý dữ liệu của họ. Khi các chủ thể dữ liệu thực hiện quyền này, người kiểm soát dữ liệu phải ngừng xử lý dữ liệu cá nhân của chủ thể trong mọi trường hợp, bao gồm xóa người dùng khỏi tất cả hoạt động tiếp thị trực tiếp.
Để tắt tất cả các chức năng SDK trên thiết bị di động, hãy sử dụng API isStopTracking. Khi API này được gọi, SDK AppsFlyer sẽ ngừng hoạt động và không còn gửi bất kỳ thông tin nào đến máy chủ AppsFlyer nữa.
Mã nhà phát triển
Thông tin chi tiết dành cho nhà phát triển được nêu bên dưới.
Khả dụng từ SDK Android v.4.8.7.
AppsFlyerLib.getInstance().stopTracking(true, context);
Trong mọi trường hợp, SDK có thể được kích hoạt lại bằng cách gọi cùng một API, nếu kết quả là sai.
Cảnh báo
Chỉ sử dụng API này trong những trường hợp bạn muốn chặn hoàn toàn người dùng khỏi mọi chức năng SDK của AppsFlyer. Việc sử dụng API này sẽ ảnh hưởng NGHIÊM TRỌNG đến hoạt động báo cáo và phân bổ của bạn.
Khả dụng từ SDK iOS v. 4.8.3.
AppsFlyerTracker.shared().isStopTracking = true
[AppsFlyerTracker sharedTracker].isStopTracking = true;
Khả dụng từ SDK iOS v. 4.8.3.
AppsFlyerLib.shared().isStopped = true
[AppsFlyerLib shared].isStopped = true;
Sử dụng API này trong quá trình Khởi tạo SDK để lựa chọn không tham gia:
public void setDeviceTrackingDisabled(boolean isDisabled);
Ví dụ cách dùng:
AppsFlyer.setDeviceTrackingDisabled(true);
Các chức năng SDK có thể được khởi động lại bằng cách gọi deviceTrackingDisabled
lần nữa được đặt thành false.
Cảnh báo
Người dùng lựa chọn không tham gia sẽ làm ảnh hưởng NGHIÊM TRỌNG đến thông tin phân bổ của bạn.CHỈ sử dụng tùy chọn này cho các khu vực mà pháp luật nghiêm cấm thu thập thông tin của người dùng.
Sử dụng API này trong quá trình Khởi tạo SDK để lựa chọn không tham gia:
void anonymizeUser(bool shouldAnonymizeUser)
Ví dụ cách dùng:
AppsFlyer.anonymizeUser(true);
Các chức năng SDK có thể được khởi động lại bằng cách gọi ra anonymizeUser
lần nữa được đặt thành false.
Cảnh báo
Người dùng lựa chọn không tham gia sẽ làm ảnh hưởng NGHIÊM TRỌNG đến thông tin phân bổ của bạn.CHỈ sử dụng tùy chọn này cho các khu vực mà pháp luật nghiêm cấm thu thập thông tin của người dùng.
Tìm hiểu về các tình huống lựa chọn không tham gia khác nhau và cách thực hiện.