---
title: "Amazon S3"
description: "Xuất dữ liệu thu hút người dùng sang S3 để phân tích và báo cáo nâng cao."
---

Tích hợp của Adapty UA với Amazon S3 cho phép bạn lưu trữ dữ liệu chiến dịch thu hút người dùng một cách an toàn tại một vị trí tập trung. Bạn có thể lưu dữ liệu hiệu suất chiến dịch, dữ liệu attribution và các sự kiện thu hút người dùng vào Amazon S3 bucket của mình dưới dạng file .csv.  
Để thiết lập tích hợp này, bạn cần thực hiện một vài bước đơn giản trong AWS Console và dashboard Adapty UA.

:::note
Adapty UA gửi dữ liệu của bạn mỗi **24h** lúc 4:00 UTC.

Mỗi file sẽ chứa dữ liệu cho các sự kiện được tạo trong toàn bộ ngày theo lịch trước đó theo UTC. Ví dụ, dữ liệu được xuất tự động lúc 4:00 UTC ngày 8 tháng 3 sẽ chứa tất cả các sự kiện được tạo vào ngày 7 tháng 3 từ 00:00:00 đến 23:59:59 theo UTC.
:::

## Cách thiết lập tích hợp Amazon S3 \{#how-to-set-up-amazon-s3-integration\}

Để bắt đầu nhận dữ liệu, bạn cần có các thông tin xác thực sau:

1. Access key ID
2. Secret access key
3. Tên S3 bucket
4. Tên thư mục bên trong S3 bucket

:::note
Thư mục lồng nhau

Bạn có thể chỉ định các thư mục lồng nhau trong trường tên Amazon S3 bucket, ví dụ: adapty-ua-events/com.sample-app
:::

### Bước 1. Tạo thông tin xác thực Amazon S3 \{#step-1-create-amazon-s3-credentials\}

Hướng dẫn này sẽ giúp bạn tạo các thông tin xác thực cần thiết trong AWS Console.

#### 1.1. Tạo Access Policy \{#11-create-access-policy\}

1. Truy cập [IAM Policy Dashboard](https://us-east-1.console.aws.amazon.com/iamv2/home?region=us-east-1#/policies) trong AWS Console của bạn
2. Chọn tùy chọn **Create Policy**

  <img src="/assets/shared/img/7af075c-CleanShot_2023-03-21_at_10.52.002x.webp"
  style={{
    border: '1px solid #727272', /* border width and color */
    width: '700px', /* image width */
    display: 'block', /* for alignment */
    margin: '0 auto' /* center alignment */
  }}
/>

3. Trong Policy editor, dán JSON sau và thay `adapty-s3-integration-test` bằng tên bucket của bạn:

```json showLineNumbers title="Json"
{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "AllowListObjectsInBucket",
            "Effect": "Allow",
            "Action": "s3:ListBucket",
            "Resource": "arn:aws:s3:::adapty-s3-integration-test"
        },
        {
            "Sid": "AllowAllObjectActions",
            "Effect": "Allow",
            "Action": "s3:*Object",
            "Resource": [
                "arn:aws:s3:::adapty-s3-integration-test/*",
                "arn:aws:s3:::adapty-s3-integration-test"
            ]
        },
        {
            "Sid": "AllowBucketLocation",
            "Effect": "Allow",
            "Action": "s3:GetBucketLocation",
            "Resource": "arn:aws:s3:::adapty-s3-integration-test"
        }
    ]
}
```

  <img src="/assets/shared/img/d4e474a-CleanShot_2023-03-21_at_10.56.212x.webp"
  style={{
    border: '1px solid #727272', /* border width and color */
    width: '700px', /* image width */
    display: 'block', /* for alignment */
    margin: '0 auto' /* center alignment */
  }}
/>

4. Sau khi hoàn tất cấu hình policy, bạn có thể thêm tags (tùy chọn) rồi nhấn **Next** để chuyển sang bước cuối
5. Ở bước này, bạn đặt tên cho policy và nhấn nút **Create policy** để hoàn tất quá trình tạo

  <img src="/assets/shared/img/7dcb02f-CleanShot_2023-03-21_at_11.03.372x.webp"
  style={{
    border: '1px solid #727272', /* border width and color */
    width: '700px', /* image width */
    display: 'block', /* for alignment */
    margin: '0 auto' /* center alignment */
  }}
/>

#### 1.2. Tạo IAM user \{#12-create-iam-user\}

Để cho phép Adapty UA tải các báo cáo dữ liệu thô lên bucket của bạn, bạn cần cung cấp Access Key ID và Secret Access Key cho một người dùng có quyền ghi vào bucket cụ thể đó.

1. Truy cập IAM Console và chọn [phần Users](https://console.aws.amazon.com/iamv2/home#/users)
2. Nhấn nút **Add users**

  <img src="/assets/shared/img/bb612c8-CleanShot_2023-03-21_at_11.12.392x.webp"
  style={{
    border: '1px solid #727272', /* border width and color */
    width: '700px', /* image width */
    display: 'block', /* for alignment */
    margin: '0 auto' /* center alignment */
  }}
/>

3. Đặt tên cho người dùng, chọn **Access key – Programmatic access**, rồi chuyển sang phần quyền

  <img src="/assets/shared/img/467ee4d-j6aoX.webp"
  style={{
    border: '1px solid #727272', /* border width and color */
    width: '700px', /* image width */
    display: 'block', /* for alignment */
    margin: '0 auto' /* center alignment */
  }}
/>

4. Ở bước tiếp theo, chọn tùy chọn **Add user to group** rồi nhấn nút **Create group**

  <img src="/assets/shared/img/bfd0e80-CleanShot_2023-03-21_at_11.24.592x.webp"
  style={{
    border: '1px solid #727272', /* border width and color */
    width: '700px', /* image width */
    display: 'block', /* for alignment */
    margin: '0 auto' /* center alignment */
  }}
/>

5. Tiếp theo, đặt tên cho User Group và chọn policy mà bạn đã tạo trước đó
6. Sau khi chọn policy, nhấn nút **Create group** để hoàn tất

  <img src="/assets/shared/img/df29c12-CleanShot_2023-03-21_at_11.28.052x.webp"
  style={{
    border: '1px solid #727272', /* border width and color */
    width: '700px', /* image width */
    display: 'block', /* for alignment */
    margin: '0 auto' /* center alignment */
  }}
/>

7. Sau khi tạo group thành công, hãy **chọn group đó** và tiếp tục bước tiếp theo

  <img src="/assets/shared/img/1f3722e-CleanShot_2023-03-21_at_11.36.192x.webp"
  style={{
    border: '1px solid #727272', /* border width and color */
    width: '700px', /* image width */
    display: 'block', /* for alignment */
    margin: '0 auto' /* center alignment */
  }}
/>

8. Đây là bước cuối cùng của phần này, bạn chỉ cần nhấn nút **Create User** để hoàn tất

  <img src="/assets/shared/img/ea43722-CleanShot_2023-03-21_at_11.40.462x.webp"
  style={{
    border: '1px solid #727272', /* border width and color */
    width: '700px', /* image width */
    display: 'block', /* for alignment */
    margin: '0 auto' /* center alignment */
  }}
/>

9. Cuối cùng, bạn có thể **tải thông tin xác thực dưới dạng .csv** hoặc sao chép và dán thông tin xác thực trực tiếp từ dashboard

  <img src="/assets/shared/img/bcf35e1-S3created.webp"
  style={{
    border: '1px solid #727272', /* border width and color */
    width: '700px', /* image width */
    display: 'block', /* for alignment */
    margin: '0 auto' /* center alignment */
  }}
/>

### Bước 2. Cấu hình tích hợp trong Adapty UA \{#step-2-configure-integration-in-adapty-ua\}

1. Vào [**Integrations** -> **Amazon S3**](https://app.adapty.io/ua/integrations/s3)
2. Bật toggle **Export install events to Amazon S3**.
3. Điền các trường sau để kết nối Amazon S3 với hồ sơ người dùng Adapty UA:

| Trường                       | Mô tả                                                        |
|:-----------------------------| :----------------------------------------------------------- |
| **Access Key ID**            | Mã định danh duy nhất dùng để xác thực quyền truy cập của người dùng hoặc ứng dụng vào dịch vụ AWS. Tìm ID này trong [file csv](ua-amazon-s3#step-1-create-amazon-s3-credentials) đã tải về. |
| **Secret Access Key**        | Khóa bí mật dùng kết hợp với Access Key ID để xác thực quyền truy cập vào dịch vụ AWS. Tìm khóa này trong [file csv](ua-amazon-s3#step-1-create-amazon-s3-credentials) đã tải về. |
| **S3 Bucket Name**           | Tên duy nhất toàn cầu xác định một S3 bucket cụ thể trong AWS cloud. S3 bucket là dịch vụ lưu trữ đơn giản cho phép người dùng lưu trữ và truy xuất các đối tượng dữ liệu như file và hình ảnh trên cloud. |
| **Folder Inside the Bucker** | Tên thư mục bạn muốn tạo bên trong S3 bucket đã chọn. Lưu ý rằng S3 mô phỏng thư mục bằng cách sử dụng tiền tố khóa đối tượng, về cơ bản là tên thư mục. |
| **Region** (Tùy chọn)        | Lấy Region của bạn từ AWS Management Console trong tài khoản IAM user.                                                                                                                                                                                  |

## Xuất dữ liệu thủ công \{#manual-data-export\}

Ngoài tính năng tự động xuất dữ liệu sự kiện sang Amazon S3, Adapty UA còn cung cấp chức năng xuất file thủ công. Với tính năng này, bạn có thể chọn một ngày cụ thể để lấy dữ liệu thu hút người dùng và xuất sang S3 bucket theo cách thủ công. Điều này giúp bạn kiểm soát tốt hơn dữ liệu cần xuất và thời điểm xuất.

## Cấu trúc bảng \{#table-structure\}

Trong tích hợp AWS S3, Adapty UA cung cấp một bảng để lưu trữ dữ liệu lịch sử cho các sự kiện cài đặt. Bảng chứa thông tin về hồ sơ người dùng, doanh thu và lợi nhuận, cửa hàng gốc và nhiều điểm dữ liệu khác.

:::warning
Lưu ý rằng cấu trúc này có thể phát triển theo thời gian — với dữ liệu mới được chúng tôi hoặc các bên thứ ba mà chúng tôi hợp tác giới thiệu. Hãy đảm bảo rằng code xử lý dữ liệu của bạn đủ linh hoạt và dựa vào các trường cụ thể, không phụ thuộc vào toàn bộ cấu trúc.
:::

Dưới đây là cấu trúc bảng cho các sự kiện:

| Cột                      | Mô tả                                     |
|--------------------------|-------------------------------------------|
| `adapty_profile_id`      | Mã định danh hồ sơ người dùng Adapty duy nhất |
| `install_id`             | Mã định danh cài đặt duy nhất             |
| `created_at`             | Timestamp tạo bản ghi (ISO 8601)          |
| `installed_at`           | Timestamp cài đặt ứng dụng (ISO 8601)     |
| `store`                  | Cửa hàng ứng dụng (`ios`, `android`)      |
| `country`                | Mã quốc gia của người dùng (ISO 3166-1 alpha-2) |
| `ip_address`             | Địa chỉ IP của client                     |
| `idfa`                   | iOS Identifier for Advertisers            |
| `idfv`                   | iOS Identifier for Vendors                |
| `gaid`                   | Google Advertising ID (Android)           |
| `android_id`             | ID thiết bị Android                       |
| `app_set_id`             | Android App Set ID                        |
| `channel`                | Kênh attribution                          |
| `campaign_id`            | Mã định danh chiến dịch                   |
| `campaign_name`          | Tên chiến dịch                            |
| `adset_id`               | Mã định danh ad set                       |
| `adset_name`             | Tên ad set                                |
| `ad_id`                  | Mã định danh quảng cáo                    |
| `ad_name`                | Tên quảng cáo                             |
| `keyword_id`             | Mã định danh từ khóa                      |
| `keyword_name`           | Tên từ khóa                               |
| `asa_org_id`             | ID tổ chức Apple Search Ads               |
| `asa_keyword_match_type` | Loại khớp từ khóa ASA (`Exact`, `Broad`)  |
| `asa_attribution`        | Dữ liệu attribution ASA (chuỗi JSON)      |
| `asa_conversion_type`    | Loại chuyển đổi ASA                       |
| `asa_country_or_region`  | Quốc gia hoặc khu vực ASA                 |
| `asa_creative_set_name`  | Tên creative set ASA                      |
| `fbclid`                 | Facebook Click ID                         |
| `ttclid`                 | TikTok Click ID                           |
| `utm_source`             | Tham số UTM source                        |
| `utm_medium`             | Tham số UTM medium                        |
| `utm_campaign`           | Tham số UTM campaign                      |
| `utm_term`               | Tham số UTM term                          |
| `utm_content`            | Tham số UTM content                       |