# IOS Push 테스트

## 사전 작업 <a href="#pre-work" id="pre-work"></a>

이 문서는 iOS SDK 연동 완료 이후 푸시 발송을 테스트하기 위한 방법을 가이드합니다. 아래 문서의 사전 작업을 완료 후 진행해주세요.

{% content-ref url="../../sdk-integrating/initialize/ios-sdk" %}
[ios-sdk](https://docs.marketap.io/t3ZS4WXNMj0HK27EtIMV/developer/sdk-integrating/initialize/ios-sdk)
{% endcontent-ref %}

{% content-ref url="" %}
[](https://docs.marketap.io/t3ZS4WXNMj0HK27EtIMV/developer/push-notification/test)
{% endcontent-ref %}

수신 및 집계를 정확히 확인하기 위해 로그 레벨을  `debug` 로 설정해주세요.

<pre class="language-swift"><code class="lang-swift">func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey : Any]? = nil) -> Bool {
    // ...
<strong>    Marketap.setLogLevel(.debug)
</strong>    Marketap.initialize(projectId: "kx43pz7")
    // ...
}
</code></pre>

설정 후 앱 실행 시, xcode 콘솔에서 다음과 같은 메시지를 확인할 수 있습니다. 아래 예시의 토큰`fbe1ce8f2b488a95162cf7270d5559480c95bde2ffdf53d40e489e9c285a895d`을 복사해두겠습니다.

```objectivec
[MarketapCore+Event.swift:13] setPushToken: fbe1ce8f2b488a95162cf7270d5559480c95bde2ffdf53d40e489e9c285a895d
```

## 1. 테스트 발송하기

&#x20;[#id-5](https://docs.marketap.io/t3ZS4WXNMj0HK27EtIMV/developer/push-notification/test/..#id-5 "mention") 에서 설정한 캠페인 창으로 진입해서 하단의  `테스트 발송하기` 버튼을 클릭합니다.

<figure><img src="https://content.gitbook.com/content/TQoY0rYrzNUQxhlUfYFm/blobs/krBkO2l4MykeMy6X8z6Y/%E1%84%89%E1%85%B3%E1%84%8F%E1%85%B3%E1%84%85%E1%85%B5%E1%86%AB%E1%84%89%E1%85%A3%E1%86%BA%202025-07-03%20%E1%84%8B%E1%85%A9%E1%84%92%E1%85%AE%203.39.31.png" alt=""><figcaption></figcaption></figure>

플랫폼 iOS를 선택하고 위에서 복사한 토큰을 입력한 뒤 발송하기를 클릭합니다. 로그 확인을 위해 xcode 디버거를 연결한 채로 진행해주세요.&#x20;

<figure><img src="https://content.gitbook.com/content/TQoY0rYrzNUQxhlUfYFm/blobs/OSQlDdnnKHiX4W6x80lf/%E1%84%89%E1%85%B3%E1%84%8F%E1%85%B3%E1%84%85%E1%85%B5%E1%86%AB%E1%84%89%E1%85%A3%E1%86%BA%202025-07-03%20%E1%84%8B%E1%85%A9%E1%84%92%E1%85%AE%203.42.09.png" alt=""><figcaption></figcaption></figure>

디바이스에서 푸시가 정상 수신되는지 확인해주세요. [#id-3](#id-3 "mention") 으로 이동해서 연동을 추가로 확인해주세요.

{% hint style="success" %}
테스트 발송하기는 타겟에 상관없이 테스트할 수 있습니다.
{% endhint %}

## 2. 캠페인 수신 확인

[#id-2](https://docs.marketap.io/t3ZS4WXNMj0HK27EtIMV/developer/push-notification/test/..#id-2 "mention") 에서 설정한 트리거 이벤트인 `홈 화면 조회` 를 찍도록 이벤트를 추가하고 테스트 유저 설정 후 캠페인이 트리거 되는지 확인해보겠습니다.

테스트 유저 설정에 대한 자세한 내용은 아래 문서를 확인해주세요.

{% content-ref url="<https://app.gitbook.com/s/yROeODSgPulCgZ9LFAYn/campaign/common/test>" %}
[테스트 발송 및 유저 설정](https://app.gitbook.com/s/yROeODSgPulCgZ9LFAYn/campaign/common/test)
{% endcontent-ref %}

코드의 적당한 위치에 홈 화면 조회(`mkt_home_view`) 이벤트를 추가합니다. 앱 실행, **로그인** 후 해당 코드가 실행되면 캠페인이 트리거되어야 합니다.&#x20;

<pre class="language-swift"><code class="lang-swift">override func viewDidAppear(_ animated: Bool) {
    super.viewDidAppear(animated)

<strong>    Marketap.track(eventName: "mkt_home_view")
</strong>}
</code></pre>

디바이스에서 푸시가 정상 수신되는지 확인해주세요. [#id-3](#id-3 "mention") 으로 이동해서 연동을 추가로 확인해주세요.

## 3. 로그 확인

푸시를 수신했을 때, 앱이 포어그라운드 상태였다면 xcode 콘솔에서 다음 로그가 출력되어야 합니다. (백그라운드 상태라면 출력되지 않습니다.)

```objectivec
[MarketapCore+Notification.swift:113] willPresent: ... // willPresent 메소드 정상 연동 확인
```

{% hint style="success" %}
푸시 임프레션은 NotificationServiceExtension이 처리하기 때문에 메인 앱 타겟에서 로그가 출력되지 않습니다.
{% endhint %}

푸시를 클릭해서 설정한 링크로 정상 랜딩되는지 확인해주세요. xcode 콘솔에 다음 로그가 출력됩니다.

```objectivec
[MarketapCore+Notification.swift:57] didReceive: ... // didReceive 메소드 정상 연동 확인
[MarketapCore+Event.swift:34] track: mkt_click_message ... // 클릭 이벤트 추적 확인
```

## 4. 이어서 진행하기

이제 Push Notification 테스트가 완료되었습니다. 아래 문서에서 이어서 진행해주세요.

<table data-view="cards"><thead><tr><th></th><th data-hidden data-card-target data-type="content-ref"></th></tr></thead><tbody><tr><td>EVENT 및 USER 연동</td><td><a href="../../taxonomy/overview">overview</a></td></tr><tr><td>In-App Campaign 테스트</td><td><a href="../../in-app-message/in-app-campaign">in-app-campaign</a></td></tr><tr><td>심화 연동</td><td><a href="../../advanced-usage/overview">overview</a></td></tr></tbody></table>
