Search docs/

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?

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.

Contact Us Today!

Installation

ionic cordova plugin add cordova-plugin-play-games-servicesnpm install @ionic-native/google-play-games-services
Ionic Native Enterprise comes with fully supported and maintained plugins from the Ionic Team. Learn More or if you're interested in an enterprise version of this plugin Contact Us

Supported Platforms

  • Android

Usage

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.'));