diff --git a/src/@ionic-native/plugins/google-play-games-services/index.ts b/src/@ionic-native/plugins/google-play-games-services/index.ts index a07951fa3..a925282eb 100644 --- a/src/@ionic-native/plugins/google-play-games-services/index.ts +++ b/src/@ionic-native/plugins/google-play-games-services/index.ts @@ -90,6 +90,40 @@ export interface Player { } +export interface SubmittedScoreData { + + /** + * The leaderboard ID from Goole Play Developer console. + */ + leaderboardId: string; + + /** + * The player ID from Goole Play Developer console. + */ + playerId: string; + + /** + * The score data in a display-appropriate format. + */ + formattedScore: string; + + /** + * Whether or not this score was the player's new best score. + */ + newBest: boolean; + + /** + * The raw score value of this score result. + */ + rawScore: number; + + /** + * The score tag associated with this result, if any. + */ + scoreTag: string; + +} + /** * @name Google Play Games Services * @description @@ -133,11 +167,19 @@ export interface Player { * 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); + * console.log('Player score', data); * }); * * // Show the native leaderboards window. @@ -152,12 +194,23 @@ export interface Player { * // 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. @@ -234,6 +287,20 @@ export class GooglePlayGamesServices extends IonicNativePlugin { return; } + /** + * Submit a score to a leaderboard and waits for the response from + * Google Play Games. You should ensure that you have a + * successful return from auth() before submitting a score. + * + * @param data {ScoreData} The score data you want to submit. + * @return {Promise<SubmittedScoreData>} Returns a promise that resolves when Play + * Games Services returns the score information. + */ + @Cordova() + submitScoreNow(data: ScoreData): Promise<SubmittedScoreData> { + return; + } + /** * Get the player score on a leaderboard. You should ensure that you have a * successful return from auth() before requesting a score. @@ -277,25 +344,49 @@ export class GooglePlayGamesServices extends IonicNativePlugin { * * @param data {AchievementData} * @return {Promise<any>} Returns a promise that resolves when the - * achievement is unlocked. + * achievement is sent. */ @Cordova() unlockAchievement(data: AchievementData): Promise<string> { return; } + /** + * Unlock an achievement and wait for response. + * + * @param data {AchievementData} + * @return {Promise<any>} Returns a promise that resolves when the Play + * Games Services returns that the achievement is unlocked. + */ + @Cordova() + unlockAchievementNow(data: AchievementData): Promise<string> { + return; + } + /** * Increment an achievement. * * @param data {IncrementableAchievementData} * @return {Promise<any>} Returns a promise that resolves when the - * achievement is incremented. + * achievement is sent. */ @Cordova() incrementAchievement(data: IncrementableAchievementData): Promise<string> { return; } + /** + * Increment an achievement and wait for response. + * + * @param data {IncrementableAchievementData} + * @return {Promise<any>} Returns a promise that resolves when the Play + * Games Services returns that the achievement has been incremented. + */ + @Cordova() + incrementAchievementNow(data: IncrementableAchievementData): Promise<string> { + return; + } + /** * Lauches the native Play Games achievements view controller to show * achievements.