SDKBOX 2.3.11 Release - New push notification

2.3.11 Release Notes

With SDKBOX 2.3.11 release SDKBOX plugin are now inside Cocos Creator Store, we also added a new Push Notification SDK phunware which provides location based push notification

##Highlights

##Bugfix

  • Fix a bug for AppNext Android
  • Fix a bug with SDKBOX Ads weight more than 100, ads won’t play

For previous release notes, please visit here

2 Likes

Thank you for the release and the new functionality for Facebook requests (request gift functionality). Any chance a send gift function will make it into the next release so that the users who get requests can actually send the gifts?

We should be able to have it in 2.3.13 release. in early April

Great! Thank you :slight_smile:

Hello,

It seems that there is a bug in the IAP plugin as I’m trying to verify the receipts for purchased products, but they seem to be very inconsistent on JS. I’ve enabled the setting by using sdkbox.IAP.enableUserSideVerification(true);, but it seems that the receipt info is almost always empty (this is tested on Android).

If I purchase a product that is a consumable in the onSuccess callback I get both the receipt and receiptCipheredPayload, but if the product is a non-consumable these fields are empty.

If I use the restore purchase functionality the receipt fields are again empty for the non-consumable product.

Even in the onProductRequestSuccess callback the receipt data is empty for the non-consumable item, and even though the fields shouldn’t even exist for the consumable item, they are there (but empty as they should be).

The problem to me is coming from the plugin as it outputs debug data to the console and in it the receipt data is present, but the JS wrapper doesn’t receive it.

Here are examples of this:

Debug data from the plugin:

03-18 19:39:34.851 16636-16660/? D/IAP: GooglePlay Request result : 0 msg :Product request successful. data :
[{"id":"com.whitenovastudio.gametemplate.hd_graphics",
"title":"HD Graphics (game template 2)",
"desc":"Graphics that scale for larger displays",
"price":"BGN4.19",
"currencyCode":"BGN",
"priceValue":4.190000057220459,
"orderId":"",
"receipt":
   {"packageName":"com.whitenovastudio.GameTemplate",
    "productId":"com.whitenovastudio.gametemplate.hd_graphics",
    "purchaseTime":1489849392299,
    "purchaseState":0,
    "purchaseToken":"......."},
"cipheredReceiptInfo":"........."},

{"id":"com.whitenovastudio.gametemplate.coin_pack_50",
"title":"50 Coins (game template 2)",
"desc":"50 coins to use for in-game items",
"price":"BGN2.39",
"currencyCode":"BGN",
"priceValue":2.390000104904175}]

And this is what I get in the JS wrapper:

03-18 19:39:34.968 16636-16660/? D/cocos2d-x debug info: sdkbox IAP onProductRequestSuccess 
[{"name":"coin_pack_50",
"id":"com.whitenovastudio.gametemplate.coin_pack_50",
"title":"50 Coins (game template 2)",
"description":"50 coins to use for in-game items",
"price":"BGN2.39",
"currencyCode":"BGN",
"receipt":"",
"receiptCipheredPayload":""},
{"name":"hd_graphics",
"id":"com.whitenovastudio.gametemplate.hd_graphics",
"title":"HD Graphics (game template 2)",
"description":"Graphics that scale for larger displays",
"price":"BGN4.19",
"currencyCode":"BGN",
"receipt":"",
"receiptCipheredPayload":""}]

The coin pack purchase shouldn’t even contain the receipt and receiptCipheredPayload fields, whereas the hd graphics purchase should have the data from the debug output.

Please fix this and see if there are any similar bugs on iOS.

1 Like

I actually have the same issue now from C++. transactionID, receipt, and receiptCipheredPayload are empty for my non-consumable item.

Have you found a way around this?

Since the debug code from SDKBOX seems to show that this information is present from Google Play, the only workaround would be to write native Java code and invoke it by yourself, but that sort of beats the purpose of having SDKBOX in the first place.

If I wanted to do it that way, I would’ve started my own wrappers for all the plugins I need and at least know that they work and that I can edit them if I find a bug. The fact that SDKBOX is closed-source doesn’t help much here as I personally would’ve fixed the bugs or added the features I needed and pushed the code to the repository if I had access to it.

Now the only thing we can do is wait and hope that there aren’t many things in the queue till these things get sorted out.

Is it only for google play or happens on both itunes and google play

I was able to test it only on Android since my iOS license expired a few months ago and I don’t plan on renewing it until I have a game to publish. If somebody else has one this shouldn’t be hard to test.

I try to reproduce the issue with https://github.com/sdkbox/sdkbox-sample-iap, but seems getting receipts and payload

Can you try upgrading to 2.3.12 version

Note: only real transaction with real money will have transaction ID for google play

I was able to reproduce this issue, it only happens on JS binding, we’ll fix it in 2 or 3 days.

Thank you :slight_smile:

Sorry for posting in an old thread, but since the discussion was here I decided that it was better to post here than to start a new thread. Currently I’m using SDKBOX v2.3.13.5 and the bug for IAP still isn’t fixed - neither in the onProductRequestSuccess nor in the onRestored callbacks do I get receipt and receiptCipheredPayload for non-consumable items in the JS bindings - when will this be fixed ?

Just checked and even in the onSuccess the receiptCipheredPayload and receipt are empty in 2.3.13.5, so neither of the 3 callbacks work with non-consumable items in the JS bindings still

Is it only on Android or both?

I can test only on android, because me iOS license expired, so if you or somebody else can test it on iOS I would be grateful, otherwise I would be able to test it on iOS when I can publish my game.

tested on iOS device.

It’s great that it works on iOS, but does it work for non-consumable items as well? Because on Android I get the information as well when the item is consumable, but when it is non-consumable I receive empty strings.

Any progress on this? I saw that @yinjimmy has tested it on iOS with a consumable product, but I don’t know it if will work with a non-consumable product (since this is the case for which neither of the functions work on Android). Also some time frame for the fix would be welcome as more than 2 weeks have passed and this is a blocking issue for me.