메인 콘텐츠로 건너뛰기
LiveOps 기능은 출시 후 게임 운영에 필요한 실시간 조정과 유저 커뮤니케이션을 돕습니다. 대부분의 설정은 Console에서 만들고 게시한 뒤, Unity 클라이언트가 SDK로 조회하거나 이벤트를 기록합니다.

랭킹

Console에서 랭킹을 만든 뒤 점수를 제출하고 조회합니다.
await player.SubmitRanking(
    "arena",
    score: 1500,
    metadata: new { stage = 3 }
);

var top = await HyperX.Core.LiveOps.Rankings.Top("arena", limit: 50);
var me = await player.GetMyRanking("arena");
var aroundMe = await player.GetRankingAroundMe("arena", limit: 5);
같은 유저가 다시 제출하면 랭킹 정책에 따라 점수가 갱신됩니다. 랭킹 키와 보상 정책은 클라이언트 코드와 Console 설정이 같은 값을 사용해야 합니다. 운영자는 Console의 LiveOps 화면에서 랭킹 보상 rule을 만들고, preview로 대상자를 확인한 뒤 우편 보상을 지급할 수 있습니다. 지급 결과와 랭킹 점수는 CSV로 내보낼 수 있습니다. 보상 우편은 기존 Core.Mail 수령 흐름으로 확인하고 수령합니다.

쿠폰

var coupons = await HyperX.Core.LiveOps.Coupons.List(limit: 20);

var redemption = await player.RedeemCoupon("WELCOME");

var reward = redemption.RewardPayload;
쿠폰 보상은 JSON payload로 반환됩니다. 실제 재화 지급, 인벤토리 반영, 우편 지급은 게임 정책에 맞게 처리하세요.

게임 로그

await player.InsertGameLog(
    "stage_clear",
    new { stage = 3, elapsed = 92 }
);
게임 로그는 분석과 운영 확인을 위한 이벤트입니다. 이벤트 이름을 일관되게 정하고, payload에는 운영에 필요한 값만 담는 것이 좋습니다.

운영 콘텐츠

공지, 이벤트, 정책은 Console에서 작성하고 게시합니다. SDK는 게시 상태, 기간, 언어, 국가 조건에 맞는 항목만 받습니다.
var notices = await player.Notices(
    locale: "ko",
    country: "KR",
    limit: 10
);

var events = await player.Events();
var policies = await player.Policies();

푸시 디바이스 등록

Unity 앱에서 FCM registration token 또는 APNs device token을 받은 뒤 HyperX에 등록합니다.
await player.RegisterPushDevice(
    deviceToken,
    HyperX.PushPlatform.Android,
    optIn: true,
    locale: "ko-KR",
    timezone: "Asia/Seoul"
);
platformHyperX.PushPlatform.Android 또는 HyperX.PushPlatform.Ios를 사용합니다. 커스텀 값이 필요하면 기존 string 값을 전달할 수 있습니다. 사용자가 알림 수신을 거부하면 optIn: false로 등록하세요. Provider 자격증명 등록 방법은 Provider 연동을 참고하세요.

그룹

var group = await player.GetGroup();
그룹은 Console에서 만들고 유저에게 배정합니다. 그룹별 랭킹, 이벤트, 운영 분리에 사용할 수 있습니다.