Initialize

Initialize the Versus SDK.

Android

/**
 * Initialize the Versus SDK!
 *
 * Note: Ensure the object returned in the live data observer is retained.  Subsequent calls
 * to initialize will return the same instance but should be avoided.
 *
 * @property appContext: Android Application Context
 * @property environment: Server environment to use with the SDK
 * @property applicationId: Application / Game Id to use with the SDK
 * @property externalPlayerId: Player Id for a given player
 * @property eventNames: Array of Challenge EventNames to use with the SDK
* @return VsLiveData<Versus> object.  Retain this object and use it to interact with the sdk.
*/
fun initialize{
  appContext: Context,
  environment: SDKEnvironment,
  applicationId: String,
  externalPlayerId: String,
  eventNames: List<String>
  ): VsLiveData<Versus>> {}
/* Versus SDK Setup */
 Versus.initialize(baseContext, environment, applicationId, externalPlayerId, eventNames)
   .observe(object : VsObserver<Versus>() {
     override fun onError(error: Throwable) {
       // Error encountered during initialization
     }

     override fun onChanged(t: Versus?) {
       // Success!  Store this object for future calls.
     }
   })

iOS

/// - Parameters:
 ///     - gameId: The game Id associated with your game.
 ///     - externalPlayerId: This should be a unique id associated with a players' device.
 ///     - environment: Versus API Environment (ex: Production, QA, Sandbox)
///     - initializeCompletionHandler: Closure that returns the main Versus Class Object which should be retained.
initialize(applicationId: String, externalPlayerId: String, environment: ServerConfig.VersusEnvironment, eventNames: [String],
              initializeCompletionHandler: @escaping InitializeCompletionHandler)