Choose your operating system:
Windows
macOS
Linux
In-App Purchase (앱 내 구매)를 통해 플레이어에게 부가 콘텐츠와 기능을 제공할 수 있습니다. 부분유료화 게임에서 수익을 올리거나, 게임에 유료 콘텐츠를 추가로 제공하기 위한 방편이 될 수 있습니다.
환경설정
각 플랫폼 별 앱 내 구매 환경설정 관련 자세한 내용은 아래 플랫폼별 페이지를 참고하세요:
구매 정보 읽기
Read In-App Purchase Information 블루프린트 노드( 또는 그에 해당하는 C++ 함수 호출)를 통해 앱 내 구매 정보를 읽을 수 있습니다. 대부분의 온라인 서브시스템 함수와 마찬가지로, Player Controller 뿐만 아니라 제품 식별자도 입력으로 받습니다. 참고로 아래 Make In-App Purchase 는 하나의 식별자를 받는 반면, Read 는 배열 정보 처리가 가능합니다. 이 함수는 In App Purchase 구조체의 배열을 반환하고, 배열의 각 요소를 분리하여 이름, 설명, 가격 등 UI 에 표시하거나 게임플레이 로직에 사용할 데이터를 구합니다.
구매 완료
앱 내 구매를 위해서는, Make an In-App Purchase 블루프린트 노드(, 또는 그에 해당하는 C++ 함수)를 사용합니다. Player Controller 뿐만 아니라 Product Request 구조체도 입력으로 받습니다. Product Request 는 단순히 iTunes Connect 나 Google Play Developer 콘솔에서의 제품 식별자(, 여기서는 match3theme_night)이며, 그 제품이 소모성인지 아닌지를 나타냅니다.
Make an In-App Purchase 노드는 latent (잠복성)이라, 구매의 성공 또는 실패 여부에 따라 게임플레이 동작이 갈리는 경우 두 개의 실행 핀을 사용해야 합니다. 온라인 서비스에서 응답을 받은 이후에만 실행될 것입니다. 이 노드는 (성공, 실패, 복구 등의) 구매 완료 상태와 In App Purchase Information 구조체의 자세한 내용도 같이 반환합니다.
이 함수는 잠복성이 아닌 (블루프린트 노드에 시계가 표시되지 않는) 버전이 있습니다. 그 노드의 실행 핀은 온라인 서비스에서의 응답을 기다리지 않으므로, 보통 잠복성 버전을 사용하게 됩니다.
구매 복구
구매 복구(restore)는, Restore In-App Purchases 블루프린트 노드(, 또는 그에 해당하는 C++ 함수)를 사용합니다. Player Controller 만 받으며, Player Controller 에 연관된 모든 구매 정보 배열을 반환합니다. 그 후 그 배열을 처리하여 게임플레이 로직에 필요한 특정 식별자(들)에 비교합니다.