EnabledSnapshots() <–Deprecation
https://developers.google.com/drive/android/deprecation
/////////// i have sdkboxplay
Sdkbox 에 gps를 사용하여 로그인 하는 방법이 있다
그러나 그방법 말고 Sdk중 SDKBox Play sdk를 사용해서 로그인 하는 방법도 가능하다
이런방식으로 하게 되면 구글서비스 유니크 아이디 및 개인 정보를 가져 올수 있다
SDKBox Launcher를 켜면 아래와같이 설치 가능한 Sdk가 나오는데
SDKBox Play를 설치 하게 되면
빌드 폴더에 아래와 같이 설치 된다
그리고
AppDelegate.cpp
\build\jsb-default\frameworks\runtime-src\Classes
아래와 같이 추가 해준다
#ifdef SDKBOX_ENABLED
#include “PluginSdkboxPlayJS.hpp”
#include “PluginSdkboxPlayJSHelper.h”
#endif
#ifdef SDKBOX_ENABLED
se->addRegisterCallback(register_all_PluginSdkboxPlayJS);
se->addRegisterCallback(register_all_PluginSdkboxPlayJS_helper);
#endif
#if (CC_TARGET_PLATFORM == CC_PLATFORM_ANDROID || CC_TARGET_PLATFORM == CC_PLATFORM_IOS) && PACKAGE_AS
se->addRegisterCallback(register_all_PluginSdkboxPlayJS);
se->addRegisterCallback(register_all_PluginSdkboxPlayJS_helper);
#endif
다음으로 Google AppId 를 넣어준다
\build\jsb-default\frameworks\runtime-src\proj.android-studio\app\res\values\string.xml
<?xml version='1.0' encoding='UTF-8'?>
googletestapp
nearby_service_id
*********
Client Js Or Ts
//클릭시 SDKBox Play 로그인 및 로그 아웃
onClickSDKBoxPlaySign() {
if (sdkbox.PluginSdkboxPlay.isSignedIn()) {
sdkbox.PluginSdkboxPlay.signout();
} else {
sdkbox.PluginSdkboxPlay.signin(true);
}
}
//클릭시 SDKBox Play를 초기화 시켜준다
onClickSDKBoxPlayInit() {
var me = this;
var initSDK = () => {
if ("undefined" == typeof (sdkbox)) {
cc.log("sdkbox is not exist")
return
}
if ("undefined" != typeof (sdkbox.PluginSdkboxPlay)) {
var plugin = sdkbox.PluginSdkboxPlay
plugin.setListener({
onConnectionStatusChanged: (connection_status) => {
cc.log("connection status change: " + connection_status + " connection_status");
if (connection_status == 1000) {
//구글 플레이 고유 아이디 및 계정 이름
cc.log('Player id: ' + plugin.getPlayerId());
cc.log('Player name: ' + plugin.getPlayerAccountField("name"));
this.label.string += plugin.getPlayerId()
this.label.string += plugin.getPlayerAccountField("name");
// me.info.setString("connection status: " + connection_status + " " + plugin.getPlayerId() + " " + plugin.getPlayerAccountField("name") + "(" + plugin.getPlayerAccountField("display_name") + ")");
} else {
// me.info.setString("Not connected. Status: " + connection_status);
}
},
onScoreSubmitted: function (leaderboard_name, score, maxScoreAllTime, maxScoreWeek, maxScoreToday) {
cc.log('onScoreSubmitted trigger leaderboard_name:' + leaderboard_name + ' score:' + score + ' maxScoreAllTime:' + maxScoreAllTime + ' maxScoreWeek:' + maxScoreWeek + ' maxScoreToday:' + maxScoreToday);
},
onMyScore: function (leaderboard_name, time_span, collection_type, score) {
cc.log('onMyScore trigger leaderboard_name:' + leaderboard_name + ' time_span:' + time_span + ' collection_type:' + collection_type + ' score:' + score);
},
onMyScoreError: function (leaderboard_name, time_span, collection_type, error_code, error_description) {
cc.log('onMyScoreError trigger leaderboard_name:' + leaderboard_name + ' time_span:' + time_span + ' collection_type:' + collection_type + ' error_code:' + error_code + ' error_description:' + error_description);
},
onPlayerCenteredScores: function (leaderboard_name, time_span, collection_type, json_with_score_entries) {
cc.log('onPlayerCenteredScores trigger leaderboard_name:' + leaderboard_name + ' time_span:' + time_span + ' collection_type:' + collection_type + ' json_with_score_entries:' + json_with_score_entries);
},
onPlayerCenteredScoresError: function (leaderboard_name, time_span, collection_type, error_code, error_description) {
cc.log('onPlayerCenteredScoresError trigger leaderboard_name:' + leaderboard_name + ' time_span:' + time_span + ' collection_type:' + collection_type + ' error_code:' + error_code + ' error_description:' + error_description);
},
onIncrementalAchievementUnlocked: function (achievement_name) {
cc.log("incremental achievement " + achievement_name + " unlocked.");
},
onIncrementalAchievementStep: function (achievement_name, step) {
cc.log("incremental achievent " + achievement_name + " step: " + step);
},
onIncrementalAchievementStepError: function (name, steps, error_code, error_description) {
cc.log('onIncrementalAchievementStepError trigger leaderboard_name:' + name + ' steps:' + steps + ' error_code:' + error_code + ' error_description:' + error_description);
},
onAchievementUnlocked: function (achievement_name, newlyUnlocked) {
cc.log('onAchievementUnlocked trigger achievement_name:' + achievement_name + ' newlyUnlocked:' + newlyUnlocked);
},
onAchievementUnlockError: function (achievement_name, error_code, error_description) {
cc.log('onAchievementUnlockError trigger achievement_name:' + achievement_name + ' error_code:' + error_code + ' error_description:' + error_description);
},
onAchievementsLoaded: function (reload_forced, json_achievements_info) {
cc.log('onAchievementsLoaded trigger reload_forced:' + reload_forced + ' json_achievements_info:' + json_achievements_info);
},
onSetSteps: function (name, steps) {
cc.log('onSetSteps trigger name:' + name + ' steps:' + steps);
},
onSetStepsError: function (name, steps, error_code, error_description) {
cc.log('onSetStepsError trigger name:' + name + ' steps:' + steps + ' error_code:' + error_code + ' error_description:' + error_description);
},
onReveal: function (name) {
cc.log('onReveal trigger name:' + name);
},
onRevealError: function (name, error_code, error_description) {
cc.log('onRevealError trigger name:' + name + ' error_code:' + error_code + ' error_description:' + error_description);
},
onGameData: function (action, name, data, error) {
if (error) {
// failed
cc.log('onGameData failed:' + error);
} else {
//success
if ('load' == action) {
cc.log('onGameData load:' + name + ':' + data);
} else if ('save' == action) {
cc.log('onGameData save:' + name + ':' + data);
} else {
cc.log('onGameData unknown action:' + action);
}
}
}
});
plugin.init();
// ref to http://discuss.cocos2d-x.org/t/sdkbox-play-savegamedata-error/39367
plugin.saveGameData("name", 'test'); // crash here ?
} else {
// printf("no plugin init")
}
}
initSDK();
}