Frontend/Facebook Instant Game

[Facebook Instant Games] 데이터 저장/가져오기

에반황 2018. 6. 4. 17:07


이 글은 PC 버전 TISTORY에 최적화 되어있습니다.



데이터 저장/가져오기 코드


cc.Class({
extends: cc.Component,

properties: {
score: 1000,
bestScore: 0
},

loadBestScore: function () {
var self = this;
FBInstant.player.getDataAsync(["score"]).then(function (data) {
if (typeof data["score"] !== "undefined") {
self.bestScore = data["score"];
}
console.log('최고 점수', self.bestScore);
}).catch(function(reason) {
console.log('loadBestScore Faild.', reason);
});
},

saveBestScore: function () {
var self = this;
console.log(self.bestScore, self.score);
FBInstant.player.setDataAsync({
"score": Math.max(self.bestScore, self.score)
})
.then(function () {
console.log('data is set.');
});
}
});

데이터 저장과 가져오기는 위와 같이 두 가지 방법으로 할 수 있습니다.

  • loadBestScore() : getDataAsync(필드명)으로 해당 필드의 데이터를 가져옴.
  • saveBestScore() : setDataAsync(데이터 객체)로 해당 필드에 데이터 저장.


먼저 loadBestScore를 하면 어떻게 될까요. 필드가 아예 존재하지 않기 때문에 '최고 점수' 0이라는 로그가 찍힐 것입니다. 그 다음 saveBestScore를 하게 되면 현재 score가 1000으로 bestScore보다 높기 때문에 'score' 필드에는 1000이 저장될 것 입니다.


이렇게 쉽게 데이터 저장/가져오기를 할 수 있습니다.




반응형