Skip to content

ContactsViralSuccessEvent

연락처 공유 모듈이 정상적으로 종료됐을 때 전달되는 이벤트 객체예요. 종료 이유와 함께 리워드 상태 및 남은 친구 수 등 관련 정보를 제공해요.

시그니처

ts
type ContactsViralSuccessEvent = {
  type: 'close';
  data: {
    closeReason: 'clickBackButton' | 'noReward';
    sentRewardAmount?: number;
    sendableRewardsCount?: number;
    sentRewardsCount: number;
    rewardUnit?: string;
  };
};

프로퍼티

  • type필수

    이벤트의 타입이에요. 공유 모듈이 종료되었을 때 close 값을 갖고 돌아와요.

  • data필수

    모듈 종료와 관련된 세부 정보를 담고 있어요.

    • data.closeReason필수

      모듈이 종료된 이유예요.
      clickBackButton: 사용자가 뒤로 가기 버튼을 눌러 종료한 경우
      noReward: 받을 수 있는 리워드가 없어서 종료된 경우

    • data.sentRewardAmount

      사용자가 받은 전체 리워드 수량이에요. 선택적으로 전달돼요.

    • data.sendableRewardsCount

      아직 공유할 수 있는 친구 수예요. 선택적으로 전달돼요.

    • data.sentRewardsCount필수

      사용자가 공유를 완료한 친구 수예요.

    • data.rewardUnit

      리워드의 단위예요. 앱인토스 콘솔에 설정된 하트, 보석 같은 이름이 들어가요. 선택적으로 전달돼요.

예제

모듈 종료 이벤트 처리하기

ts
contactsViral({
  options: { moduleId: 'your-module-id' },
  onEvent: (event) => {
    if (event.type === 'close') {
      console.log('종료 사유:', event.data.closeReason);
      console.log('공유 완료한 친구 수:', event.data.sentRewardsCount);
    }
  },
  onError: (error) => {
    console.error('에러 발생:', error);
  },
});