지원 프로그램
home
슬기로운 데모생활
home

Electron 연동

태그
상위 항목
하위 항목
1 more property

사전 준비

SDK 연동 작업을 위해서는 해당 게임의 소유권이 부여된 계정이 필요합니다.
소유권은 게임이용권을 통해 부여할 수 있으며, 상점 페이지 개설 후 스토브 스토어팀에 요청해 주시기 바랍니다.

Basic Integration

StovePCSDK_JS_2.6.6.zip
2818.9KB
// main.js const StovePCSDK = require("./StovePCSDK"); const config = { // 환경값으로 "Live" 고정입니다. env: "Live", // 상품의 Game ID를 기입합니다. gameId: "", // 상품의 Application Key를 기입합니다 appKey: "", // 상품의 Application Secret을 기입합니다. secretKey: "", // 테스트 시 STOVE_PC_LOG_LEVEL_DEBUG, 릴리즈 시 STOVE_PC_LOG_LEVEL_ERROR로 설정합니다 logLevel: StovePCSDK.StovePCLogLevel.STOVE_PC_LOG_LEVEL_DEBUG, // Log가 생성되는 경로로, 특이사항 없을 시 ""로 유지합니다. logPath: "", }; const callback = { onError: (error) => { console.log(error); switch (error.functionType) { case StovePCSDK.StovePCFunctionType.STOVE_PC_INIT: case StovePCSDK.StovePCFunctionType.STOVE_PC_GET_USER: case StovePCSDK.StovePCFunctionType.STOVE_PC_GET_OWNERSHIP: app.quit(); break; } }, onInitComplete: () => { StovePCSDK.getUser(); }, onToken: (token) => {}, onUser: (user) => { StovePCSDK.getOwnership(); }, onOwnership: (ownerships) => { ownerships.forEach((ownership) => { if (ownership.gameId === config.gameId && ownership.ownershipCode !== 1) { app.quit(); } if ( ownership.gameId === config.gameId && ownership.gameCode === 5 && ownership.ownershipCode === 1 ) { // Activate DLC } }); }, onStat: (stat) => {}, onSetStat: (statValue) => {}, onAchievement: (achievement) => {}, onAllAchievement: (achievements) => {}, }; let handlerId = -1; app.whenReady().then(() => { const initResult = StovePCSDK.init(config, callback); if (initResult !== StovePCSDK.StovePCResult.STOVE_PC_NO_ERROR) { app.quit(); } handlerId = setInterval(() => { StovePCSDK.runCallback(); }, 1000); ipcMain.on("unlock-achievement", handleUnlockAchievement); }); app.on("window-all-closed", () => { clearInterval(handlerId); StovePCSDK.uninit(); app.quit(); }); function handleUnlockAchievement(statId) { StovePCSDK.unlockAchievement(statId); }
JavaScript
복사
// preload.js const { contextBridge, ipcRenderer } = require("electron"); contextBridge.exposeInMainWorld("electronAPI", { unlockAchievement: (statId) => ipcRenderer.send("unlock-achievement", statId), });
JavaScript
복사