Skip to content

Commit b107a56

Browse files
author
Bruno Oliveira
committed
Updating plugin to 0.9.00. Adding turn-based and real-time multiplayer; bug fixes.
New features: * Turn-based multiplayer (iOS, Android) * Real-time multiplayer (iOS, Android) Bug fixes: * #49 - double cancellation necessary * #40 - add account crashes app * #25 - Action Scheduled for Later * properly close Achievement buffer * fix memory management on iOS * minor fixes
1 parent 1105dac commit b107a56

File tree

313 files changed

+13424
-1419
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

313 files changed

+13424
-1419
lines changed

CHANGELOG.txt

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,16 @@
1+
2014-03-17 Version 0.9.00 (codename: cuiaba)
2+
3+
New features:
4+
* Turn-based multiplayer (iOS, Android)
5+
* Real-time multiplayer (iOS, Android)
6+
Bug fixes:
7+
* #49 - double cancellation necessary
8+
* #40 - add account crashes app
9+
* #25 - Action Scheduled for Later
10+
* properly close Achievement buffer
11+
* fix memory management on iOS
12+
* minor fixes
13+
114
2014-02-04 Version 0.8.01 (codename: brasilia)
215

316
Updates all plug in code to use new Google Play Services

README.md

Lines changed: 52 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -13,15 +13,19 @@ _iOS is a trademark of Apple, Inc._
1313
## Overview
1414

1515
The Google Play Games plugin for Unity allows you to access the Google Play Games
16-
API through Unity's [social interface](http://docs.unity3d.com/Documentation/ScriptReference/Social.html). The initial release of the plugin provides support for the
16+
API through Unity's [social interface](http://docs.unity3d.com/Documentation/ScriptReference/Social.html).
17+
The plugin provides support for the
1718
following features of the Google Play Games API:<br/>
1819

1920
* sign in
2021
* unlock/reveal/increment achievement
2122
* post score to leaderboard
2223
* cloud save read/write
23-
* show built-in achievement UI
24-
* show built-in leaderboards UI
24+
* show built-in achievement/leaderboards UI
25+
* [turn-based multiplayer](TBMP.md).
26+
* [real-time multiplayer](RTMP.md).
27+
28+
All features are available on Android and iOS.
2529

2630
Features:
2731

@@ -33,21 +37,19 @@ Features:
3337

3438
System requirements:
3539

36-
* Unity&reg; 4.2 or above
40+
* Unity&reg; 4.3 or above
3741
* To deploy on Android:
3842
* Android SDK
39-
* Google Play Services library
43+
* Google Play Services library, version 4.2.42 or above
4044
* To deploy on iOS:
4145
* XCode 4 or above
4246
* Google Plus SDK for iOS
4347
* Google Play Games SDK for iOS
4448

45-
Note: This first release does not yet include support for multiplayer, listing friends,
46-
interactive posts, raw data access, etc.
4749

4850
## Upgrading
4951

50-
If you have already integrated your project with a previous version of the plugin and wish to upgrade to a new version, please refer to the [upgrade instructions](https://github.com/playgameservices/play-games-plugin-for-unity/blob/master/UPGRADING.txt).
52+
If you have already integrated your project with a previous version of the plugin and wish to upgrade to a new version, please refer to the [upgrade instructions](UPGRADING.txt).
5153

5254
## Configure Your Game
5355

@@ -59,6 +61,10 @@ on). Be particularly careful when entering your package name and your
5961
certificate fingerprints, since mistakes on those screens can be difficult to
6062
recover from.
6163

64+
If you intend to use real-time or turn-based multiplayer in your game, remember
65+
to activate those features in the Google Play Developer Console when creating
66+
your application instances.
67+
6268
Please note the following pieces of information when creating your client IDs,
6369
as they will be necessary later:
6470

@@ -103,7 +109,7 @@ quickly test your setup and make sure you can access the API.
103109
If you want to test a larger sample after you are familiar with the plugin,
104110
try the **CubicPilot** game.
105111
More information about building the samples can be found in the
106-
[samples README](https://github.com/playgameservices/play-games-plugin-for-unity/blob/master/samples/README.md) file.
112+
[samples README](samples/README.md) file.
107113

108114
## Plugin Installation
109115

@@ -482,6 +488,14 @@ will **not** be encrypted using this method when saved to the server.
482488
((PlayGamesPlatform) Social.Active).SetCloudCacheEncrypter(MyEncrypter);
483489
````
484490

491+
## Multiplayer
492+
493+
If you wish to integrate **turn-based multiplayer** in your game, refer to the
494+
[Getting Started with Turn-Based Multiplayer](TBMP.md).
495+
496+
If you wish to integrate **real-time multiplayer** in your game, refer to the
497+
[Getting Started with Real-Time Multiplayer](RTMP.md).
498+
485499
## Sign out
486500

487501
To sign the user out, use the **PlayGamesPlatform.SignOut** method.
@@ -507,9 +521,12 @@ fingerprint you entered in the Developer Console during the setup.
507521

508522
## Building for iOS
509523

510-
To build your game for iOS, do as you would normally do in Unity. Select **File | Build Settings**, then select the **iOS** platform. However, do not choose
511-
**Build & Run**. Instead, choose only **Build**, and select an output directory
512-
to save the XCode project.
524+
To build your game for iOS, do as you would normally do in Unity. Select **File | Build Settings**, then select the **iOS** platform.
525+
Click **Player Settings** and make sure that the target iOS platform is 6.0 or above.
526+
527+
Then, click **Build** and select an output directory to save the XCode project. Do not use
528+
the **Build and Run** option, since there are some manual steps you must take in
529+
the XCode project before your project can run.
513530

514531
After building the XCode project, the Play Games postprocessor will run to
515532
configure the Info.plist settings on your project. You will see a log of the
@@ -533,6 +550,7 @@ frameworks to that list:
533550
**QuartzCore**<br/>
534551
**Security**<br/>
535552
**SystemConfiguration**<br/><br/>
553+
**libc++.dylib**<br/><br/>
536554
2. Add the following bundles and frameworks from the Google Plus and Google Play
537555
Games SDK that you have previously downloaded. If you have not downloaded
538556
these files yet, they can be found [in the downloads section](https://developers.google.com/games/services/downloads) of the Google Play Games developer site. To add these frameworks you can simply drag
@@ -551,6 +569,15 @@ and drop those 5 files on the top-level project item (labeled **Unity-iPhone**).
551569
directory, you can use Unity's **Append** option to avoid overwriting these
552570
settings. If you use **Replace**, however, you might have to reapply some settings.
553571

572+
## Common Build Errors on iOS
573+
574+
**"The current deployment target does not support automated _weak references"**. Make sure your target iOS platform is 6.0 or above. If the target platform is below 6.0, this error will occur during build.
575+
576+
**"Dsymutil error"**. Depending on your version of XCode, you may need to disable dSYM file generation. To do this, go to Build Settings |
577+
Build Options | Debug Information Format | Debug. Select **DWARF** instead of **DWARF with dSYM**.
578+
579+
**URL errors while signing in.** This is often a sign that either the client ID or the Bundle Identifier is not correctly set up, or that your **Info.plist** file got corrupted. Check that your client ID and Bundle ID are correctly configured in the project and that they correspond to the data in the Developer Console.
580+
554581
## Building for iOS to run on the simulator
555582

556583
To run your game in the simulator as opposed to a real device, you must export
@@ -646,15 +673,28 @@ That way, you can even submit scores and achievements simultaneously to two or m
646673
// Submit achievement to Google Play
647674
PlayGamesPlatform.Instance.ReportProgress("MyGooglePlayAchievementIdHere", 100.0f, callback);
648675

676+
## Using Production APNS Certificate (iOS)
677+
678+
In the `GPGSAppController.m` file, you will notice within the `application:didRegisterForRemoteNotificationsWithDeviceToken` method that there are two calls;
679+
one for using a push notification in the sandbox environment, and one for using a push notification in the production environment. You should make sure to
680+
comment the first call (and uncomment the second) when you're ready to switch to a production environment and push notification.
681+
682+
649683
## Note from Maintainer
650684

651685
The plugin was developed and is currently maintained by [Bruno Oliveira](https://plus.google.com/+BrunoOliveira). Feel free to add me on Google+ and nag me to fix bugs or take a look at your questions on Stack Overflow!
652686

687+
## Acknowledgements
688+
689+
The iOS library makes use of the [MiniJSON.cs](https://gist.github.com/darktable/1411710) class developed by Calvin Rien (originally based on a parser by Patrick van Bergen),
690+
available under the MIT License.
691+
653692
## Special Thanks
654693

655694
This section lists people who have contributed to this project by writing code, improving documentation or fixing bugs.
656695

657696
* [Dgizusse](https://github.com/Dgizusse) for figuring out that setting JAVA_HOME is necessary on Windows.
658697
* [antonlicht](https://github.com/antonlicht) for fixing a bug with the parameter type of showErrorDialog on the support library.
659698
* [pR0Ps](https://github.com/pR0Ps) for fixing an issue where OnAchievementsLoaded was not accepting an OPERATION_DEFERRED result code as a success.
699+
* [friikyeu](https://github.com/friikyeu) for helping debug [an issue](https://github.com/playgameservices/play-games-plugin-for-unity/issues/25) that caused API calls to be queued up rather than executed even when connected.
660700

0 commit comments

Comments
 (0)