Version 4.2.0 (Unreleased)

General

  • Dropping support for Native iOS and Native Android.
  • Individual components within DarkMatter no longer have their own versions.

Ads

  • The old Ads system has been replaced with the AdSystemAdapter / Plugin system.
  • See the AdSystemAdapter Documentation for more update and integration details.
  • Android: updated Facebook Audience Network SDK to version 4.27.1.

Manifest

  • Retrieves a revision identifier for the manifest it downloads.

Analytics

  • Added the rid (Manifest Revision ID) property to every analytic event.
  • The api property now represents the DarkMatter SDK version.

Push

  • Initial implementation of Push Service see documentation for more details.

Version 4.1.3 (Native Android: Feb 22nd, 2017 (no SDK package made) Unity iOS/Android, Native iOS: not released)

  • Android: CSGEN-1919 Fixed a crash on Native Android where the Analytics Event Manager was throwing a ConcurrentModificationException.

Version 4.1.2 (Native Android: Dec 11th, 2017 Unity iOS/Android, Native iOS: not released)

  • Fixes an issue where calling getStorage(String key) on a UserServiceProfile with a key that has not been fetched yet for that user would return a value from a previous user that did have that value fetched.
  • Fixed an issue where if the manifest_hash was null coming from the server, it could potentially cause a null pointer exception.
  • Fixed an issue where a missing ad network configuration in the manifest would still cause that at network to report as being enabled if an ad request came in for it.

Version 4.1.1 (Unity iOS/Android, Native iOS: Nov 17th, 2017 Native Android: not released)

Game Service

  • Fixes an issue where a manually set installId would get overwritten on initialization.

Version 4.1.0 (Native iOS: Nov 2nd, 2017 Unity iOS and Android: Nov 14th, 2017 Native Android: not released)

General

  • Unity: The Android Export process has been updated to use the Unity Gradle build system. This should export a fully function Android Studio project right from Unity.
  • Unity: Some general sdk metric analytics will be collected and sent to help identify potential library issues.
  • ALL: 4.1.0 test apps for Native iOS / Android and Unity iOS / Android that implements and exposes most DarkMatter functionality.

Dark Matter

  • When using Hive the Dark Matter service can now be reinitialized.
  • Fix for potential crash on iOS 11 devices (see SS-273 for details).

Ads

  • iOS: updated MilennialMedia SDK to version 6.4.0
  • iOS: updated Facebook Audience Network SDK to version 4.26.0
  • Unity: now supports general DarkMatter ad analytics.

Analytics

  • iOS: updated Flurry SDK to version 8.1.0

Game Service

  • Supports changing the endpoint url from the Manifest on various calls.
  • A new GameServiceConfiguration manifest property gameSku was added which should map to the games sku. The old gameId is still present and should be a string identifier for the game
    "magic_test_app_staging": {
    "gameId": "testapp",
    "skuid": "MCSV5TEST4PPab9c0ea7ca19b39bccbe15b8"
    ...
    }
    
  • Facebook login functionality now officialy supported.
  • Logout functionality now officially supported.
  • Optional endpoints overrides can now be defined on the game service node of the manifest to change where some endpoints are pointed. The two currently supported keys are login and identify.
    "gameService": {
    "activeConfigurationKey": "qa",
    "configurations": {
        ...
    }
    "endpoints": {
      "login": {
        "path": "/users/login/facebook"
      },
      "identify": {
        "path": "/users/identify"
      }
    }
    }
    

User Service

  • Service in now officially supported.
  • Supports changing the endpoint url from the Manifest on various calls
  • Fixed a bug that would cause an attempt to reinitialize the local users data to not reinitialize.

Hive

  • Now support re-initialization.

Version 4.0.0 (May 17th, 2017)

General

  • Launch of the singular suite of client libraries from now on to be known as DarkMatter
  • Supports Unity iOS and Unity Android apps
  • Some asynchronous library functions now return promises.
    • Promise library used.
    • Some additional documentation on promises.
  • Includes the following subsystems:

Dark Matter

  • Initialization no longer takes a userId, the userid will be managed by the Game Services subsystem.

Manifest

  • Manifests will be automatically fetched and updated internally by the Dark Matter Game Service library.
  • OnManifestsCheckStarted / OnManifestCheckCompleted delegates have been removed. Use the HiveManager events instead.
  • Asynchronous manifest calls now return promises, see above for documentation.
    • HasNewManifest - will check to see if there is a new manifest for the current user.
      • Returns - IPromise
        • true if there is a new manifest.
    • CheckForUpdate - will fetch the latest manifest for the local user and a default manifest if the user isn’t defined
      • Returns - IPromise Response Object
        • success : bool - result of the request, in this case true if there was a new manifest
        • message : string - result of the request
        • error : DarkMatterError - will be null
        • headers : List<string, List> - will be null
        • data : ProxyObject - manifest object if the manifest was new, null if no manifest update was required

Ads

  • No significant changes from previous separate library.

Analytics

  • No significant changes from previous separate library.

Chronos

  • No significant changes from previous separate library.

StoreFront

  • No significant changes from previous separate library.

Game Services

  • Initial implementation
  • Now owns and controls the Manifest.
  • Responsible for handling all calls to the v5 server, as well as environment configuration changes (qa<->prod)
  • Automatically handles signing requests, and retrying requests on failure
  • Automatically gathers and sends app and device information headers on requests
  • Handles identifying the user’s account, supports Guest and Facebook login
  • Helper functions for resolving login conflicts

User Services

  • Initial implementation.
  • Handles automatically initializing a user’s online data and gathering info on launch based on configurations in a Manifest node.
  • Helper functions for modifying user data such as bankroll, xp, and bulkstore