SDKBOX 2.3.8 Released - Get your orders right

We just released SDKBOX 2.3.8 with new features and bugfixes

2.3.8 Release Notes

##Highlights

  • IAP plugin will report order id by default
  • AdColony SDK update
  • Apteligent SDK update
  • Appodeal SDK update

##Bugfix

For previous releases please visit here

Hey @nite
Why was Vungle plugin removed? I thought it was a nice for video and reward video ads. Isn’t it?

Can’t it be adjusted from the code itself using Placement array?
If the weights adjustment can be done through LiveOps, I feel that a developer must be able to do the same through code.

"placements": [
    {
      "id" : "placement-1",
      "strategy" : "round-robin",
      "units" : [
        {
          "unit": "AdColony",
          "name": "video"
        },
        {
          "unit": "Chartboost",
          "name": "interstitial"
        }
      ]
    },
   …
]

:thumbsup: for Native share

Yes it can be set in sdkbox_config.json as well

"placements": [
    {
      "id" : "placement-1",
      "strategy" : "weight",
      "units" : [
        {
          "unit": "AdColony",
          "name": "video",
          "weight":40
        },
        {
          "unit": "Chartboost",
          "name": "interstitial"
          "weight":40
        }
      ]
    },
   …
]

After I update sdkbox, my game build (eclipse project) is not success, below is error in ouput, how to fix this, thank you :smiley:

[dex] Converting compiled files and external libraries into E:\Cocos\Project\KVIP\frameworks\runtime-src\proj.android\bin\classes.dex...
       [dx]
       [dx] UNEXPECTED TOP-LEVEL EXCEPTION:
       [dx] com.android.dex.DexIndexOverflowException: method ID not in [0, 0xffff]: 65536
       [dx]     at com.android.dx.merge.DexMerger$6.updateIndex(DexMerger.java:484)
       [dx]     at com.android.dx.merge.DexMerger$IdMerger.mergeSorted(DexMerger.java:261)
       [dx]     at com.android.dx.merge.DexMerger.mergeMethodIds(DexMerger.java:473)
       [dx]     at com.android.dx.merge.DexMerger.mergeDexes(DexMerger.java:161)
       [dx]     at com.android.dx.merge.DexMerger.merge(DexMerger.java:188)
       [dx]     at com.android.dx.command.dexer.Main.mergeLibraryDexBuffers(Main.java:504)
       [dx]     at com.android.dx.command.dexer.Main.runMonoDex(Main.java:334)
       [dx]     at com.android.dx.command.dexer.Main.run(Main.java:277)
       [dx]     at com.android.dx.command.dexer.Main.main(Main.java:245)
       [dx]     at com.android.dx.command.Main.main(Main.java:106)
       [dx]

I tried build android studio project, game build success but it crash after several second, below is output, please help me

A/libc: Fatal signal 11 (SIGSEGV), code 1, fault addr 0x0 in tid 26162 (GLThread 3320)

Can you post more info? what plugin you used, and more log

After search google, I find a solution, enable multidex and everything is OK

https://developer.android.com/studio/build/multidex.html#mdex-gradle

Does the native share work for JS?

Because I tried and no matter what I do I get this:

D/cocos2d-x debug info: jsb: ERROR: File jni/../../../Classes/PluginShareJS.cpp: Line: 238, Function: js_PluginShareJS_PluginShare_nativeShare
D/cocos2d-x debug info: js_PluginShareJS_PluginShare_nativeShare : Error processing arguments

When I saw the code it seems that the arguments from JS aren’t used at all and there is this line instead:

#pragma warning NO CONVERSION TO NATIVE FOR SocialShareInfo

Will this be fixed, or native share is only for C++?

I have the same error as huyhungkun, how do i enable multidex if i am not using android studio? I don’t have a build.gradle to configure in the .android folder.

I’ve managed to fix it, by using:

sdkbox::jsval_to_std_map_string_string

and adding:

static sdkbox::SocialShareInfo map_to_SocialShareInfo(const std::map<std::string, std::string>& dict)
{
    sdkbox::SocialShareInfo info;

    if (dict.find("title") != dict.end())
    {
        info.title = dict.find("title")->second;
    }
    if (dict.find("link") != dict.end())
    {
        info.link = dict.find("link")->second;
    }
    if (dict.find("text") != dict.end())
    {
        info.text = dict.find("text")->second;
    }
    if (dict.find("image") != dict.end())
    {
        info.image = dict.find("image")->second;
    }

    return info;
}

huykungkun,

Is it difficult to change from a eclipse built to android studio? Would you show me some reference document? I have the same issue as you did now. Thank you.

very easy, I use command “cocos run -p android -m release --android-studio”, done :smiley: