본문으로 건너뛰기

loplat X 연동

SDK와 함께 loplat X 기능을 이용하기 위한 연동 작업을 안내합니다.

"loplat X를 사용하기 위해서는 등록이 필요합니다."

미등록 시 서비스 이용에 제한이 발생할 수 있습니다. 자세한 사항은 business@loplat.com 으로 문의해 주세요.

loplat X에서 구성한 캠페인을 조건에 맞는 사용자에게 노출할 수 있습니다.

사용하는 서비스 및 앱 시나리오에 따라 아래 가이드를 참조하여 통합을 진행합니다.

loplat X를 통해 캠페인 매칭 결과를 받기 위해선 사용자의 마케팅 약관 동의 여부 및 앱의 시나리오에 따라 loplat X를 활성화/비활성화하여야 합니다.

정보

캠페인 매칭 결과의 구조 및 의미에 대한 상세한 설명은 "테스트"의 loplat X 연동 테스트에서 확인할 수 있습니다.


loplat X 활성화

사용자가 마케팅 약관에 동의하면 enableAdNetwork(true)를 호출하도록 구현해 주세요.

Plengi.enableAdNetwork(true, enableNoti: true)
SDK에서 캠페인 매칭 결과를 처리하는 방식에 따라 함수에 전달하는 파라미터의 값이 다릅니다.

enableNoti : 캠페인 정보의 처리 대상에 따라 true, false를 전달합니다.

  • true/YES : SDK에서 캠페인 정보를 처리하여 Local Noti로 사용자에게 노출합니다.
  • false/NO : SDK는 캠페인 정보를 오직 전달만 하며, 고객사 자체 메시지 발송 시스템을 통해 사용자에게 노출합니다.

자체 메시지 발송 시스템을 활용한 알림을 사용할 경우, Advertisement 필드를 이용해 직접 알림을 생성해 주세요.


loplat X 비활성화

사용자가 마케팅 동의를 철회하면 enableAdNetwork(false)를 호출하도록 구현해 주세요.

Plengi.enableAdNetwork(false, enableNoti: false)

loplat X 알림 수신 설정

앱의 시나리오에 따라 사용자에게 알림 권한을 요청해 주세요.

정보

enableNoti가 true인 경우, 사용자에게 캠페인 정보를 노출하기 위해서 알림 권한이 필요합니다.


수신 관련 설정

코드의 역할에 대한 설명 이후 적용 코드 예시를 확인할 수 있습니다.

UNUserNotificationCenter.current().delegate = self

  • 알림에 대한 설정 및 액션을 이벤트로 수신하기 위해 호출합니다.

Plengi.processLoplatAdvertisement(_:didReceive:withCompletionHandler:)

  • SDK가 사용자의 알림에 대한 액션(Click, Dismiss)을 트래킹하는 코드입니다.
  • loplat X에서 캠페인에 대한 사용자의 응답 관련 통계를 제공하기 위해서 필요합니다.
"Plengi.processLoplatAdvertisement 함수를 반드시 추가해 주세요"

해당 함수가 누락되면, loplat X를 통해 진행한 캠페인에 대한 통계 정보를 제공받을 수 없습니다.

userNotificationCenter(_:willPresent:)

  • 사용자가 앱을 사용 중일 때도 Notification을 노출하기 위해 정의되어야 하는 UNUserNotificationCenterDelegate 함수입니다.

적용 코드 예시

func application(
_ application: UIApplication,
didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey : Any]? = nil
) -> Bool {
...

UNUserNotificationCenter.current().delegate = self

...
}

extension AppDelegate: UNUserNotificationCenterDelegate {
func userNotificationCenter(
_ center: UNUserNotificationCenter,
didReceive response: UNNotificationResponse,
withCompletionHandler completionHandler: @escaping () -> Void
) {
...

// loplat SDK가 사용자의 알림에 대한 액션(Click, Dismiss)을 트래킹하기 위한 코드
Plengi.processLoplatAdvertisement(
center,
didReceive: response,
withCompletionHandler: completionHandler)
}

// Foreground에서 알림을 노출할 수 있도록 하는 코드
func userNotificationCenter(
_ center: UNUserNotificationCenter,
willPresent notification: UNNotification,
withCompletionHandler completionHandler: @escaping (
UNNotificationPresentationOptions
) -> Void
) {
...

// 가이드에는 뱃지, 소리, 경고를 사용하지만, 앱의 시나리오에 따라 빼도 상관없습니다.
completionHandler([.alert, .sound, .badge])
}
}

요청

SDK는 알림 권한을 위한 함수를 제공하지 않습니다.

Apple의 API를 이용하여 앱에서 직접 권한을 요청하여 주세요.

func requestIDFA() {
DispatchQueue.main.async {
UNUserNotificationCenter.current().requestAuthorization(options: [.badge, .alert, .sound]) { _, _ in
// 앱 시나리오에 따른 코드를 작성해 주세요.
}
}
}

추가 기능

loplat X는 사용자에게 캠페인 정보 전달 채널을 추가로 지원하고 있습니다.

각 채널을 통합하기 위한 가이드는 아래의 문서를 확인해 주세요.


일반 메시지 (FCM)

일반 캠페인 연동 가이드


Braze

Braze SDK 연동 가이드