Cordova Plugin For Google Play Games Services (Fork of ptgamr/cordova-google-play-game)
Modified to include the new Google Play Services (GoogleApiAvailability) and new methods for Leaderboards and Achievements.
Before you start:
Understand about Leaderboard and Achievement. Setting up your game in Google Play Developer Console https://developers.google.com/games/services/android/quickstart
NPM module has not been created for this fork yet
cordova plugin add cordova-plugin-play-games-services --variable APP_ID=you_app_id_here
You should do this as soon as your deviceready
event has been fired. The plugin handles the various auth scenarios for you.
window.plugins.playGamesServices.auth();
You should provde the option for users to sign out
window.plugins.playGamesServices.signout();
To check if the user is already logged in (eg. to determine weather to show the Log In or Log Out button), use the following
window.plugins.playGamesServices.isSignedIn(function (result) {
// ‘result’ is a JSON object with a single boolean property of ‘isSignedIn’
// {
// “isSignedIn” : true
// }
console.log(“Do something with result.isSignedIn”);
});
Fetch the currently authenticated player's data.
window.plugins.playGamesServices.showPlayer(function (playerData) {
...
console.log(“Authenticated as ”+playerData['displayName']);
});
Ensure you have had a successful callback from window.plugins.playGamesServices.auth()
first before attempting to submit a score. You should also have set up your leaderboard(s) in Google Play Game Console and use the leaderboard identifier assigned there as the leaderboardId
.
var data = {
score: 10,
leaderboardId: "board1"
};
window.plugins.playGamesServices.submitScore(data);
Ensure you have had a successful callback from window.plugins.playGamesServices.auth()
first before attempting to submit a score. You should also have set up your leaderboard(s) in Google Play Game Console and use the leaderboard identifier assigned there as the leaderboardId
.
This method submit the score immediately.
var data = {
score: 10,
leaderboardId: "board1"
};
window.plugins.playGamesServices.submitScoreNow(data);
Launches the native Play Games leaderboard view controller to show all the leaderboards.
window.plugins.playGamesServices.showAllLeaderboards();
Launches directly into the specified leaderboard:
var data = {
leaderboardId: "board1"
};
window.plugins.playGamesServices.showLeaderboard(leaderboardId);
Unlocks the specified achievement:
var data = {
achievementId: "achievementId1"
};
window.plugins.playGamesServices.unlockAchievement(data);
Increments the specified incremental achievement by the provided numSteps:
var data = {
achievementId: "achievementId1",
numSteps: 1
};
window.plugins.playGamesServices.incrementAchievement(data);
Launches the native Play Games achievements view controller to show the user’s achievements.
window.plugins.playGamesServices.showAchievements();
For all methods, you can optionally provide custom success/failure callbacks.
For example:
var successfullyLoggedIn = function () { ... };
var failedToLogin = function () { ... };
window.plugins.playGamesServices.auth(successfullyLoggedIn, failedToLogin);
var data = { ... };
var successfullySubmittedScore = function () { ... };
var failedToSubmitScore = function () { ... };
window.plugins.playGamesServices.submitScore(data, successfullySubmittedScore, failedToSubmitScore);
Currently, only Android is supported