업적은 게임에서 사용자의 참여를 늘릴 수 있는 좋은 방법이 될 수 있습니다. 게임에서 업적을 구현하여 플레이어가 일반적으로 사용하지 않는 기능을 실험하거나 완전히 다른 플레이 스타일로 게임에 접근하도록 권장할 수 있습니다. 업적은 또한 플레이어가 진행 상황을 서로 비교하고 즐거운 마음으로 경쟁에 참여할 수 있는 재미있는 방법이 될 수 있습니다.
플랫폼의 업적을 구현하는 방법은 클라이언트 구현을 참고하세요.
속성
업적의 작동 방식을 이해하려면 업적과 관련된 속성을 숙지하는 것이 좋습니다.
다음 기본 요소는 모든 업적에 관련됩니다.
- ID: Google Play Console에서 생성되는 고유 문자열입니다. 이 고유 ID를 사용해 게임 클라이언트의 업적을 참조하게 됩니다.
- 이름: 업적의 간략한 이름입니다 (예: 'Pieman'). 값은 최대 100자(영문 기준)까지 입력할 수 있습니다.
- 설명: 업적에 관한 간략한 설명입니다. 보통 플레이어에게 업적을 획득하는 방법을 알려줍니다 (예: '해가 지기 전에 레몬 머랭 파이를 구우세요'). 값은 최대 500자(영문 기준)까지 입력할 수 있습니다.
- 아이콘: 업적과 연결된 정사각형 아이콘입니다. 업적 아이콘을 만들 때 권장사항은 아이콘 가이드라인 섹션을 참고하세요.
- 목록 순서: 플레이어가 게임과 연결된 업적을 볼 때 잠긴 업적이 표시되는 순서입니다. 원하는 대로 순서를 지정할 수 있습니다. 달성한 업적은 달성한 순서대로 목록 상단에 표시됩니다.
상태
업적은 다음 세 가지 상태 중 하나일 수 있습니다.
- 숨김 업적의 경우 업적에 관한 세부정보가 플레이어에게 표시되지 않습니다. Play 게임즈 서비스에서는 업적이 숨겨진 상태일 때 업적에 관한 일반적인 자리표시자 설명과 아이콘을 제공합니다. 너무 일찍 공개하고 싶지 않은 게임에 관한 스포일러가 포함되어 있다면 업적을 숨김으로 설정하는 것이 좋습니다 (예: '당신은 내내 유령이었습니다').
- 공개 업적은 플레이어가 업적에 관해 알고 있지만 아직 획득하지 못했음을 의미합니다. 대부분의 업적은 공개 상태로 시작합니다.
- 달성 업적은 플레이어가 성공적으로 획득한 업적입니다. 업적은 오프라인에서 달성할 수 있습니다. 게임이 온라인 상태가 되면 Play 게임즈 서비스와 동기화하여 업적 달성 상태를 업데이트합니다.
단계별 업적
업적은 표준 또는 단계별로 지정할 수 있습니다. 일반적으로 단계별 업적은 플레이어가 오랜 기간 업적을 달성하기 위해 점진적으로 게임을 진행해야 합니다. 플레이어가 단계별 업적을 향해 게임을 진행할 때 플레이어의 부분 진행 상황을 Play 게임즈 서비스에 보고할 수 있습니다.
Google Play 서비스는 진행 상황 정보를 추적하고 플레이어가 업적을 달성하는 데 필요한 기준을 충족했을 때 게임에 알림을 보내며 플레이어가 목표를 달성하기까지 얼마나 진행되고 있는지 플레이어에게 알려줍니다.

단계별 업적은 게임 세션 전반에 걸쳐 누적되며 진행 상황은 게임 내에서 삭제하거나 재설정할 수 없습니다. 예를 들어 '게임에서 50번 이기세요'와 같은 업적은 단계별 업적으로 인정됩니다. '게임에서 연속으로 3번 이기세요'는 인정되지 않습니다. 게임에서 지면 플레이어의 진행 상황이 재설정되기 때문입니다. '포커 칩 5,000개를 모으세요'도 마찬가지입니다. 플레이어가 플레이하면서 칩을 얻거나 잃을 수 있기 때문입니다. 뒤에 나온 두 업적의 경우 플레이어의 '연속 승리' 상태 또는 칩 합계를 추적하여 플레이어가 기준에 도달할 때 표준 업적을 달성하도록 설정하는 것은 개발자의 몫입니다.
단계별 업적을 만들 때는 업적 달성에 필요한 총 단계 수를 정의해야 합니다. 2~10,000 사이의 숫자여야 합니다. 사용자가 업적 달성을 향해 게임을 진행해 나갈 때 사용자가 실행한 추가 단계 수를 Play 게임즈 서비스에 보고해야 합니다. 전체 걸음 수가 달성 값에 도달하면 업적이 달성됩니다(숨겨진 경우도 해당). 사용자의 누적 진행 상황을 저장할 필요는 없습니다.
포인트
업적에는 연결된 점수 값이 있습니다. 플레이어의 점수는 5의 배수여야 하고 게임은 모든 업적 포인트가 총 1,000점을 초과할 수 없습니다(더 작을 수는 있음). 또한 단일 업적은 200포인트를 초과할 수 없습니다.
참여 점수(XP) 추적
플레이어는 Play 게임즈 지원 게임에서 업적을 달성하면 게임 프로필에서 등급을 획득할 수 있습니다. 업적과 관련된 모든 포인트의 경우 플레이어는 업적을 달성하면 100 참여 점수(XP)를 얻게 됩니다. 즉,
XP for an achievement = 100 * (point value for the achievement)
Play 게임즈 서비스는 각 플레이어가 획득한 XP를 추적하여, 플레이어가 '등급을 올릴' 수 있는 포인트를 충분히 획득했을 때 Google Play 게임즈 앱에 알림을 전송합니다. 플레이어는 Google Play 게임즈 앱의 프로필 페이지에서 등급과 XP 기록을 볼 수 있습니다.
최소 업적
업적을 통합하는 게임은 게시하기 전에 최소 5개의 업적이 있어야 합니다. 5개 미만의 업적으로 테스트해도 되지만 게임을 게시하기 전에 업적을 5개 이상 만드는 것이 좋습니다.
최대 업적
업적 개수는 포인트 한도 및 분포에 따라 제한됩니다. 최대 포인트는 1,000이고 각 업적에 5포인트가 할당되면 최대 업적 개수는 200개입니다. 하지만 업적에 포인트가 더 많이 할당되면 결과적으로 사용 가능한 업적 개수가 줄어듭니다.
업적 추가
Google Play Console을 사용하여 처음으로 업적을 만드는 방법에는 두 가지가 있습니다.
업적 만들기
게시되지 않은 새 게임의 업적을 만들려면 다음 단계를 완료하세요.
- Google Play Console에서 게임을 선택합니다.
- Play 게임즈 서비스 - 업적 페이지(성장 > Play 게임즈 서비스 > 설정 및 관리 > 업적)에서 업적 만들기를 선택합니다.
- 업적 추가 페이지에서 양식을 작성합니다.
- 초안으로 저장을 클릭합니다.
- 업적을 만든 후에는 게임을 게시해야 합니다.
업적 추가
기존 업적이 있고 더 추가하려면 다음 단계를 따르세요.
- Google Play Console에서 게임을 선택합니다.
- Play 게임즈 서비스 - 업적 페이지(성장 > Play 게임즈 서비스 > 설정 및 관리 > 업적)에서 업적 추가를 선택합니다.
업적 가져오기
게임에 여러 업적을 한 번에 추가하려면 다음 단계를 따르세요.
- 업적이 포함된 ZIP 파일을 만듭니다.
- 파일을 업로드합니다.
ZIP 파일에 관한 자세한 내용은 ZIP 파일 가이드라인을 참고하세요.
업적을 가져오려면 다음 단계를 따르세요.
- Google Play Console에서 게임을 선택합니다.
- Play 게임즈 서비스 - 업적 페이지(성장 > Play 게임즈 서비스 > 설정 및 관리 > 업적)에서 업적 가져오기를 선택합니다.
- 업적 가져오기 페이지에서 업로드를 클릭합니다.
- 업로드할 ZIP 파일을 선택합니다.
- 초안으로 저장을 클릭합니다.
- 업적을 가져온 후에는 게임을 게시해야 합니다.
게임 출시
게임을 테스트하고 게시하면 게임의 모든 업적이 함께 게시됩니다.
업적 수정
이미 만든 업적을 수정하려면 Google Play Console의 업적 탭에서 업적을 선택합니다. 이때 업적을 처음 만들 때 사용한 것과 동일한 양식이 표시되므로 필요한 경우 필드를 수정할 수 있습니다.
업적 수정을 완료하면 초안으로 저장 버튼을 클릭합니다. 새로 수정한 업적은 '테스트 준비 완료' 단계가 되므로 테스트할 수 있습니다. 제대로 작동하는 경우 드롭다운 목록에서 다시 게시를 선택합니다. 이렇게 하면 업데이트된 모든 업적과 함께 게임이 다시 게시됩니다.
수정 실행취소
현재 업적이 마음에 들지 않고 전과 같은 업적으로 돌아가려면 Google Play Console의 드롭다운 목록에서 되돌리기를 선택합니다. 그러면 모든 업적이 이전에 게시된 버전으로 되돌아갑니다.
업적 삭제
게시된 업적은 삭제할 수 없습니다.
사전 게시된 상태의 업적만 삭제할 수 있는데 해당 업적 양식 하단에 있는 삭제 버튼을 클릭하면 됩니다.
업적 재설정
초안 업적의 플레이어 진행 상황 데이터만 재설정할 수 있습니다.
- Google Play Console에서 업적을 재설정하려면 해당 이벤트 양식 하단에 있는 업적 진행 상황 재설정 버튼을 클릭합니다.
- 프로그래매틱 방식으로 업적 데이터를 재설정하려면 Management API
Achievements
메서드를 호출합니다.
아이콘 가이드라인
아이콘은 512 x 512 PNG, JPEG 또는 JPG 파일로 만들어야 합니다. 달성한 업적의 아이콘만 제공하면 됩니다. 공개된 아이콘의 그레이 스케일 버전이 자동으로 생성됩니다. 따라서 업적 아이콘에 다채로운 요소를 포함하여 사용자가 공개 업적과 달성 업적을 쉽게 구별할 수 있도록 하는 것이 좋습니다.
업적 아이콘이 Android 토스트 메시지에 표시되면 아이콘이 동그라미와 겹쳐지면서 바깥쪽 모서리가 숨겨집니다. 이러한 상황에서도 아이콘이 보기 좋게 표시되는지 확인하세요.

모든 언어에서 동일한 아이콘이 사용되므로 아이콘에 텍스트나 현지화된 콘텐츠를 포함하지 않는 것이 좋습니다.
ZIP 파일 가이드라인
zip 파일을 사용하여 여러 업적을 한 번에 가져올 수 있습니다. ZIP 파일에 사용할 정확한 파일 이름은 표를 참고하세요.
파일 이름 | 필수 또는 선택사항 | 허용되는 값 |
---|---|---|
AchievementsMetadata.csv
|
필수 | 각 업적의 메타데이터입니다. 속성을 참고하세요. |
AchievementsLocalizations.csv
|
선택사항 | 업적 이름 및 설명의 번역을 제공합니다. |
AchievementsIconMappings.csv
|
선택사항 | 업적을 아이콘 파일에 매핑합니다. |
아이콘 파일 | 선택사항 | PNG, JPEG 또는 JPG 형식의 아이콘 |
ZIP 파일 요구사항:
- 하위 디렉터리가 없습니다.
- 고유한 파일 이름
- CSV, PNG, JPEG 또는 JPG 파일만 사용할 수 있습니다.
- CSV 파일에 헤더 행이 없어야 합니다.
- 각 파일의 크기는 1MB 미만이어야 합니다.
- ZIP 파일에는 203개를 초과하는 파일을 포함할 수 없습니다.
- 총 ZIP 파일 크기는 200MB 미만이어야 합니다.
AchievementsMetadata.csv 형식
AchievementsMetadata.csv
파일에는 각 업적의 메타데이터가 포함되어 있습니다.
다음 순서로 쉼표로 구분된 값으로 정보를 포함해야 합니다.
Name,Description,Incremental value,Steps Needed,Initial State,Points,List Order
이러한 필드는 다음 표에 설명되어 있습니다.
CSV 열 헤더 | 필수 또는 선택사항 | 허용되는 값 |
---|---|---|
이름 | 필수 | 최대 100자(영문 기준) |
설명 | 선택사항 | 최대 500자(영문 기준) |
가치 증가분 | 선택사항 | True 또는 False |
필요한 단계 | Incremental Value 이 True. 인 경우 필수
|
숫자 (분수 또는 소수점 없음) |
초기 상태 | 필수 | Hidden 또는 Revealed |
포인트 | 필수 | 5의 배수이며 값은 5~200 사이여야 합니다. |
목록 순서 | 선택사항 | 숫자 (소수점 또는 분수가 없으며 0보다 큼) |
AchievementsMetadata.csv
파일 요구사항:
- 각 행에는 7개의 값이 있어야 합니다. 값을 생략하려면 비워 둡니다.
Name
및Description
필드는 기본 언어로 사용됩니다.Name
필드는 모든 업적에서 고유해야 합니다.Name
및Description
필드에는 쉼표가 포함되어서는 안 됩니다.
샘플 AchievementsMetadata.csv
파일:
Achievement1,Achievement One,True,100,Hidden,5,20
Achievement2,Achievement Two,False,,Revealed,10,30
AchievementsLocalizations.csv 형식
AchievementsLocalizations.csv
파일은 다양한 언어의 사용자에게 각 업적을 설명하는 데 필요한 모든 데이터를 설정하는 선택적 파일입니다.
업적은 게임에 지정된 언어에 따라 번역됩니다.
다음 순서로 쉼표로 구분된 값으로 정보를 포함해야 합니다.
Name, Localized name, Localized description, locale
이러한 필드는 다음 표에 설명되어 있습니다.
CSV 열 헤더 | 필수 또는 선택사항 | 설명 | 허용되는 값 |
---|---|---|---|
이름 | 필수 | AchievementsMetadata.csv 의 Name 열과 일치해야 합니다.
|
최대 100자(영문 기준) |
현지화된 이름 | 필수 | 업적의 현지화된 이름입니다. | 최대 100자(영문 기준) |
현지화된 설명 | 선택사항 | 지정된 언어로 현지화된 업적 설명입니다. | 최대 500자(영문 기준) |
언어 | 필수 | 언어 코드(예: en-US )
|
언어를 지정하기 전에 게임에
번역을 추가합니다. 기본 언어는 지정할 수 없습니다.
지원되는 언어 코드는 지원되는 언어 목록에서 확인할 수 있습니다. |
AchievementsLocalizations.csv
파일 요구사항:
- 게임 내 업적 이름은 언어별로 고유해야 합니다. 예를 들어 게임에서 en-US 및 fr-FR 언어를 모두 지원하는 경우 en-US의 'Achievement1'이라는 업적의 이름은 fr-FR의 'Achievement1'일 수도 있습니다.
- 각 행에는 4개의 값이 있어야 합니다. 현지화된 설명 값을 생략하려면 값을 비워 둡니다.
샘플 AchievementsLocalizations.csv
파일:
Achievement1,Achievement One,This is the description of achievement one in English.,en-US
Achievement1,Achievement Un,Voici la description de l'achievement un en français.,fr-FR
Achievement2,Achievement Two,Description of achievement two.,en-US
Achievement2,Logro Dos,Descripción del logro dos.,es-ES
Achievement3,Achievement Three,,en-US
Achievement3,Erfolg Drei,,de-DE
AchievementsIconMappings.csv 형식
AchievementsIconMappings.csv
파일은 업적을 지정된 아이콘에 매핑하는 데 사용되는 선택적 파일입니다. 다음 순서로 쉼표로 구분된 값으로 정보를 포함해야 합니다.
Name, icon filename
이러한 필드는 다음 표에 설명되어 있습니다.
CSV 열 헤더 | 필수 또는 선택사항 | 설명 |
---|---|---|
이름 | 필수 | AchievementsMetadata.csv 의 Name 열과 일치해야 합니다.
|
아이콘 파일 이름 | 필수 | 아이콘 파일의 이름입니다. |
AchievementsIconMappings.csv
파일 요구사항:
- 각 행에는 두 개의 값이 있어야 합니다.
- 아이콘 파일은 PNG 또는 JPEG 형식만 사용할 수 있습니다.
샘플 AchievementsIconMappings.csv
파일:
Valid Achievement,valid-achievement-icon.png
Incremental Achievement,incremental-achievement-icon.jpeg
No Description,no-description-icon.png
Hidden Initial State,hidden-initial-state-icon.png
Large Point Value,large-point-value-icon.jpeg
아이콘 파일
AchievementsIconMappings.csv
파일에서 참조하는 아이콘은 가져오는 현재 ZIP 보관 파일에 있어야 합니다. 자세한 내용은 아이콘 가이드라인을 참고하세요.
업적에 관한 번역 추가
게임과 연결된 업적에 관한 자체 번역을 지정할 수 있습니다. 이렇게 하려면 먼저 게임에 번역 추가에 설명된 단계를 완료해야 합니다.
게임에 번역을 추가하는 방법에는 두 가지가 있습니다.
업적 가져오기 옵션을 사용하여 여러 새 업적의 번역을 한 번에 업로드할 수 있습니다. 이 옵션을 사용하여 이미 존재하는 업적의 번역을 업로드할 수는 없습니다.
게임의 각 업적에 번역을 추가할 수 있습니다. 각 업적에 관한 자체 번역을 추가하려면 다음 단계를 따르세요.
- Google Play Console에서 게임의 업적 탭을 열고 기존 업적을 선택합니다.
- 업적 세부정보 페이지에서 이전에 게임 세부정보 탭에 추가한 언어의 탭을 선택합니다.
- 해당 언어의 업적 세부정보 페이지에서 해당 업적의 번역으로 양식을 수정합니다.
- 저장을 클릭하여 번역된 업적 세부정보를 저장합니다.
클라이언트 구현
플랫폼의 업적을 구현하는 방법은 다음 리소스를 참고하세요.