Apps Kit SDK logoApps Kit SDK
개발자 문서 · Apps Kit SDK 포털

캠페인(크로스 프로모션)

캠페인은 크로스 프로모션 엔진입니다. 앱 상세 정보에서 설명한 "광고 플레이스홀더용 광고 단위 → 크로스 프로모션" 매핑을 사용해 보유한 앱 안에서 다른 자사 앱을 광고할 수 있습니다.

캠페인 목록

캠페인 페이지(/campaigns)에는 생성한 모든 캠페인이 표로 표시됩니다. 표에는 행 번호, 제목, 타겟 앱(이름과 패키지를 두 줄로 표시), 캠페인 유형(현재는 항상 "크로스 프로모션" — 유형 선택기에 네트워크 광고라는 개념은 있지만 실제 선택 옵션으로 제공되지는 않음), 상태와 우선순위(둘 다 색상 배지로 표시되며 정렬 가능), 시작일, 종료일, 생성일, 수정일(마지막 두 항목도 정렬 가능), 작업(수정 및 삭제)이 포함됩니다.

1782386430743-CAMPAIGNS_LIST_IMAGE.png

캠페인 상태, 우선순위 또는 타겟 브랜드로 목록을 필터링할 수 있으며, 각 필터는 동적 다중 선택 방식입니다. 캠페인 수정(연필 아이콘)을 선택하면 아래에서 설명하는 마법사가 수정 모드로 열립니다. 삭제 시에는 먼저 확인을 요청하며, 삭제한 캠페인은 복구할 수 없습니다.

+ 생성 버튼은 현재 요금제에서 크로스 프로모션 캠페인을 추가로 생성할 수 있을 때만 표시됩니다(canCreateCampaign()). 요금제의 캠페인 한도에 도달하면 버튼 대신 사용량("캠페인 X/Y개 사용 중")과 구독 페이지로 이동하는 "🔒 업그레이드" 링크가 표시됩니다.

캠페인 생성 또는 수정 — 마법사

+ 생성을 클릭하거나 기존 캠페인을 수정하면 단계별 마법사가 열립니다. 마법사는 네 단계가 아닌 다섯 단계로 구성됩니다. 기존 캠페인을 수정할 때는 첫 단계가 자동으로 생략되므로 단계 수를 잘못 파악하기 쉽습니다. 캠페인은 생성된 후에는 유형을 변경할 수 없기 때문입니다. 각 단계에서는 일관되게 "작성 후 저장" 방식을 사용합니다. 단계별로 입력하거나 수정한 내용은 해당 단계의 로컬 컴포넌트 상태에만 유지됩니다. 저장 기능이 있는 버튼을 클릭하고 해당 API 호출이 성공하기 전까지는 마법사의 공유 컨텍스트에 기록되지 않으며, 서버에도 저장되지 않습니다. 저장하지 않은 변경 사항이 있는 상태에서 페이지를 벗어나면 "저장하지 않은 변경 사항이 있습니다. 정말 나가시겠습니까?"라는 확인 메시지(예, 나가기 / 머무르기)가 표시되어 작업 내용이 유실되는 것을 방지합니다.

1단계 — 캠페인 유형 선택

선택 가능한 카드는 크로스 프로모션("다른 자사 앱의 사용자에게 자사 앱을 홍보합니다") 하나뿐입니다. 실제로 선택할 수 있는 옵션은 이것뿐입니다. 내부 코드에는 향후 사용을 위한 자리표시자로 두 번째 유형인 "네트워크 광고"가 있지만, 현재 UI에서는 선택할 수 없습니다. 다음을 클릭하면 다음 단계로 이동합니다. 2단계까지는 아무것도 생성되지 않으므로 이 단계 자체에서는 서버를 호출하지 않습니다. 수정 모드에서는 이 단계 전체가 생략되며, 기존 캠페인의 유형이 고정된 상태로 2단계가 바로 열립니다.

2단계 — 캠페인 설정

1782386673136-CAMPAIGN_STEP1_TYPE_IMAGE.png

이 단계에서는 캠페인을 생성하거나(생성 모드에서 처음 저장할 때) 주요 설정을 수정합니다(수정 모드). 입력 항목은 다음과 같습니다.

  • 캠페인 상태 토글 — 수정 모드에서만 표시됩니다. 활성과 일시중지 상태를 전환하는 스위치입니다. 어느 방향으로 전환하든 "캠페인을 활성화하시겠습니까?" / "캠페인을 일시중지하시겠습니까?"라는 확인 대화상자가 표시됩니다. 캠페인을 활성화하려고 하면 저장 전에 광고 소재가 하나 이상 있는지, 그리고 그중 하나 이상이 활성 상태인지 확인합니다. 조건을 충족하지 않으면 "캠페인을 활성화할 수 없습니다 — 먼저 광고 소재를 하나 이상 추가하세요" 또는 "...광고 소재가 하나 이상 활성 상태여야 합니다"라는 메시지가 표시되며 토글 변경이 적용되지 않습니다.
  • 캠페인 제목 — 필수 텍스트 입력란입니다.
  • 브랜드 선택 — 보유한 브랜드를 선택하는 필수 드롭다운입니다. 앱 목록은 브랜드에 따라 달라지므로, 브랜드를 변경하면 "홍보할 앱"에서 선택한 앱이 초기화됩니다.
  • 홍보할 앱 — 선택한 브랜드에 따라 항목이 채워지는 필수 드롭다운입니다. 브랜드를 선택하기 전까지는 비활성화됩니다.
  • 캠페인 우선순위 — 높음 / 보통 / 낮음 중에서 선택하는 세 개의 알약 모양 버튼으로 표시됩니다. 기본값은 보통입니다.
  • 캠페인 시작 — "즉시" 또는 특정 날짜를 선택합니다. 날짜를 선택할 경우 오늘 날짜를 기준으로 과거 날짜는 지정할 수 없습니다. 단, 수정 모드에서 기존에 저장된 날짜를 변경하지 않았다면 과거 날짜 검사를 생략합니다.
  • 캠페인 종료 — "없음(종료일 없음)" 또는 특정 날짜를 선택합니다. 동일하게 과거 날짜를 지정할 수 없으며, 종료일이 시작일 이후인지도 확인합니다.

활성 상태에서의 필드 잠금: 캠페인이 활성 상태가 되면 브랜드, 홍보할 앱, 시작일/즉시 설정을 변경할 수 없습니다. 해당 필드는 비활성화되고 짧은 설명("...캠페인이 활성 상태일 때는 변경할 수 없습니다")이 표시됩니다. 제목, 우선순위, 종료일은 계속 변경할 수 있으며, 토글로 캠페인을 일시중지할 수도 있습니다.

저장하면(생성 모드에서는 저장 후 다음, 수정 모드에서는 저장) 제목, 타겟 앱, 캠페인 유형, 우선순위, 계산된 시작일/종료일이 서버로 전송됩니다. 수정 모드에서는 상태도 함께 전송됩니다. 처음 생성할 때 응답에 기존 게재/지역 데이터가 있으면 이를 사용해 3단계의 초기 상태를 미리 채웁니다. API 호출이 성공한 후에만 이 정보가 마법사의 공유 컨텍스트에 기록됩니다.

3단계 — 타겟팅

1782386870495-CAMPAIGN_STEP2_SETTINGS_IMAGE.png

타겟팅은 하나의 단계와 저장 버튼을 공유하는 두 개의 독립적인 하위 섹션으로 구성됩니다. 게재에서는 캠페인을 표시할 자사 브랜드/앱을, 지역에서는 캠페인을 운영할 국가를 지정합니다.

게재. 체크리스트에서 다음 중 하나를 선택합니다.

  • 모든 브랜드 — 이후 추가되는 항목을 포함하여 보유한 모든 브랜드와 앱에 캠페인을 표시할 수 있도록 하는 전체 선택 체크박스입니다.
  • 특정 브랜드 — 스크롤 가능한 목록에서 하나 이상의 브랜드를 선택합니다. 각 브랜드에는 해당 앱의 하위 목록이 있습니다. 선택한 브랜드 내에서 개별 앱을 선택하거나, 해당 브랜드의 "전체(향후 추가 앱 포함)" 체크박스를 선택해 현재 및 향후의 모든 앱을 개별 선택 없이 포함할 수 있습니다.

체크리스트 위에는 "선택한 브랜드"와 "선택한 앱"의 요약이 칩 형태로 실시간 표시되어 현재 타겟팅 설정을 한눈에 확인할 수 있습니다.

지역. "전체 선택" 기능이 있는 국가 다중 선택 항목으로, 캠페인이 게재되는 국가를 제한하거나 제한 없이 설정할 수 있습니다. 제한하지 않으면 캠페인은 모든 지역에서 운영됩니다. 이 지역 선택기는 이 가이드의 뒷부분에서 설명하는, 이름을 지정하는 지역 그룹 기능과 의도적으로 분리되어 있습니다. 저장하여 재사용하는 그룹이 아니라 캠페인별로 국가를 선택하는 단순한 기능이며, 이름을 지정하지 않습니다. (서버에서 동적 국가 목록을 불러오지 못하면 여기서는 16개 국가로 구성된 더 작은 대체 목록을 사용합니다. 따라서 이 선택기의 대체 옵션은 지역 그룹의 대체 옵션보다 적습니다.)

두 하위 섹션 모두 마법사의 나머지 단계와 동일한 작성/저장 방식을 따릅니다. 저장 또는 저장 후 다음을 클릭하기 전까지 변경 사항은 로컬에만 유지됩니다. 버튼을 클릭하면 게재와 지역 설정이 각각 별도의 API 호출로 저장되고, 그 후에 마법사의 공유 상태에 병합됩니다.

4단계 — 광고 소재

1782386996834-CAMPAIGN_STEP3_TARGETING_IMAGE.png

캠페인 게재 시 실제로 표시할 광고 소재를 업로드하는 단계입니다.

새 광고 소재 추가. 표 형식의 "새 광고 소재 추가" 양식에서 한 번에 하나 이상의 행을 추가할 수 있습니다. + 광고 소재 추가 링크를 클릭하면 빈 행이 하나 더 추가되고, 휴지통 아이콘을 클릭하면 행이 삭제됩니다. 각 행에는 다음 항목이 있습니다.

  • 이미지 — 빈 사각형을 클릭해 이미지를 업로드합니다. 지원 형식은 JPEG, PNG, JPG, GIF, WebP이며, 최대 크기는 10MB입니다. 조건을 충족하지 않는 파일은 업로드가 거부되고 해당 위치에 구체적인 오류가 표시됩니다. 형식 오류 또는 실제 파일 크기를 보여주는 "최대 10MB(X.XXMB)" 메시지가 표시됩니다.
  • 이름 — 필수 텍스트 입력란입니다.
  • 타겟 URL — 필수 항목입니다. 유효한 http:// 또는 https:// URL이어야 하며, 입력하는 동안 실시간으로 검사합니다.
  • 광고 유형 — 전면 광고(interstitial), 배너(banner), 네이티브(native), 보상형(rewarded), 앱 오프닝(appOpen) 중에서 선택합니다. 다른 화면의 광고 단위에도 사용되는 동일한 다섯 가지 형식입니다.

저장 후 다음(생성 모드) 또는 저장(수정 모드)을 클릭하면 비어 있지 않은 모든 행의 유효성을 검사하고, 각 이미지를 업로드한 다음 API를 통해 각 광고 소재를 생성합니다. 실제로 저장에 성공한 광고 소재만 저장 목록에 추가됩니다. 저장에 실패한 항목이 있으면 실패한 개수가 표시되며 다시 시도할 수 있습니다. 생성 모드에서 이 단계를 나가려면 광고 소재가 하나 이상 있어야 합니다.

저장된 광고 소재 목록. 이미 저장된 광고 소재는 새 항목 추가 양식 위에 카드 목록으로 표시됩니다. 각 카드에는 썸네일(클릭하면 확대), 이름, 광고 유형, 타겟 URL, 토글 스위치가 있는 활성/비활성 상태 배지, 수정(연필) 버튼, 삭제(휴지통) 버튼이 표시됩니다.

  • 캠페인에서 유일하게 활성 상태인 광고 소재는 토글을 꺼서 비활성화할 수 없습니다("광고 소재가 하나 이상 활성 상태로 유지되어야 합니다"). 그 외의 경우에는 "광고 소재를 활성화/비활성화하시겠습니까?"라는 간단한 확인 메시지가 표시됩니다.
  • 수정(연필) 버튼을 클릭하면 해당 광고 소재의 인라인 수정 양식이 열립니다. 이름, 이미지, 타겟 URL을 수정할 수 있으며 광고 유형은 고정됩니다. 이 양식에는 별도의 저장/취소 버튼이 있습니다.
  • 삭제 시에는 "이 작업은 되돌릴 수 없습니다!"라는 확인 메시지를 표시한 후 광고 소재를 영구 삭제합니다.

5단계 — 캠페인 검토

1782390272787-CAMPAIGN_STEP5_REVIEW_IMAGE.png

2~4단계에서 입력한 모든 내용이 읽기 전용 요약으로 표시됩니다. 캠페인 상태, 제목, 유형, 브랜드, 홍보할 앱, 우선순위, 시작일, 종료일, 한 줄 타겟팅 요약(예: "모든 브랜드 · 모든 앱" 또는 브랜드별 상세 내역), 선택한 지역(칩 또는 "모든 지역"), 그리고 썸네일, 이름, 타겟 URL, 광고 유형 배지가 포함된 전체 광고 소재 목록을 확인할 수 있습니다.

생성 모드에서만 이 단계 상단에 조작 가능한 상태 토글(활성/일시중지)이 표시됩니다. 2단계와 동일한 활성화 규칙이 적용되므로, 광고 소재가 없거나 활성 상태인 광고 소재가 없으면 "캠페인을 활성화할 수 없습니다"라는 메시지와 함께 활성화가 차단됩니다. 수정 모드에서는 상태가 읽기 전용 배지로 표시됩니다. 상태를 변경하려면 이 화면이 아닌 2단계의 토글을 사용해야 합니다.

완료를 클릭하면 캠페인 목록으로 돌아갑니다. 수정 모드에서는 먼저 "캠페인이 성공적으로 저장되었습니다"라는 확인 메시지가 잠시 표시됩니다. 생성 모드에서는 각 단계에서 이미 저장했으므로 별도의 확인 메시지 없이 바로 목록으로 돌아갑니다.