@blux.ai/react-native v0.1.13
Blux React Native SDK 행동데이터 연동 안내 문서
iOS 프로젝트 설정
(1) 앱 푸시 발송 권한 추가
앱 푸시 발송 권한을 추가합니다. Target의 Signing & Capabilities 으로 들어와 좌상단의 + Capacity > Push Notifications 를 선택하여 추가합니다.
(2) Notification Service Extension 생성
Xcode에서 File > New > Target 에서 Notification Service Extension을 선택합니다.
Product Name에 적절한 이름을 입력한 후 Finish를 눌러주세요. Language는 Swift를 권장드리고 있습니다.
다음과 같은 화면이 나오면 Cancel을 클릭하여 별도의 Scheme은 활성화하지 않도록 해주세요.
(3) Minimum Deployments 버전 설정
Notification Service Extension Target의 Minimum Deployments 버전을 현재 사용 중인 매인 앱의 Target 버전과 동일하게 설정해주세요.
(4) Podfile 수정
ios 디렉토리 내의 Podfile을 열고 다음과 같이 추가합니다.
// 파일 최하단의 아래 줄 추가
// 앞서 입력한 Extension의 Product Name을 target 이름으로 설정합니다.
target 'BluxNotificationServiceExtension' do
pod 'BluxClient'
end
이후 pod install을 실행하면 SDK 설치가 완료됩니다. 이후 XCode를 실행하여 생성한 Extension 파일을 수정합니다. 자동으로 채워진 코드들을 지우고 블럭스가 제공하는 클래스를 상속하도록 수정하시면 됩니다.
import BluxClient
class NotificationService: BluxNotificationServiceExtension {
}
Installation
npm or yarn
npm/yarn을 이용하여 blux의 react-native SDK를 설치해주세요.
// NPM 이용
npm install --save @blux.ai/react-native
// Yarn 이용
yarn add @blux.ai/react-native
CocoaPods
아래와 같은 명령어를 실행해주세요.
cd ios
pod install
Initialize
- 필요 변수 :
클라이언트 ID
,API 키
- setLogLevel 을 제외한 다른 모든 메소드는
initialize
로 SDK가 초기화 된 이후에 호출해야 합니다.
BluxClient.setLogLevel('debug');
BluxClient.initialize(
'{client_id}',
'{blux_api_key}',
true
}).then(()=> {
setInitialized(true)
});
setLogLevel : 연동 관련하여 디버깅을 하기 위해서 로깅을 활성화할 수 있습니다. 해당 설정은 정적이므로 BluxClient를 초기화하기 전에 호출하실 수 있습니다.
'debug'
'log'
'warning'
'error'
'fatal'
signIn
- 회원 유저에 대해서 부여하고 계시는 유저 ID를 넘겨주시면 됩니다.
- Blux 서비스에서 같은
UserId
를 가지는 유저는 같은 유저로 식별됩니다. - 비회원 유저에서 회원 유저로 식별되는 시점에 아래 함수를 호출해주세요.
- 회원 유저가 앱을 실행하는 시점 (자동 로그인이 되어 있는 경우)에도
initialize
메소드 호출 이후에 실행되어야 합니다.
BluxClient.signIn('USER ID');
signOut
- 유저가 서비스에서 로그아웃 한 경우 호출해주시면 됩니다.
- 유저들을 더 잘 식별하기위해 사용됩니다.
BluxClient.signOut();
sendEvent
상품 상세 페이지 진입
: 유저가 제품 상세보기 페이지에 들어가거나, 영상을 시청하는 등 클릭을 통해 어떠한 아이템에 대해 관심을 보이는 행동을 보일 때 사용 가능한 이벤트입니다.
BluxClient.sendEvent(
new AddProductDetailViewEvent({
itemId: 'ITEM_ID',
})
);
상품 좋아요
: 유저가 제품이나 영상 등에 좋아요를 누르거나, 찜을 해두는 등 적극적인 관심을 보이는 행동을 할 때 사용 가능한 이벤트입니다.
BluxClient.sendEvent(
new AddLikeEvent({
itemId: 'ITEM_ID',
})
);
상품 장바구니 담기
: 이커머스에서 유저가 제품을 장바구니에 담는 행동을 할 때 사용 가능한 이벤트입니다.
BluxClient.sendEvent(
new AddCartaddEvent({
itemId: 'ITEM_ID',
})
);
상품 구매
: 유저가 제품을 구매했을 때 사용 가능한 이벤트입니다. 추가 인풋으로 price
가 요구되며, 제품의 구매 당시 가격을 기록하면 됩니다.
- 동일 상품 복수 구매
- price 파라미터의 경우, 해당 상품 판매를 통한 총 매출을 계산할 때 활용됩니다. 추천에 의한 매출 기여액 지표를 보여드릴 때 사용되는 값으로 만약 5,000원짜리 상품을 5개 구매하였다면, 25,000 을 입력하시면 됩니다.
- 복수 상품 구매
AddPurchaseEvent
객체를 각 상품 구매건에 맞춰서 생성한 후 list 형태로 넘겨주시면 됩니다.
BluxClient.sendEvent(
new AddPurchaseEvent({
itemId: 'ITEM_ID',
price: 1000,
})
);
// 복수 상품을 구매한 경우
BluxClient.sendEvent([
new AddPurchaseEvent({
itemId: 'ITEM_ID_1',
price: 1000,
}),
new AddPurchaseEvent({
itemId: 'ITEM_ID_2',
price: 2000,
}),
]);