Skip to main content

Google Play Games Services

A Cordova plugin that let's you interact with Google Play Games Services.

https://github.com/artberri/cordova-plugin-play-games-services

Stuck on a Cordova issue?

Don't waste precious time on plugin issues.

If you're building a serious project, you can't afford to spend hours troubleshooting. Ionic’s experts offer premium advisory services for both community plugins and premier plugins.

Installation#

$ npm install cordova-plugin-play-games-services
$ npm install @ionic-native/google-play-games-services
$ ionic cap sync

Supported Platforms#

  • Android

Usage#

React#

Learn more about using Ionic Native components in React

Angular#

import { GooglePlayGamesServices } from '@ionic-native/google-play-games-services/ngx';
constructor(private googlePlayGamesServices: GooglePlayGamesServices) { }
...
// Authenticate with Play Games Services
this.googlePlayGamesServices.auth()
.then(() => console.log('Logged in to Play Games Services'))
.catch(e) => console.log('Error logging in Play Games Services', e);
// Sign out of Play Games Services.
this.googlePlayGamesServices.signOut()
.then(() => console.log('Logged out of Play Games Services'))
.catch(e => console.log('Error logging out of Play Games Services', e);
// Check auth status.
this.googlePlayGamesServices.isSignedIn()
.then((signedIn: SignedInResponse) => {
if (signedIn.isSignedIn) {
hideLoginButton();
}
});
// Fetch currently authenticated user's data.
this.googlePlayGamesServices.showPlayer().then((data: Player) => {
console.log('Player data', data);
});
// Submit a score.
this.googlePlayGamesServices.submitScore({
score: 100,
leaderboardId: 'SomeLeaderboardId'
});
// Submit a score and wait for reponse.
this.googlePlayGamesServices.submitScoreNow({
score: 100,
leaderboardId: 'SomeLeaderboardId'
}).then((data: SubmittedScoreData) => {
console.log('Score related data', data);
});
// Get the player score on a leaderboard.
this.googlePlayGamesServices.getPlayerScore({
leaderboardId: 'SomeLeaderBoardId'
}).then((data: PlayerScoreData) => {
console.log('Player score', data);
});
// Show the native leaderboards window.
this.googlePlayGamesServices.showAllLeaderboards()
.then(() => console.log('The leaderboard window is visible.'));
// Show a signle native leaderboard window.
this.googlePlayGamesServices.showLeaderboard({
leaderboardId: 'SomeLeaderBoardId'
}).then(() => console.log('The leaderboard window is visible.'));
// Unlock an achievement.
this.googlePlayGamesServices.unlockAchievement({
achievementId: 'SomeAchievementId'
}).then(() => console.log('Achievement sent'));
// Unlock an achievement and wait for response.
this.googlePlayGamesServices.unlockAchievementNow({
achievementId: 'SomeAchievementId'
}).then(() => console.log('Achievement unlocked'));
// Incremement an achievement.
this.googlePlayGamesServices.incrementAchievement({
step: 1,
achievementId: 'SomeAchievementId'
}).then(() => console.log('Achievement increment sent'));
// Incremement an achievement and wait for response.
this.googlePlayGamesServices.incrementAchievementNow({
step: 1,
achievementId: 'SomeAchievementId'
}).then(() => console.log('Achievement incremented'));
// Show the native achievements window.
this.googlePlayGamesServices.showAchivements()
.then(() => console.log('The achievements window is visible.'));