Unity / Android / Google Play Game Services integration
Budget: $25 – $50 USD
Summary: we need a proof-of-concept that shows:
1. An Android, Unity-based game logging in a Google Play Games Service (GPGS) gamer/user, and letting the gamer play the game. The game will store (in GPGS) the various assets the gamer acquires in the game.
2. In GPGS console, configure a back-end server (provided) to be allowed to access GPGS on behalf of the game and the gamer. (This involves having the GPGS console create credentials for the server to use.)
3. A simple web page (provided) logs in the gamer using OAuth 2.0 / OIDC communication with GPGS. This web page will then ask the back-end server to access various items about the game and gamer from GPGS, and display them.
The technology items that we're proving are: 1) gamer login to Google/GPGS from a Unity app; 2) OAuth 2.0 / OIDC communication between the web page and GPGS; 3) calling GPGS API from the Unity app; 4) calling GPGS API from the back-end server. A back-end node-based server and a simple web page are provided as a base for developing. In order to get this working, the freelancer will have to build a simple Android app in Unity, registered with GPGS, and that makes various GPGS API calls.
Google Play Games Service (GPGS)
The usual use of GPGS is for Android games to call GPGS API endpoints. GPGS provides the game with such things as events (management of in-game assets (e.g., gold coins, arrows in a hunting game, etc.) would come under here), leaderboards, etc. For our purposes, though, GPGS also allows back-end servers to call GPGS API endpoints on behalf of a GPGS game and valid gamer. The provided server will act as one of those back-end servers, calling GPGS endpoints on behalf of the gamer playing the game that is registered with GPGS.
We need a proof-of-concept that shows the integration of a GPGS-registered Android game with the provided web page (modified as needed by you) and provided back end API server (modified as needed by you). You will develop:
1. A simple Android game (Unity), “registered” in the GPGS environment. It doesn’t have to do much at all. I suspect there are several sample/example games out there on GitHub. There really needn't be any game play, but the 'game' must allow the user/gamer to get and spend assets. The game will have three different assets: small bowls, medium bowls, and large bowls. We need something that:
a. Is known to (registered with) GPGS
b. The gamer can see his list of assets (the various bowls)
c. The gamer can obtain and ‘spend’ his assets
2. A simple web app/page (provided; you'll need to modify as required) that:
a. Gets the gamer to sign in to GPGS using OAuth protocols with his/her Google Id (resulting in the app having the gamer’s Auth Token for GPGS)
b. Passes the auth token to the simple back-end server (see below)
c. Tells the back-end server to get the list of assets from GPGS
d. Displays the results
3. A simple back-end server (node-based; provided; you'll need to modify as required) that would talk with the simple web app (as described in the previous step) and GPGS. It would:
a. Accept the gamer’s Auth Token generated in step 2.a.
b. Do the OAuth 2.0 and/or OIDC fal-de-rol to exchange that with GPGS for an Authorization Token.
c. Call some of the GPGS APIs for that user. For example, it would call GPGS to:
i. Find out what assets the gamer had earned in the game. (GPGS refers to assets through ‘events’, I think.)
ii. Decrease the amount of one of those assets.
1. An Android, Unity-based game logging in a Google Play Games Service (GPGS) gamer/user, and letting the gamer play the game. The game will store (in GPGS) the various assets the gamer acquires in the game.
2. In GPGS console, configure a back-end server (provided) to be allowed to access GPGS on behalf of the game and the gamer. (This involves having the GPGS console create credentials for the server to use.)
3. A simple web page (provided) logs in the gamer using OAuth 2.0 / OIDC communication with GPGS. This web page will then ask the back-end server to access various items about the game and gamer from GPGS, and display them.
The technology items that we're proving are: 1) gamer login to Google/GPGS from a Unity app; 2) OAuth 2.0 / OIDC communication between the web page and GPGS; 3) calling GPGS API from the Unity app; 4) calling GPGS API from the back-end server. A back-end node-based server and a simple web page are provided as a base for developing. In order to get this working, the freelancer will have to build a simple Android app in Unity, registered with GPGS, and that makes various GPGS API calls.
Google Play Games Service (GPGS)
The usual use of GPGS is for Android games to call GPGS API endpoints. GPGS provides the game with such things as events (management of in-game assets (e.g., gold coins, arrows in a hunting game, etc.) would come under here), leaderboards, etc. For our purposes, though, GPGS also allows back-end servers to call GPGS API endpoints on behalf of a GPGS game and valid gamer. The provided server will act as one of those back-end servers, calling GPGS endpoints on behalf of the gamer playing the game that is registered with GPGS.
We need a proof-of-concept that shows the integration of a GPGS-registered Android game with the provided web page (modified as needed by you) and provided back end API server (modified as needed by you). You will develop:
1. A simple Android game (Unity), “registered” in the GPGS environment. It doesn’t have to do much at all. I suspect there are several sample/example games out there on GitHub. There really needn't be any game play, but the 'game' must allow the user/gamer to get and spend assets. The game will have three different assets: small bowls, medium bowls, and large bowls. We need something that:
a. Is known to (registered with) GPGS
b. The gamer can see his list of assets (the various bowls)
c. The gamer can obtain and ‘spend’ his assets
2. A simple web app/page (provided; you'll need to modify as required) that:
a. Gets the gamer to sign in to GPGS using OAuth protocols with his/her Google Id (resulting in the app having the gamer’s Auth Token for GPGS)
b. Passes the auth token to the simple back-end server (see below)
c. Tells the back-end server to get the list of assets from GPGS
d. Displays the results
3. A simple back-end server (node-based; provided; you'll need to modify as required) that would talk with the simple web app (as described in the previous step) and GPGS. It would:
a. Accept the gamer’s Auth Token generated in step 2.a.
b. Do the OAuth 2.0 and/or OIDC fal-de-rol to exchange that with GPGS for an Authorization Token.
c. Call some of the GPGS APIs for that user. For example, it would call GPGS to:
i. Find out what assets the gamer had earned in the game. (GPGS refers to assets through ‘events’, I think.)
ii. Decrease the amount of one of those assets.