고급 설정

사용자 ID 설정

아이언소스 보상형 광고 유닛에서 유저 보상을 위해 서버간 콜백을 사용하는 경우, setUserID 메서드를 사용하여 각 사용자 별로 고유 식별자 (UserID)를 정의해야 합니다.

사용자 관련 데이터 손실을 방지하기위해서는, UserID는 초기화 요청 이전에 설정해야 합니다. 최대 64 자리의 숫자 및 영문자로 이루어진 고유한 식별 ID를 사용해 주세요.

LevelPlay.setUserId("UserID");
Note: 모든 각 사용자들에게 고유한 UserID가 부여되도록 하기 위해서는 GAID / AAID를 UserID로 사용하면 안됩니다.

세그먼트 정의

아이언소스 SDK의 세그먼트 기능을 통해 특정 광고 시청자에 맞게 광고 제공방식을 쉽게 조정할 수 있습니다. 아이언소스 SDK가 사용자의 세그먼트를 분류하도록 하려면 레벨플레이 플랫폼 서버에 사용자들의 세부 정보를 전달하여야 합니다.

아이언소스 SDK에서는 사용자 구분을 위한 데이터 전송을 지원하기 위해 아래 세 가지 방식을 지원합니다:

  • 기기 속성 정보: 아이언소스 SDK는 위치, 기기 모델, 기기 제조사, 앱 버전, OS 등과 같은 사용자의 기기에 존재하는 표준 파라미터들을 자동으로 수집합니다. 해당 데이터들은 별도로 송신하지 않아도 됩니다. (위치의 경우 도시 수준의 위치까지만 수집)
  • 사용자 속성 정보: 생성일과 같은 포괄정 유저데이터(지원되는 전체 세그먼트 속성 및 설명 목록은 아래에 있는 항목을 참조)는 API를 통해서만 전달되어야 합니다. 아이언소스 SDK가 레벨플레이 플랫폼에서 정의된 세그먼트들에 기반해 다양한 사용자를 분류할 수 있도록 지침을 따라 유저 상세 정보를 보내주시면 됩니다.
  • 커스텀 세그먼트: 유저 상세 정보들을 레벨플레이 서버에 보내지 않고 직접 커스텀 세그먼트를 생성하고 그 설정에 맞게 광고 조정할 수 있습니다.
동적 세그먼트 구분 아이언소스 SDK 7.2.0 이상부터는 아이언소스 세그먼트 API로 세션 중에 세그먼트를 변경할 수 있습니다.
이렇게 변경된 사항은 변경 이후 로딩되는 광고부터 적용되며, 광고 워터월의 동적조정을 위해 각각의 광고 유닛 로딩 전에 호출할 수 있습니다.
아이언소스 세그먼트에 대한 자세한 설명은 여기를 참고 부탁 드립니다.

사용자 속성 정보 전달하기

세그먼트 사용을 위해서는 레벨플레이 플랫폼에서 세그먼트 정보 정의가 완료된 후, 아이언소스 서버로 사용자 특징 정보를 보내야 합니다.

세그먼트의 기반이 될 속성을 정의하고 아이언소스 서버로 전달합니다. 아래 중 한 가지 방법으로 이 정보들을 전송할 수 있습니다:

  1. 사용자가 속한 세그먼트가 이미 알고 있는 세그먼트라면 아래와 같이 세그먼트 명칭을 지정합니다:
    final segment = LevelPlaySegment();
    segment.name = name;
    LevelPlay.setSegment(segment)
  2. 유저 상세 정보를 전송합니다. 아이언소스는 API 상에서 사용자를 세그먼트로 분류하기 위해 설정할 수 있는 다양한 표준 사용자 속성을 제공합니다. 아래로 스크롤하여 지원되는 사용자 세그먼트 속성들을 확인하세요.
     final segment = LevelPlaySegment();
     segment.level = levelParam;
     segment.isPaying = isPayingParam;
     segment.userCreationDateInMillis = dateTimeParam;
     segment.iapTotal = iaptParam;
     
    // up to 5 cusom params
    segment.setCustom(key: 'CustomKey1', value: 'CustomVal1');
    
    // Set LevelPlay Segment
    LevelPlay.setSegment(segment);

지원되는 사용자 세그먼트의 속성

세그먼트 속성 타입 제약 설명
segmentName String
  • 영문자/숫자
  • 최대 32자
레벨플레이 계정 내에 정의된 세그먼트의 명칭
Paying Boolean True 또는 False
  • 사용자가 인앱 결제를 한 이력이 있을 경우 True
  • 사용자가 인앱결제를 한 이력이 없을 경우 False
iap_total Double 1-999999.99 사용자가 인앱결제에 사용한 총 금액량
userCreationDate Long 0 이상 유저가 앱을 설치한 날짜 (millisecond 단위)
Custom Parameters key=string, value=string
  • 아이언소스는최대 5개의 커스텀 속성 파라미터 지원
  • 영문자/숫자
  • 최대 32자
아이언소스 서버에 보낼 추가 유저 데이터

커스텀 파라미터

레벨플레이 보상형 광고 유닛들은 광고가 성공적으로 종료된 후 유저에게 전달되어야 하는 보상 관련된 이벤트를 서버측에서 발송하는 기능을 지원합니다. 더 자세한 사항은 여기를 참고 부탁 드립니다.

서버 파라미터 이외에도 클라이언트를 통해 런타임 커스텀 파라미터를 공유할 수 있습니다. 이를 구현하려면 setMetadata API를 사용하여 LevelPlay_Rewarded_Server_Params에 커스텀 파라미터를 전달하기만 하면 됩니다. 커스텀 파라미터는 세션 전체에서 여러 번 업데이트되어 이전 값을 재정의할 수 있습니다.

커스텀 파라미터를 초기화하려면, LevelPlay_Rewarded_Server_Params 값에 빈 배열 값을 설정합니다.

구현 예제 코드

LevelPlay.setMetaData({"LevelPlay_Rewarded_Server_Params", ["key1=value1", "key2=value2"]}

    이렇게 설정하면 아래 예시와 같이 콜백에서 해당 내용에 대한 정보를 수신할 수 있게 됩니다.

    http://www.mydomain.com/rewardsCallback?appUserId=[USER_ID]&rewards=[REWARDS]&eventId=[EVENT_ID]&itemName=[ITEM_NAME]&custom_key1=value1&custom_key2=value2
      Note: 최소 지원 레벨플레이 SDK는 8.11.0 입니다.

      아이언소스 SDK 에러 코드

      아이언소스는 아이언소스 SDK 연동 상의 실패 사항에 대한 설명을 제공하기 위해 오류 피드백 메커니즘을 제공합니다. 문제가 발생했거나, 연동 중 일부분이 올바르게 완료되지 않은 경우 아래에 등재된 오류가 발생합니다.

      ironSource Error 오브젝트에는 에러 코드메시지가 포함됩니다. 아래는 발생 가능한 에러들과 해당 기능에 따른 메시지 들입니다.

      에러 코드 광고 유닛(유형) 설명
      508 N/A
      • 미디에이션 / 네트워크 초기화 실패
      • Demand Only 모드가 아닌 모드에서 Demand Only API 호출
      • Demand Only모드에서 Demand Only API가 아닌 API를 호출
      509 인터스티셜 송출 실패: 송출할 광고가 없음
      보상형 동영상
      510 인터스티셜 로드 실패: 서버 응답 실패
      로드 실패: 아답터 로딩 실패
      520 인터스티셜 송출 실패: 인터넷 연결 없음
      (ShouldTrackNetworkState가 활성화 되어 있는 상태)
      보상형 동영상 송출 실패: 인터넷 연결 없음
      524 인터스티셜 송출 실패: 플레이스먼트 %@가 설정된 광고 빈도 한도를 초과
      송출 실패: 플레이스먼트 %@가 설정된 광고 빈도 한도를 초과
      보상형 동영상
      526 인터스티셜 송출 실패: 광고 유닛에 설정된 세션당 일일 광고 횟수 한도를 초과
      보상형 동영상
      604 배너 플레이스먼트 광고 송출 한도 초과로 인해 로드 불가
      605 배너 배너 로딩 중 정의되지 예상치 못한 에러 발생
      606 배너 최초 로드 요청 시 – 모든 네트워크에서 배너 제공이 불가능
      1007 인터스티셜 광고 경매 실패: 경매 요청에 필요한 정보가 포함되어 있지 않음
      보상형 동영상
      1022 보상형 동영상 송출 실패: 다른 보상형 동영상 광고 재생중에 보상형 동영상 광고 재생할 수 없음
      1023 보상형 동영상 송출 실패: 송출할 수 있는 광고가 없는 상태에서 광고 송출 API 호출
      1035 인터스티셜 워터폴이 비어 있음 (광고 요청 가능 인스턴스 없음)
      1036 인터스티셜 송출 실패: 다른 인터스티셜 광고가 재생 중에 인터스티셜 광고 재생할 수 없음
      1037 인터스티셜 로드 실패: 다른 인터스티셜 광고가 재생 중에 인터스티셜 로드할 수 없음.
      1039 인터스티셜 인터스티셜 송출 (Show) 호출 중 예외처리 사항 발생