콘텐츠로 이동

Cocos3 게임 연결과 종료

연결 방법은 두 가지가 있습니다. 한 게임에는 두 방법 중 하나만 적용합니다.

  • ZIP 컴포넌트로 연결하기: EasterAdActions.ts 스크립트(Cocos3 클래스 식별자 EasterAdPlatformActions)를 장면 노드에 연결합니다. 게임 이벤트와 보상 버튼에서 해당 컴포넌트의 action()과 requestReward()를 호출합니다.
  • 직접 코드로 연결하기: 컴포넌트를 추가하지 않고 공개 API를 호출하여 연결합니다. 엔진 모듈을 전달하여 연결한 뒤 장면 준비가 완료되면 ready()를 호출하고, 게임을 종료할 때는 게임 코드에서 직접 연결을 정리합니다.
import { VERSION, game, view } from 'cc';
export async function connectGame() {
const actions = window.EasterAdCocos3Platform.attach({ version: VERSION, game, view });
await actions.ready();
return actions;
}

직접 연결 방식에서는 장면 준비가 완료되면 await actions.ready()를 호출합니다.

게임 이벤트에서 actions.action('level_started') 또는 actions.action('level_completed')를 호출합니다. 보상 버튼에서는 다른 비동기 작업을 기다리기 전에 동기 이벤트 처리기에서 actions.requestReward('revive')를 직접 호출합니다.

광고가 준비되지 않았으면 게임을 계속 진행하고 다음 이용자 동작에서 다시 요청합니다. 보상 처리는 원래 요청의 결과를 따릅니다.

연결 방식에 따라 정리 작업을 실행합니다.

  • 직접 연결 방식에서는 await actions.destroy()를 호출하여 게임 연결을 해제합니다.
  • ZIP 컴포넌트 방식에서는 await component.shutdown()을 호출하여 연결을 정리합니다. 다시 연결할 때는 새 컴포넌트를 생성하여 연결합니다.

광고를 표시하는 동안 게임 일시정지, 광고 영역 관리, 상태 복원은 SDK가 처리하므로, 기존에 정지되어 있던 게임 상태를 임의로 재개하지 않고 유지합니다.