This is the Google Play Game Services module for Godot Engine (https://github.com/okamstudio/godot)
Drop the "gpgs" directory inside the "modules" directory on the Godot source.
In android/AndroidManifestChunk.xml modify:
<meta-data android:name="com.google.android.gms.games.APP_ID"
android:value="\ 012345678901" />
Replace your APP_ID value, it must begin with "\ ".
<meta-data android:name="com.google.android.gms.version"
android:value="@integer/google_play_services_version" />
If your other module had this meta-data delete it (It can only be one).
Recompile.
In Example project goto Export->Target->Android:
Options:
Custom Package:
- place your apk from build
Permissions on:
- Access Network State
- Internet
To enable the module on Android, add the path to the module to the "modules" property on the [android] section of your engine.cfg file. It should look like this:
[android]
modules="org/godotengine/godot/GodotGooglePlayGameServices"
If you have more separete by comma.
If the plugin doesn't works:
The following methods are available:
# Init GooglePlayGameServices
# @param int instance_id The instance id from Godot (get_instance_ID())
init(instance_id)
# Connected callback
_on_google_play_game_services_connected()
# Network Lost callback
_on_google_play_game_services_suspended_network_lost()
# Service disconnected callback
_on_google_play_game_services_suspended_service_disconnected()
# Disconected by unknown causes callback
_on_google_play_game_services_suspended_unknown()
# On disconected method callback
_on_google_play_game_services_disconnected()
# Sign In method
signIn()
# Sign Out method
signOut()
# Get connection status
# @return int Connection status: 1 - Connecting..., 2 - Conected, 0 - Other states
getStatus()
# Achievements
# --------------------
# Unlock Achivement
# @param @param String id Achivement ID to unlock
unlockAchy(id)
# Increment Achivement
# @param String id Achivement ID to increment
# @param int amount The amount for increment
incrementAchy(id, amount)
# Show Achivements List
showAchyList()
# Leaderboards
# --------------------
# Upload score to a leaderboard
# @param String id Id of the leaderboard
# @param int score Score to upload to the leaderboard
leaderSubmit(String id, int score)
# On submitted leaderboard score OK
# @param String id Id of the leaderboard (sometimes you maybe want more than one at the same time)
_on_google_play_game_services_leaderboard_submitted_ok(id)
# On submitted leaderboard score Error
# @param String id Id of the leaderboard (sometimes you maybe want more than one at the same time)
_on_leaderboard_submit_error(id)
# Show leader board
# @param String id Id of the leaderboard
showLeaderList(String id)
# Get the value of one leaderboard (returned by a callback)
# @param String id Id of the leaderboard
getLeaderboardValue(id)
# Callback when the score is ok
# @param int score Score returned
# @param String id Id of the leaderboard (sometimes you maybe want more than one at the same time)
_on_leaderboard_get_value(score, id)
# Callback when the score is on error
# @param String id Id of the leaderboard (sometimes you maybe want more than one at the same time)
_on_leaderboard_get_value_error(id)
# Snapshots
# ---------
# Save snapshots
# @param String snapshotName The name of the snapshots
# @param String data The data to save serialized on string
# @param String description A description for the snapshot
saveSnapshot(snapshotName, data, description)
# Load snapshot
# @param String The name of the snapshots
loadFromSnapshot(snapshotName)
# Callback when the snapshot is loaded
# @param The data from the snapshot
_on_google_play_game_services_snapshot_loaded(data)
# Real Time Multiplayer
# ---------------------
# Show invite players screen
# @param int min The minimum number of players
# @param int max The maximum number of players
invitePlayers(min, max)
# Show Invitation box
showInvitationInbox()
# Send reliable message
# @param msg The message to send
# @param participantId The id of the receipt participant
sendReliableMessage(String msg, String participantId)
# Send broadcast message over reliable format
# @param String msg The message to send over broadcast
sendBroadcastMessage(String msg)
# Leave the room
leaveRoom()
# On start the game (All participants are in)
_on_gpgs_rtm_start_game()
# On received message
# @param String participantId The id of the participant message
# @param String msg The message
_on_gpgs_rtm_message_received(participantId, msg)
# On disconnected from room
_on_gpgs_rtm_disconnected_from_room()
You can find an example on "demo/GooglePlayGameServices.gd" file.
MIT license