CRM 속성

CRM 속성은 핵클 서버에만 안전하게 저장되며 SDK를 통해 값을 직접 조회할 수는 없습니다.

❗️

CRM 속성은 별도로 관리되며, resetUser()를 호출하거나 updateUserProperties에서 clearAll을 호출해도 삭제되거나 초기화되지 않습니다.

사용자가 회원 탈퇴 등을 한 경우, 반드시 별도로 제공되는 함수를 호출하여 정보를 삭제해야 합니다.

전화번호 수집

Java/Kotlin SDK에서는 전화번호 수집 기능을 제공하지 않습니다.

HTTP API의 사용자 휴대폰 번호 속성 업데이트사용자 휴대폰 번호 속성 삭제를 참고해주세요.

CRM 마케팅 메시지 수신 동의

📘

지원 SDK 버전

Java SDK 2.29.0 버전 이상

📘

수신 동의 상태에 대한 자세한 내용은 CRM 메시지 수신 동의 관리 문서를 참고해주세요.

수신 동의 속성

메시지 목적 별로 수신 동의/거부를 할 수 있습니다.

HackleSubscriptionOperations.Builder를 사용해 원하는 속성의 동의 상태를 설정한 후, updatePushSubscriptions() 같은 메서드로 최종 업데이트를 진행합니다.

메시지 채널 별로 동의 상태를 업데이트할 수 있습니다.

import io.hackle.sdk.common.subscription.HackleSubscriptionOperations
import io.hackle.sdk.common.subscription.HackleSubscriptionStatus

User user = User.builder(userId)
    .build();

HackleSubscriptionOperations subscriptions = HackleSubscriptionOperations.builder()
    .marketing(HackleSubscriptionStatus.SUBSCRIBED)
    .information(HackleSubscriptionStatus.SUBSCRIBED) 
    .build()
  
hackle.app.updatePushSubscriptions(subscriptions, user)
import io.hackle.sdk.common.subscription.HackleSubscriptionOperations
import io.hackle.sdk.common.subscription.HackleSubscriptionStatus

val user = User.builder(userId)
    .build();

val subscriptions = HackleSubscriptionOperations.builder()
    .marketing(HackleSubscriptionStatus.SUBSCRIBED)
    .information(HackleSubscriptionStatus.SUBSCRIBED) 
    .build()
  
hackle.app.updatePushSubscriptions(subscriptions, user)

광고성 메시지

광고성 메시지 수신 동의 속성을 설정합니다.

import io.hackle.sdk.common.subscription.HackleSubscriptionOperations
import io.hackle.sdk.common.subscription.HackleSubscriptionStatus

User user = User.builder(userId)
    .build();

HackleSubscriptionOperations subscriptions = HackleSubscriptionOperations.builder()
    .marketing(HackleSubscriptionStatus.SUBSCRIBED)
    .build()
  
hackle.app.updatePushSubscriptions(subscriptions, user)
import io.hackle.sdk.common.subscription.HackleSubscriptionOperations
import io.hackle.sdk.common.subscription.HackleSubscriptionStatus

val user = User.builder(userId)
    .build();

val subscriptions = HackleSubscriptionOperations.builder()
    .marketing(HackleSubscriptionStatus.SUBSCRIBED)
    .build()
  
hackle.app.updatePushSubscriptions(subscriptions, user)

정보성 메시지

정보성 메시지 수신 동의 속성을 설정합니다.

import io.hackle.sdk.common.subscription.HackleSubscriptionOperations
import io.hackle.sdk.common.subscription.HackleSubscriptionStatus

User user = User.builder(userId)
    .build();

HackleSubscriptionOperations subscriptions = HackleSubscriptionOperations.builder()
    .information(HackleSubscriptionStatus.SUBSCRIBED) 
    .build()
  
hackle.app.updatePushSubscriptions(subscriptions, user)
import io.hackle.sdk.common.subscription.HackleSubscriptionOperations
import io.hackle.sdk.common.subscription.HackleSubscriptionStatus

val user = User.builder(userId)
    .build();

val subscriptions = HackleSubscriptionOperations.builder()
    .information(HackleSubscriptionStatus.SUBSCRIBED) 
    .build()
  
hackle.app.updatePushSubscriptions(subscriptions, user)

HackleSubscriptionStatus

HackleSubscriptionStatus설명비고
UNKNOWN수신 동의/거부를 하지 않음defualt
SUBSCRIPTION명시적으로 수신 동의
UNSUBSCRIPTION명시적으로 수신 거부

푸시 수신 동의 상태 업데이트

사용자의 푸시 메시지 수신 동의 상태를 업데이트 합니다.

import io.hackle.sdk.common.subscription.HackleSubscriptionOperations
import io.hackle.sdk.common.subscription.HackleSubscriptionStatus

User user = User.builder(userId)
    .build();

HackleSubscriptionOperations subscriptions = HackleSubscriptionOperations.builder()
    .marketing(HackleSubscriptionStatus.SUBSCRIBED)
    .information(HackleSubscriptionStatus.SUBSCRIBED) 
    .build()
  
hackle.app.updatePushSubscriptions(subscriptions, user)
import io.hackle.sdk.common.subscription.HackleSubscriptionOperations
import io.hackle.sdk.common.subscription.HackleSubscriptionStatus

val user = User.builder(userId)
    .build();

val subscriptions = HackleSubscriptionOperations.builder()
    .marketing(HackleSubscriptionStatus.SUBSCRIBED)
    .information(HackleSubscriptionStatus.SUBSCRIBED) 
    .build()
  
hackle.app.updatePushSubscriptions(subscriptions, user)

카카오 메시지 수신 동의 상태 업데이트

사용자의 카카오 메시지 수신 동의 상태를 업데이트 합니다.

import io.hackle.sdk.common.subscription.HackleSubscriptionOperations
import io.hackle.sdk.common.subscription.HackleSubscriptionStatus

User user = User.builder(userId)
    .build();

HackleSubscriptionOperations subscriptions = HackleSubscriptionOperations.builder()
    .marketing(HackleSubscriptionStatus.SUBSCRIBED)
    .information(HackleSubscriptionStatus.SUBSCRIBED) 
    .build()
  
hackle.app.updateKakaoSubscriptions(subscriptions, user)
import io.hackle.sdk.common.subscription.HackleSubscriptionOperations
import io.hackle.sdk.common.subscription.HackleSubscriptionStatus

val user = User.builder(userId)
    .build();

val subscriptions = HackleSubscriptionOperations.builder()
    .marketing(HackleSubscriptionStatus.SUBSCRIBED)
    .information(HackleSubscriptionStatus.SUBSCRIBED) 
    .build()
  
hackle.app.updateKakaoSubscriptions(subscriptions, user)

문자 메시지 수신 동의 상태 업데이트

사용자의 문자 메시지 수신 동의 상태를 업데이트 합니다.

import io.hackle.sdk.common.subscription.HackleSubscriptionOperations
import io.hackle.sdk.common.subscription.HackleSubscriptionStatus

User user = User.builder(userId)
    .build();

HackleSubscriptionOperations subscriptions = HackleSubscriptionOperations.builder()
    .marketing(HackleSubscriptionStatus.SUBSCRIBED)
    .information(HackleSubscriptionStatus.SUBSCRIBED) 
    .build()
  
hackle.app.updateSmsSubscriptions(subscriptions, user)
import io.hackle.sdk.common.subscription.HackleSubscriptionOperations
import io.hackle.sdk.common.subscription.HackleSubscriptionStatus

val user = User.builder(userId)
    .build();

val subscriptions = HackleSubscriptionOperations.builder()
    .marketing(HackleSubscriptionStatus.SUBSCRIBED)
    .information(HackleSubscriptionStatus.SUBSCRIBED) 
    .build()
  
hackle.app.updateSmsSubscriptions(subscriptions, user)