본문으로 건너뛰기

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 연동 가이드