Workflow best practices for CocosCreator and SDKBox

Workflow best practices for CocosCreator and SDKBox


Greetings, developers.

I would like to integrate Google Play Games Services into my game and to follow a consistent workflow of developing, debugging and releasing my game.

I use CocosCreator 2.1 with Typescript and I have successfully installed SDKBox in the project. I also specified the app id and the OAuth2 client id, as the SDKBox tutorial explains.

Now, to be able to develop and test the login process, I am using the Android x86 emulator, because the “gpg” namespace is undefined if not running inside an emulator or phone.

My question is: is this really the only way? It is so costly and slows the development a lot. Futhermore, I wasn’t even able to debug in the Android emulator yet.

Thank you in advance for any help.

Edit: to help others with the same issue, the part of error 1/-3 was solved by forcing the SHA1 key in credentials page of Google Console.


yes, to test Google Login, you need a Android device (simulator or phone)

there are some pre-requisites for GooglePlay.


Thank you, yinjimmy. Is there any tutorial about debugging in such conditions? I tried one by N.Wigi that I found on Google, but for some reason, my VS Code did not show the option of Cocos-JSB for debugging.

Another thing, if you allow me: do you know if there are any plans to improve the Typescript support for SDKBox? The type-checking and code completion helps a lot!

I could help. Actually, I started that myself as a separate project, following the documentation of SDKBox, but it seems outdated or not in sync with current codebase (for example, the arguments in builder.create() method are in reverse order from the documentation). Because of that, I stopped.


the has been synced with code.



Which documentation should I follow? I was using this one:

If you look at the Builder.Create() method (, you will see that the method signature is: Create(platform_configuration, create_result)

However, in code ( the method expects the arguments in reverse order:

this.Create = function (create_result, platform_configuration) {

Maybe I am looking at the wrong documentation. Can you please point me to the right one?

Thank you.