> For the complete documentation index, see [llms.txt](https://docs.targetpick.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.targetpick.io/api/common.md).

# 공통(배너/비디오/네이티브/CTV동영상 포함)

{% hint style="info" %}
파라미터 필수 구분

* MUST: 거래 상 반드시 추가되어야 하는 필수 값으로 제외 시 응답하지 않을 수 있습니다.
* SHOULD: 필수(MUST)는 아니지만 추천하는 값으로 응답률 상승에 도움줄 수 있습니다.
* MAY: 선택 값입니다.
  {% endhint %}

## Request

HTTP POST 방식으로 아래 정의된 객체를 작성해 TARGETPICK 인터페이스를 호출합니다.

### 도메인 정보

| 구분  | URL                       |
| --- | ------------------------- |
| 테스트 | <https://ssp-stg.mman.kr> |
| 상용  | <https://ssp.mman.kr>     |

```
{domain}/ssp.mezzo/?pub={publisher}&media={media}&section={section}&used_type=api
```

### 쿼리 파라미터

<table><thead><tr><th width="128">필드</th><th width="102">유형</th><th width="114">필수</th><th>설명</th></tr></thead><tbody><tr><td>pub</td><td>integer</td><td>MUST</td><td>사업자번호 (광고솔루션에서 발급)</td></tr><tr><td>media</td><td>integer</td><td>MUST</td><td>미디어번호 (광고솔루션에서 발급)</td></tr><tr><td>section</td><td>integer</td><td>MUST</td><td>섹션번호 (광고솔루션에서 발급)</td></tr><tr><td>used_type</td><td>string</td><td>MUST</td><td>api</td></tr></tbody></table>

### Body

<table><thead><tr><th width="127">필드</th><th width="103">유형</th><th width="119">필수</th><th>설명</th></tr></thead><tbody><tr><td>id</td><td>string</td><td>MAY</td><td><p>광고요청시 Client에서 고유코드를 생성하여 관리</p><p>(universally unique identifier, UUID)</p></td></tr><tr><td>device</td><td>object</td><td>MUST</td><td>단말기 정보</td></tr><tr><td>geo</td><td>object</td><td>MUST</td><td>지역 정보</td></tr><tr><td>app</td><td>object</td><td>MUST <br>(App일 경우)</td><td>앱 정보</td></tr><tr><td>site</td><td>object</td><td>MUST <br>(Web일 경우)</td><td>사이트 정보</td></tr><tr><td>ad</td><td>object</td><td>MUST</td><td>광고 정보</td></tr><tr><td>user</td><td>object</td><td>SHOULD</td><td>사용자 정보</td></tr><tr><td>ext</td><td>object</td><td>MAY</td><td>확장 영역</td></tr></tbody></table>

### Device

<table><thead><tr><th width="130">필드</th><th width="102">유형</th><th width="121">필수</th><th>설명</th></tr></thead><tbody><tr><td>adid</td><td>string</td><td>SHOULD</td><td>Android: Google AdvertiseID<br>iOS: IDFA</td></tr><tr><td>sid</td><td>string</td><td>MAY</td><td>공유한 sid</td></tr><tr><td>puid</td><td>string</td><td>MAY</td><td>공유한 puid</td></tr><tr><td>os_type</td><td>integer</td><td>MUST</td><td><p>1: PC</p><p>2: iOS</p><p>3: Android</p></td></tr><tr><td>os_name</td><td>string</td><td>MUST</td><td>디바이스 OS명<br>ex) Android, iPad, iPhone..</td></tr><tr><td>manufacturer</td><td>string</td><td>SHOULD</td><td>디바이스 제조사</td></tr><tr><td>model</td><td>string</td><td>SHOULD</td><td>디바이스 모델명</td></tr><tr><td>os_ver</td><td>string</td><td>MUST</td><td>디바이스 OS버전<br>ex) 7.0, 8.0</td></tr><tr><td>network_type</td><td>integer</td><td>SHOULD</td><td><a href="#undefined-2"><code>code</code></a> 코드정의를 참고하세요.</td></tr><tr><td>carrier</td><td>string</td><td>SHOULD</td><td>디바이스 통신사명</td></tr><tr><td>w</td><td>integer</td><td>MUST</td><td>디바이스 가로사이즈</td></tr><tr><td>h</td><td>integer</td><td>MUST</td><td>디바이스 세로사이즈</td></tr><tr><td>densty</td><td>string</td><td>MAY</td><td>해상도</td></tr><tr><td>orientation</td><td>integer</td><td>MAY</td><td><a href="#undefined-2"><code>code</code></a> 코드정의를 참고하세요.</td></tr><tr><td>language</td><td>string</td><td>SHOULD</td><td>디바이스 언어코드<br>ex) ko, en…</td></tr><tr><td>mcc</td><td>integer</td><td>SHOULD</td><td>USIM 국가코드</td></tr><tr><td>mnc</td><td>integer</td><td>SHOULD</td><td>USIM 통신사코드</td></tr><tr><td>skadn</td><td>string</td><td>MUST<br>(ios)</td><td>skadn값</td></tr><tr><td><mark style="color:red;"><strong>ua</strong></mark></td><td>string</td><td>MUST</td><td>요청한 사용자의 user-agent</td></tr><tr><td><mark style="color:red;"><strong>ip</strong></mark></td><td>string</td><td>MUST</td><td>요청한 사용자의 ip</td></tr></tbody></table>

{% hint style="danger" %}

* UA(User Agent)의 경우, AD Exchange 거래를 위한 조건으로 <mark style="color:red;">**반드시 필수 제공**</mark>해주셔야 합니다.
* IP의 경우, <mark style="color:red;">**Private IP(가상IP)가 아닌 Public IP 기준으로 전달**</mark>주셔야 합니다.\
  공유기, 회사 내부망에 할당된 IP가 그대로 전달 될 경우 광고 거래가 제한적일 수 있습니다.
* IP를 Device 내 적용 불가할 경우에는 Header X-Forwarded-For에 전달해주시면 됩니다.
  {% endhint %}

### Geo

<table><thead><tr><th width="129">필드</th><th width="108">유형</th><th width="156">필수</th><th>설명</th></tr></thead><tbody><tr><td>country</td><td>string</td><td>MUST</td><td>국가 코드 (KOR)</td></tr></tbody></table>

### App

<table><thead><tr><th width="134">필드</th><th width="105">유형</th><th width="149">필수</th><th>설명</th></tr></thead><tbody><tr><td>id</td><td>string</td><td>MUST</td><td>앱패키지명</td></tr><tr><td>ver</td><td>string</td><td>MUST</td><td>앱버전</td></tr><tr><td>name</td><td>string</td><td>MUST</td><td>앱명</td></tr><tr><td>store_url</td><td>string</td><td>MUST</td><td>스토어url</td></tr><tr><td>content</td><td>object</td><td>SHOULD</td><td><a href="#content"><code>Content</code></a> CTV 동영상 연동 메타 정보</td></tr></tbody></table>

### Site

<table><thead><tr><th width="138">필드</th><th width="100">유형</th><th width="150">필수</th><th>설명</th></tr></thead><tbody><tr><td>domain</td><td>string</td><td>MUST</td><td>page domain</td></tr><tr><td>page_url</td><td>string</td><td>MUST</td><td>지면 url</td></tr><tr><td>content</td><td>obejct</td><td>SHOULD</td><td><a href="#content"><code>Content</code></a> CTV 동영상 연동 메타 정보</td></tr></tbody></table>

### AD

<table><thead><tr><th width="145">필드</th><th width="95">유형</th><th width="152">필수</th><th>설명</th></tr></thead><tbody><tr><td>section</td><td>integer</td><td>MUST</td><td>섹션번호 (광고솔루션에서 발급)</td></tr><tr><td>w</td><td>integer</td><td>MUST</td><td>광고영역 넓이</td></tr><tr><td>h</td><td>integer</td><td>MUST</td><td>광고영역 높이</td></tr><tr><td>assets</td><td>string</td><td>MUST<br>(Native 연동 시)</td><td><p>Native assets 상품 사용 시 필수</p><ul><li><p>IAB 가이드 참고</p><ul><li><a href="https://www.iab.com/wp-content/uploads/2018/03/OpenRTB-Native-Ads-Specification-Final-1.2.pdf"><code>native version: 1.2인 경우</code></a></li><li><a href="https://www.iab.com/wp-content/uploads/2016/03/OpenRTB-Native-Ads-Specification-1-1_2016.pdf"><code>native version: 1.2 이하인 경우</code></a> </li></ul></li></ul></td></tr><tr><td>minduration</td><td>string</td><td>MUST<br>(Video 연동 시)</td><td>동영상 최소 시간 (초 단위로  입력)</td></tr><tr><td>maxduration</td><td>string</td><td>MUST<br>(Video 연동 시)</td><td>동영상 최대 시간 (초 단위로  입력)</td></tr></tbody></table>

### User

<table><thead><tr><th width="146">필드</th><th width="99">유형</th><th width="110">필수</th><th>설명</th></tr></thead><tbody><tr><td>age_level</td><td>integer</td><td>MUST</td><td>나이 레벨<br>0: 어린이(만 13세 미만)<br>1: 성인 청소년(만 13세 이상)<br>-1: 알 수 없음</td></tr></tbody></table>

### **Content**

**CTV 동영상 상품에 대한 광고 요청시 필요한 정보**

<table><thead><tr><th width="147">필드</th><th width="104">유형</th><th width="110">필수</th><th>설명</th></tr></thead><tbody><tr><td>id</td><td>string</td><td>MUST</td><td>프로그램 ID</td></tr><tr><td>title</td><td>string</td><td>SHOULD</td><td>프로그램 명</td></tr><tr><td>episode</td><td>interger</td><td>SHOULD</td><td>에피소드 번호</td></tr><tr><td>genre</td><td>string</td><td>SHOULD</td><td>프로그램 장르</td></tr><tr><td>channel</td><td>object</td><td>MUST</td><td><a href="#channel"><code>Channel</code></a> CTV 동영상 연동 채널 정보</td></tr></tbody></table>

### **Channel**

**CTV 동영상 상품에 대한 광고 요청시 필요한 정보**

<table><thead><tr><th width="147">필드</th><th width="105">유형</th><th width="112">필수</th><th>설명</th></tr></thead><tbody><tr><td>id</td><td>string</td><td>MUST</td><td>채널 ID</td></tr><tr><td>name</td><td>string</td><td>SHOULD</td><td>채널 명</td></tr></tbody></table>

### **Request 예제**

<http://ssp.mman.kr/ssp.mezzo/?pub={pub}&media={media}&section={section}&used_type=api>

```json
{
    "device": {
        "adid": "52e49a4b-e10f-497d-96ac-af561abd0339",
        "sid": "4a34bafc-6aa2-4c51-8d32-099376261a41",
        "puid": "c1a380fc-42f5-4751-9393-52ec57533bf0",
        "os_type": 3,
        "os_name": "Android",
        "os_ver": "12",
        "manufacturer": "samsung",
        "model": "SM-G977N",
        "carrier": "-",
        "w": 1080,
        "h": 2050,
        "densty": "420",
        "orientation": 1,
        "language": "ko",
        "ua":"Mozilla/5.0 (Linux; Android 13; SM-S908N Build/TP1A.220624.014; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/116.0.0.0 Mobile Safari/537.36",
        "ip":"11.111.111.11"
    },
    "geo": {
        "country": "KOR"
    },
    -- app 지면은 app object, web 지면은 site object
    "app": {
        "id": "com.mezzomedia.adman.app",
        "ver": "1.0",
        "name": "이것이 테스트",
        "store_url": "https://play.google.com/store/apps/details?id=com.mz.mezzomediaapp"
        -- CTV 동영상 상품 추가필드--
        "content" : { 
            "id": "1",
            "title": "1 program",
            "episode": 1,
            "genre": "pop",
            "channel": {
                "id": "2",
                "nmae": "2 channel"
            }
        }
    },
    "ad": { 
        "section": 12345,
        "w": 1080,
        "h": 131
    },
    "user": {
        "age_level": 1
    },
    "ext": {}
}
```

## Response

TARGETPICK 는 아래 정의된 JSON 객체를 응답합니다.

### Response

| 필드      | 유형           | 필수   | 설명                                      |
| ------- | ------------ | ---- | --------------------------------------- |
| id      | string       | MAY  | 광고고유아이디                                 |
| cur     | string       | MAY  | 통화 “KRW”                                |
| seatbid | object array | MUST | [`seatbid object`](#seatbid-object)  참고 |
| ext     | object       | MAY  | 확장영역(미사용)                               |

### **Seatbid object**

| 필드   | 유형           | 필수   | 설명                              |
| ---- | ------------ | ---- | ------------------------------- |
| bid  | object array | MUST | [`bid object`](#bid-object)  참고 |
| seat | string       | MAY  | mezzomedia                      |
| ext  | object       | MAY  | 확장영역(미사용)                       |

### Bid object

<table><thead><tr><th width="100">필드</th><th width="100">유형</th><th width="100">필수</th><th>설명</th></tr></thead><tbody><tr><td>id</td><td>string</td><td>MAY</td><td>광고 고유 아이디</td></tr><tr><td>impid</td><td>string</td><td>MAY</td><td>광고 고유 아이디</td></tr><tr><td>cid</td><td>string</td><td>MAY</td><td>캠페인 넘버</td></tr><tr><td>crid</td><td>string</td><td>MAY</td><td>소재 아이디</td></tr><tr><td>adm</td><td>string</td><td>MUST</td><td><ol><li><p>배너</p><ul><li>product_attr: 1, 2, 6, 7, 8, 12</li><li>html을 웹뷰에 처리</li></ul></li><li><p>비디오(VAST)</p><ul><li>product_attr: 4 </li><li><a href="/pages/XzHYJx1Z1x2WvNRQqQ99"><code>비디오가이드</code></a> 참고</li></ul></li><li><p>네이티브 </p><ul><li>product_attr: 10, product_no: 67</li><li>adm 내부 string을 json 변형 후<br>ext>privacy>icon은 아이콘으로 처리, ext>privacy>click은 아이콘 클릭 처리 필요</li><li><p>IAB 가이드 참고</p><ul><li><a href="https://www.iab.com/wp-content/uploads/2018/03/OpenRTB-Native-Ads-Specification-Final-1.2.pdf"><code>native version: 1.2인 경우</code></a></li><li><a href="https://www.iab.com/wp-content/uploads/2016/03/OpenRTB-Native-Ads-Specification-1-1_2016.pdf"><code>native version: 1.2 이하인 경우</code></a> </li></ul></li></ul></li></ol></td></tr><tr><td>price</td><td>float</td><td>MAY</td><td>단가</td></tr><tr><td>w</td><td>integer</td><td>MAY</td><td>소재 넓이</td></tr><tr><td>h</td><td>integer</td><td>MAY</td><td>소재 높이</td></tr><tr><td>ext</td><td>object</td><td>MUST</td><td>확장영역</td></tr></tbody></table>

### Bid object > Ext

<table><thead><tr><th width="187">필드</th><th width="123">유형</th><th width="100">필수</th><th>설명</th></tr></thead><tbody><tr><td>ad_type</td><td>integer</td><td>MAY</td><td>과금 형태</td></tr><tr><td>bg_color</td><td>string</td><td>MAY</td><td>백그라운드 색상</td></tr><tr><td>close_location</td><td>integer</td><td>MAY</td><td>close btn위치</td></tr><tr><td>end_datetime</td><td>integer</td><td>MAY</td><td>소재 허용 시간</td></tr><tr><td>eventtrackers</td><td>object</td><td>MAY</td><td><a href="#eventtrackers-object"><code>eventtrackers object</code></a> 참고</td></tr><tr><td>logo_location</td><td>integer</td><td>MAY</td><td>logo 위치</td></tr><tr><td>product_attr</td><td>integer</td><td>MAY</td><td>상품 중 분류</td></tr><tr><td>product_no</td><td>integer</td><td>MAY</td><td>상품 소 분류</td></tr><tr><td>response_time</td><td>integer</td><td>MAY</td><td>응답 후 랜더링 타임아웃 시간</td></tr><tr><td>viewability</td><td>object</td><td>SHOULD</td><td>viewability object 참고</td></tr></tbody></table>

### Eventtrackers object

<table><thead><tr><th width="176">필드</th><th width="159">유형</th><th width="73">필수</th><th>설명</th></tr></thead><tbody><tr><td>event</td><td>integer</td><td>MAY</td><td><p>1 노출: 노출 시 포함된 url 호출 필요</p><p>5 클릭(랜딩 페이지): 별도 작업 불필요</p><p>6 클릭: 클릭 시 포함된 url 호출 필요</p></td></tr><tr><td>method</td><td>integer</td><td>MAY</td><td>1: img tag<br>2: js</td></tr><tr><td>url</td><td>string</td><td>MAY</td><td>트래킹</td></tr></tbody></table>

{% hint style="info" %}
event 필드가  없거나 한 개 또는 복수 개 (1+5, 1+6)로 응답할 수 있습니다.

* event가 없음: adm으로 모든 노출/클릭 처리가  가능한 경우에는 해당 값이 없습니다.
* "event": 1: 외부 DSP 중 nurl, burl만 사용하여 imptracking 발생하지 않을 경우 전달합니다. 광고 노출 시 eventtrackers > url을 처리해야 하며,  미발생 시 노출 집계되지 않습니다.
* "event": 5: html 내부에 clicktracking 포함되어 있어 별도의 처리없이도 클릭 집계됩니다.
* "event": 6: 외부 DSP 중 html 내 clicktracking 포함하지 않을 경우 전달됩니다. 클릭 발생 시 eventtrackers > url을 처리해야 하며,  발생하지 않을 경우 클릭 집계되지 않습니다.
  {% endhint %}

### **Viewability object**

| 필드         | 유형      | 필수     | 설명    |
| ---------- | ------- | ------ | ----- |
| impression | string  | SHOULD | 트래킹   |
| time       | integer | SHOULD | 노출 시간 |

{% hint style="info" %}
Viewability 내 impression은 노출 트래킹과 별개이며 time에 맞추어 처리하면 됩니다.
{% endhint %}

### **Response 예제 (JSON)**

```json

{
    "id": "1dfe1833-fdfe-4639-a04e-7ff29f9a4b8d$1233855558",
    "seatbid": [
        {
            "bid": [
                {
                    "id": "",
                    "impid": "",
                    "price": 0,
                    "adm": "...",
                    "cid": "21281",
                    "crid": "5379_12350",
                    "w": 1920,
                    "h": 1080,
                    "ext": {
                        "ad_type": 4,
                        "bg_color": "#ffffff",
                        "close_location": 0,
                        "end_datetime": 1753973999,
                        "eventtrackers": [],
                        "logo_location": 0,
                        "mobileweb_type": 0,
                        "product_attr": 4,
                        "product_no": 4,
                        "response_time": 0,
                        "rotatetime": 0,
                        "viewability": {
                            "impression": "",
                            "time": 2000
                        }
                    }
                }
            ],
            "seat": "mezzomedia",
            "ext": { 
            //미사용(응답문에 포함은 되나, API 사용 시 무시)
                "verification": [
                    {
                        "javascriptresource": {
                            "apiframework": "omid",
                            "url": "https://s3-us-west-2.amazonaws.com/omsdk-files/compliance-js/omid-validation-verification-script-v1.js"
                        },
                        "vendor": "iabtechlab.com-omid",
                        "verificationparameters": "iabtechlab-mezzomedia"
                    }
                ]
            }
        }
    ],
    "cur": "KRW",
    "ext": {
    //미사용(응답문에 포함은 되나, API 사용 시 무시)
        "verification": [
            {
                "javascriptresource": {
                    "apiframework": "omid",
                    "url": "https://s3-us-west-2.amazonaws.com/omsdk-files/compliance-js/omid-validation-verification-script-v1.js"
                },
                "vendor": "iabtechlab.com-omid",
                "verificationparameters": "iabtechlab-mezzomedia"
            }
        ]
    }
}
```

## 코드 정의

### **광고코드**

<table><thead><tr><th width="157">필드</th><th width="185.79998779296875">코드</th><th>설명</th></tr></thead><tbody><tr><td>product_attr</td><td>1&#x3C;br>2&#x3C;br>4&#x3C;br>6&#x3C;br>7&#x3C;br>8&#x3C;br>10&#x3C;br>12</td><td>띠배너<br>전면/종료배너<br>동영상<br>정사각형 및 직사각형<br>스카이스크래퍼<br>리더보드<br>Native<br>Splash</td></tr><tr><td>product_no</td><td>112<br>111<br>110<br>109<br>108<br>107<br>106<br>101<br>100<br>98<br>97<br>96<br>93<br>92<br>91<br>90<br>89<br>88<br>87<br>86<br>85<br>84<br>83<br>82<br>81<br>79<br>78<br>77<br>76<br>75<br>73<br>71<br>71<br>71<br>70<br>70<br>70<br>69<br>69<br>68<br>68<br>67<br>65<br>64<br>63<br>62<br>61<br>60<br>55<br>54<br>52<br>51<br>49<br>48<br>47<br>45<br>44<br>41<br>40<br>39<br>38<br>37<br>36<br>35<br>34<br>33<br>32<br>31<br>30<br>19<br>14<br>10<br>9<br>4<br>1</td><td>카카오 비즈보드<br>세로 전면동영상<br>직사각형_스플래시_300x250<br>동영상_CTV_60<br>동영상_CTV_30<br>비즈보드_1029x258<br>세로 동영상(PlanB)<br>배너_720*1280<br>스플래시<br>디데이_카운트다운_배너_320x50<br>디데이_카운트다운_배너_320x100<br>디데이_카운트다운_전면배너_640x960<br>세로 범퍼 동영상<br>카운트다운_배너_320x50<br>카운트다운_배너_320x100<br>카운트다운_전면배너_640x960<br>Native_외부판매용(CPM)_640x960_이미지<br>Native_외부판매용(CPM)_300x250_이미지<br>Native_외부판매용(CPM)_320x50_이미지<br>저단가판매용(CPC)_300x250<br>저단가판매용(CPC)_640x960<br>저단가판매용(CPC)_320x100<br>저단가판매용(CPC)_320x50<br>Native_직사각형_동영상<br>Native_직사각형_이미지<br>외부판매용(CPM)_300x250<br>외부판매용(CPM)_640x960<br>외부판매용(CPM)_320x100<br>외부판매용(CPM)_320x50<br>동영상(PlanB)<br>TVING 동영상<br>Native_띠배너_동영상<br>Native_띠배너_동영상<br>Native_띠배너_동영상<br>Native_띠배너_이미지<br>Native_띠배너_이미지<br>Native_띠배너_이미지<br>Native_전면배너_동영상<br>Native_전면배너_동영상<br>Native_전면배너_이미지<br>Native_전면배너_이미지<br>Native_assets<br>app promo video(동영상)<br>interstitial video(동영상,설명)<br>Image C(이미지,타이틀,CTA)<br>Image B(이미지,타이틀)<br>Image A(이미지)<br>App Promo Icon(아이콘,타이틀)<br>빌보드_970x250<br>큰리더보드_970x90<br>리더보드배너_728x90<br>리더보드배너_468x60<br>반페이지광고_300x600<br>와이드스카이스크래퍼_160x600<br>스카이스크래퍼_120x600<br>큰직사각형_336x280<br>인라인직사각형_300x250<br>사각형_250x250<br>작은정사각형_200x200<br>전면배너_768x1024<br>전면배너_1024x768<br>전면배너_480x320<br>전면배너_320x480<br>띠배너_728x90<br>띠배너_468x60<br>띠배너_300x50<br>세로 동영상<br>범퍼 동영상<br>전면동영상<br>종료배너_640x960<br>전면배너_640x960<br>CJ EnM 동영상<br>띠배너_320x100<br>동영상<br>띠배너_320x50</td></tr><tr><td></td><td></td><td></td></tr><tr><td>network_type</td><td><a href="#network_type-code"><code>network_index</code></a> <br>코드정의를 참고하세요.</td><td>네트워크 타입</td></tr><tr><td>orientation</td><td>1<br>2</td><td>세로<br>가로</td></tr><tr><td>mcc / mnc</td><td>USIM 국가/통신사 코드</td><td>USIM 국가/통신사 코드</td></tr><tr><td>os_type</td><td><p>1</p><p>2<br>3</p></td><td><p>PC</p><p>iOS<br>Android</p></td></tr><tr><td>gender</td><td>2<br>3</td><td>남성<br>여성</td></tr><tr><td>ad_type</td><td>1<br>2<br>3<br>4<br>5<br>6</td><td>보장형<br>경매형<br>비과금<br>하우스<br>리워드<br>기간제</td></tr></tbody></table>

### **Network\_type code**

| Code                                  | Android                       | iOS |
| ------------------------------------- | ----------------------------- | --- |
| Unknown                               | 0                             | 0   |
| Internet                              | 1                             | 1   |
| WIFI                                  | 2                             | 2   |
| Cellular Network - 2G                 | 4, 7, 11                      | 4   |
| Cellular Network - 3G                 | 3, 5, 6, 8, 9, 10, 12, 14, 15 | 5   |
| Cellular Network - 4G                 | 13                            | 6   |
| Cellular Network - 5G                 | 20                            | 7   |
| Cellular Network - Unknown Generation | 0                             | 3   |
