Introducing Shared Accounts!

Release Highlights

Highlights of this release include:

  • Shared Accounts – highly requested feature – brainCloud now allows you to share user accounts across applications.  This is achieved by creating a master profile (associated with a separate App ID), which is associated with individual child profiles for each app. This is extremely powerful for companies looking to link the players across a collection of games together, or to model sub-accounts under a single Home account for a household.  [i.e. think set-top box].
    For more information, see our Shared Accounts page in the API Docs.

Shared Account Overview

 

  • Facebook Notifications – we’ve always had them, but you couldn’t properly enable/disable them. Now you can turn them on/off in the Design | Notifications | Settings page on the portal. And note of course, that your app will need to ask for the appropriate Facebook permissions for them to work.
  • Billing changes (Boo!) – we’ve now added support for monitoring and billing for excess file transfer usage. All Standard Plan apps get 10GB per month of free downloads. After that, it’s $0.10 USD per GB. And note, we’re only charging for the S3 file downloads – not for any of the data otherwise associated with API — that’s all covered by the API counts.

 

Portal Changes

Changes to the portal:

  • Shared Accounts – configure parent-child app relationships under Design | Authentication | Shared Accounts.
  • Parent Currencies – a child app can include parent currencies in rewards for XP level-ups, Milestones, Quests and Statistics Events. All configurable under Design | Gamification.  Parent Currencies are also visible on the Design | Marketplace | Virtual Currencies page.  Note that you cannot yet award parent currencies for IAP Product Purchases [that will come next release].
  • Leaderboards – we’ve added a few additional “Are you sure?” checks to the process of resetting / deleting leaderboards, especially for live apps.
  • Improved Error Reporting – we’ve improved our logging system to show errors from more sources, including Server-to-Server calls and Scheduled Cloud Code.  We’ve also added a new error category, “Sys Warnings”.  Check it out in Global Monitoring | Recent Logs.
  • Profile Relations – profiles with parent or child profiles will see them listed at the bottom of the User Monitoring | User Summary page, in a section called Relations.  We’ve also moved the [Login as User] button to the top of the page for convenience.

 

API Changes / Additions

Changes and additions to the APIs:

  • Shared Accounts – related API enhancements:
    • Authenticate() and GetPlayerState() methods now return the id of the parent profile (if there is one), as well as any parent currency balances
    • New Identity methods for switching to/from parent and child accounts – SwitchToChildProfile(), SwitchToSingletonChildProfile(), SwitchToParentProfile() and GetChildProfiles().
    • Enhancements to currency methods to support Parent Currencies – AwardParentCurrency(), ConsumeParentCurrency(), GetParentCurrency() and ResetParentCurrency()
    • New RunParentScript() call to run a parent’s Cloud Code script (in the context of the parent profile)
  • EnableLogging now implemented for Windows Comms library
  • Objective-C library – better handling of optional parameters
  • Java library – callback mechanism has been refined to better match the other libraries. Also, you can now receive separate error callbacks for individual API calls.

 

Misc. Changes / Fixes

Additional improvements in this release:

  • Upgrade Push Notifications service – we’ve upgraded our underlying Push Notification libraries for greater reliability
  • Updated game examples – we’ve taken a pass through our examples to ensure that they’re using our latest and greatest libraries
  • Match expiry – plugged some holes in our completion of matches on Expiry timeouts
  • Improved handling of database connections under load
  • Miscellaneous performance improvements – mostly improvements under-the-hood to our logging subsystems
  • Miscellaneous documentation improvements