Feedback for SDKBOX

We love receiving feedback about our products! Give us SDKBOX Feedback here!

Now, that the download was working, I had the chance to dig through it a little.

The docs seems to be missing an important part. E.g., the Chartboost plugin:

Edit sdkbox_config.json by following the SDKBOX Configuration Reference at
the end of this document

Chartboost specific JSON

To add Chartboost , there are required values that need to be provided. To do this
add a section under under the OS you are deploying to.
Here is an example adding Chartboost to to sdkbox_config.json :

Unfortunately the docs end just here, with the example and the Configuration Reference mentioned above missing.

Thanks. I am fixing this.

Hi,

Why SDKBOX requiring to modify Cocos2dxActivity.java it seems like 2.2 version approach. In 3.x version changes should be made in AppActivity.java to be only project specific if cocos2d-x directory is shared between projects.

Who says it does? It’s not a requirement, but an option.

I guess they do it, because SDKBOX should be seen as an engine feature, not a project specific one.

Feel free to do so, as AppActivity is just derived from Cocos2dxActivity.

To me, the bigger question is the differences in the doc and the actual implementation. E.g.:

@Override
protected void onActivityResult( int requestCode, int resultCode, Intent data) {
    if(!PluginWrapper.onActivityResult(requestCode, resultCode, data)){
        super.onActivityResult(requestCode, resultCode, data);
    }
}

vs,

@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data)
{
    for (OnActivityResultListener listener : Cocos2dxHelper.getOnActivityResultListeners()) {
        listener.onActivityResult(requestCode, resultCode, data);
    }

    super.onActivityResult(requestCode, resultCode, data);
}

By using the PluginWrapper callback, we don’t have to go through the listeners any more, if it succeeded?

Why does the plugin wrapper has it’s onBackPressed callback?

@Override
public void onBackPressed() {
    if(PluginWrapper.onBackPressed())
    {
        return;
    }
    else
    {
        super.onBackPressed();
    }
}

No need to call the super callback, if the PluginWrapper callback succeeded? Why is that?

Using return in a functon, which is void? Pretty bad design, don’t you think? At least it is very sleazy :wink:

Why not just doing:

@Override
public void onBackPressed() {
    if(!PluginWrapper.onBackPressed())
    {
        super.onBackPressed();
    }
}

Pretty, short and solid :smile:

I am going to ask the developer to chime in here too.

My understanding here is that by doing the modification in Cocos2dActivity ensured it was always initialized. When we started this we were doing it in AppActivity. I dont have enough knowledge on the design of the plugins to answer further.

The change has to be in Cocos2dxActivity.java because of a JNI load issue, we’re working on solutions to simply it in the upcoming versions, but for now it has to be in Cocos2dxActivity.java

onBackPressed is there mostly because some third party sdk needs it. But good catch, we need to update the document on the onBackPressed() callback, and use this instead.

Nite i will make this doc change and send a PR

Is there any plan to support social share SDKs, such as shareSDK?

I will tell our PM and have him add it to the list of possibilities.

Guys, I am having an issue with the sdkbox for cocos2d-js.
I can’t seem to make the android or iOS builds work. In both cases it seems like we have duplicated symbols. I have watched the iOS problem more closely and it says that the same symbol “ParseUtils” is defined in two different locations. I am using the Facebook plugin as well, and it seems like the pluginProtocol and sdkbox are the ones defining this symbol. Can anyone help me?

I can tell you that SDKBOX does not use Parse.

EDIT: I am wrong, we do use it in a project.

Well, I am not sure what to say here, because, nonetheless, the “ParseUtils” is defined in the sdkbox and because of that I can’t finish my builds :confused:

Can I get the linker flags that you are using? Also, are you using armv7s in the build architecture?

Ok I think there is an issue, we’re going to fix that hopefully on next bugfix release.

Will it be open source? Any plan around that?

It will be easier for developers to learn how to integrate another SDK from the plugin source code. It’s hard for SDKBOX to support all the AD network like admob, mopub etc…

1 Like

Hey guys thanks, I hope we have more on this soon. If you still need more info I would be glad to help.

Hello, I’ve made my game for Android with Charboost and it works fine, but in the .apk file I can see and easily edit “sdkbox_config.json” and everyone can do it! Is it normal?

Well, not everyone. Just users with rooted devices. Each game runs in a sandbox, which the normal user can’t access.

Yes, this is normal, as the .apk container is just a zip archive. Anyone with a rooted device can edit all files in your .apk.
To counter such edits, you need to apply some sort of DRM/hashing/encrypting strategies to your game.