6. Extend SDK Game Activity

Extend ClientMainActivity with SDKGameActivity. We need to override two function onCreateSdk(savedInstanceState: Bundle?) and getGameView(parentView: ViewGroup).

  • In onCreateSdk function, we need to call GameSdk.initialize.

  • In getGameView function, return the game screen showing the game.

  • WinZO game SDK uses GameCallbackListener to start and stop the game.

Example:

ClientMainActivity.kt
class ClientMainActivity : SDKGameActivity() {

    override fun onCreateSdk(savedInstanceState: Bundle?) {
        // initialize GameSDK
        GameSdk.initialize(
            context = this,
            clientAccessToken = "<your client access token>",
            isLiveApp = true,
            gameCallbackListener = object :
                GameCallbackListener {
                override fun gameConfig(gameConfig: String) {
                    Log.v("gameTag", "gameConfig received by game")
                }

                override fun startGame() {
                    Log.v("gameTag", "StartGame packet received by game")
                }

                override fun stopGame() {
                    Log.v("gameTag", "StopGame received by game")
                }

            },
            gameName = "your game name",
            gameImageUrl = "game icon url"
        )
    }

    // return view showing gamePlay
    override fun getGameView(parentView: ViewGroup): View {
        val gameView = LayoutInflater.from(this)
            .inflate(R.layout.activity_game_screen, parentView, false)
        return gameView
    }

    override fun onDestroySdk() {
        // do any task on activity destroy
    }
    
    override fun onActivityResultSdk(requestCode: Int, resultCode: Int, data: Intent?) {
        // do any task on activity result
    }
}

You will get clientAccessToken from WinZO.

There are 2 options for handling matchmaking

Option 1: For matchmaking on your side. gameConfig object is:

Option 2: For matchmaking on WinZO's side. Opponent data and challenge Id are received in the game config object.

Config is same as set by the game developer.

Last updated

Was this helpful?