---
title: Apple App Store
description: Apple App Store에 연결하고 동기화 동작을 파악하며 기록되는 모든 테이블과 열을 쿼리합니다.
species: reference
---
# Apple App Store

발급자 ID, 키 ID, 비공개 키, 공급업체 번호를 사용해 Apple App Store에 연결합니다. 이 소스는 `titan.apple_app_store` 아래에 고정 테이블 1개를 기록합니다.
```sql
select
  event_date,
  app_name,
  app_apple_id
from titan.apple_app_store.sales_subscriber_detailed
limit 10
```

## Apple App Store 연결

1. **앱**을 열고 **앱 연결**을 선택한 뒤 **Apple App Store** 항목을 선택합니다.
2. 발급자 ID, 키 ID, 비공개 키, 공급업체 번호를 입력합니다.
3. 테이블을 확인한 뒤 소스를 저장합니다.
4. 첫 실행이 완료될 때까지 **동기화 기록**을 확인합니다.

자격 증명은 비밀 정보로 저장됩니다. 레이크 열이 되거나 쿼리 결과에 나타나지 않습니다.

## 동기화 동작

Supernova는 상세 구독자 판매 보고서를 다운로드하고 보고서 필드를 타입이 지정된 열로 보관합니다.

새 소스는 연결할 때 동기화한 다음 설정된 일정을 따릅니다. 기본 반복 간격은 4시간입니다. 실행이 중단되어도 완료한 진행 상황을 유지하며 안전하게 재시도합니다.

모든 레이크 테이블에는 [시스템 열](/docs/concepts/your-lake#시스템-열)인 `_synced_at`과 `_deleted`도 있습니다. 아래 열 참조에는 소스 열만 나열합니다.

## 테이블 참조

### `sales_subscriber_detailed`

`titan.apple_app_store.sales_subscriber_detailed`의 소스 열 수는 26개입니다.

```columns table=apple_app_store.sales_subscriber_detailed
event_date                              date pk             `event_date` 소스 필드.
app_name                                string              `app_name` 소스 필드.
app_apple_id                            integer             `app_apple_id` 소스 필드.
subscription_name                       string pk           `subscription_name` 소스 필드.
subscription_apple_id                   integer             `subscription_apple_id` 소스 필드.
subscription_group_id                   integer             `subscription_group_id` 소스 필드.
standard_subscription_duration          string              `standard_subscription_duration` 소스 필드.
subscription_offer_name                 string              `subscription_offer_name` 소스 필드.
promotional_offer_id                    string              `promotional_offer_id` 소스 필드.
subscription_offer_type                 string              `subscription_offer_type` 소스 필드.
subscription_offer_duration             string              `subscription_offer_duration` 소스 필드.
marketing_opt_in_duration               string              `marketing_opt_in_duration` 소스 필드.
customer_price                          float               `customer_price` 소스 필드.
customer_currency                       string              `customer_currency` 소스 필드.
developer_proceeds                      float               `developer_proceeds` 소스 필드.
proceeds_currency                       string              `proceeds_currency` 소스 필드.
preserved_pricing                       string              `preserved_pricing` 소스 필드.
proceeds_reason                         string              `proceeds_reason` 소스 필드.
client                                  string              `client` 소스 필드.
device                                  string              `device` 소스 필드.
country                                 string              `country` 소스 필드.
subscriber_id                           integer pk          `subscriber_id` 소스 필드.
subscriber_id_reset                     string              `subscriber_id_reset` 소스 필드.
refund                                  string pk           `refund` 소스 필드.
purchase_date                           date pk             `purchase_date` 소스 필드.
units                                   integer             `units` 소스 필드.
```

## 삭제와 이력

행은 소스 키로 병합됩니다. 소스에서 행 삭제를 입증할 수 있으면 Supernova는 행을 유지하고 `_deleted`를 설정합니다. 따라서 쿼리에서 이력을 포함할지 선택할 수 있습니다. 현재 상태를 조회하는 쿼리에는 `where not _deleted` 필터를 사용하세요.
