How do we know when a plugin has been updated and what was fixed/changed? I am especially interested in Google Play In App Billing v3

How do we know when a plugin has been updated and what was fixed/changed?  I am especially interested in Google Play In App Billing v3 as I am getting many crashes from it.

We will sometimes post them in the release notes.  Some plugins offer a way to get their version.

Rob

@Rob Has there been any recent changes to the Google Play IAB v3 plugin? Where can I find more info on changes of it specifically?

I can’t find the email from engineering.  But I think there were some additions where more information is being returned.

Rob

The fast turn over on plugin fixes is great but its really scary how they can be updated without us having a clue about how or why.

I see this as a major drawback to plugins. When you build, you always get the latest version of the plugin. The app developers need control over when they include a new version of the plugin in their app. Just like I can go back to older versions of CoronaSDK if I need to, I should be able to go back to an older version of a plugin.

@Rob - Could you please go into more detail?  I updated my Android apps about a month ago now using 2393 on ~ Sept 19th.  I migrated to v3 in anticipation of v2 no longer being an option in a couple of months.  Since then my crash reports have more than doubled.  Aside from the migration, there were only minor code changes in some of the apps.  I am getting a LOT of 1 star reviews now from people indicating the app will no longer open after a while. 

These errors are new and related to v3:

java.lang.IllegalStateException: Lua state is closed
at com.naef.jnlua.LuaState.check(Unknown Source)
at com.naef.jnlua.LuaState.rawGet(Unknown Source)
at plugin.google.iap.v3.LuaLoader$1.onIabSetupFinished(LuaLoader.java:148)
at plugin.google.iap.v3.util.IabHelper$1.onServiceConnected(IabHelper.java:262)
at android.app.LoadedApk$ServiceDispatcher.doConnected(LoadedApk.java:1068)
at android.app.LoadedApk$ServiceDispatcher$RunConnection.run(LoadedApk.java:1085)
at android.os.Handler.handleCallback(Handler.java:605)
at android.os.Handler.dispatchMessage(Handler.java:92)
at android.os.Looper.loop(Looper.java:137)
at android.app.ActivityThread.main(ActivityThread.java:4424)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:511)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:784)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:551)
at dalvik.system.NativeStart.main(Native Method)

There are also many other new errors that were not happening before as well that may be related to the Corona build itself… but I have no clue.

Any info would be helpful and appreciated…

Thanks!

Scott

Ok, I discovered why one of the apps was crashing in relation to v3.

In my main.lua I have had a code that triggers a native ratings popup after so many times opening.  For whatever reason, when this popup is triggered in my main.lua and then the store.init is triggered… the app freezes.  This is not the case for v2 or Apples store as it is code I’ve been using for years now.  I ended up moving the popup to another section of the code outside of the main.lua.  This seems to have resolved that issue. 

Still trying to figure out some of these other new crashes.

Yes, I agree there should be versioning and a formal release notes mechanism for plugins, both for Corona-built plugins and also 3rd parties. 

I just looked at the docs, and while it takes some digging, when I look at the Google IAP V3 docs, I see for loadProducts() that it was updated on Oct 13.  The example code has been updated.  So we are at least doing that.  I know release notes would be awesome and I’ll ask and see if that can be done.

Rob

Thanks for the info Rob.  So even after updating I am still receiving v3 errors:

java.lang.IllegalStateException: Lua state is closed
at com.naef.jnlua.LuaState.check(Unknown Source)
at com.naef.jnlua.LuaState.rawGet(Unknown Source)
at plugin.google.iap.v3.LuaLoader$1.onIabSetupFinished(LuaLoader.java:147)
at plugin.google.iap.v3.util.IabHelper$1.onServiceConnected(IabHelper.java:262)
at android.app.LoadedApk$ServiceDispatcher.doConnected(LoadedApk.java:1114)
at android.app.LoadedApk$ServiceDispatcher$RunConnection.run(LoadedApk.java:1131)
at android.os.Handler.handleCallback(Handler.java:733)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:146)
at android.app.ActivityThread.main(ActivityThread.java:5602)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:515)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1283)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1099)
at dalvik.system.NativeStart.main(Native Method)

I have no clue what this would be.

If you can create a reproducable issue, please submit a bug report.

Rob

We will sometimes post them in the release notes.  Some plugins offer a way to get their version.

Rob

@Rob Has there been any recent changes to the Google Play IAB v3 plugin? Where can I find more info on changes of it specifically?

I can’t find the email from engineering.  But I think there were some additions where more information is being returned.

Rob

The fast turn over on plugin fixes is great but its really scary how they can be updated without us having a clue about how or why.

I see this as a major drawback to plugins. When you build, you always get the latest version of the plugin. The app developers need control over when they include a new version of the plugin in their app. Just like I can go back to older versions of CoronaSDK if I need to, I should be able to go back to an older version of a plugin.

@Rob - Could you please go into more detail?  I updated my Android apps about a month ago now using 2393 on ~ Sept 19th.  I migrated to v3 in anticipation of v2 no longer being an option in a couple of months.  Since then my crash reports have more than doubled.  Aside from the migration, there were only minor code changes in some of the apps.  I am getting a LOT of 1 star reviews now from people indicating the app will no longer open after a while. 

These errors are new and related to v3:

java.lang.IllegalStateException: Lua state is closed
at com.naef.jnlua.LuaState.check(Unknown Source)
at com.naef.jnlua.LuaState.rawGet(Unknown Source)
at plugin.google.iap.v3.LuaLoader$1.onIabSetupFinished(LuaLoader.java:148)
at plugin.google.iap.v3.util.IabHelper$1.onServiceConnected(IabHelper.java:262)
at android.app.LoadedApk$ServiceDispatcher.doConnected(LoadedApk.java:1068)
at android.app.LoadedApk$ServiceDispatcher$RunConnection.run(LoadedApk.java:1085)
at android.os.Handler.handleCallback(Handler.java:605)
at android.os.Handler.dispatchMessage(Handler.java:92)
at android.os.Looper.loop(Looper.java:137)
at android.app.ActivityThread.main(ActivityThread.java:4424)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:511)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:784)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:551)
at dalvik.system.NativeStart.main(Native Method)

There are also many other new errors that were not happening before as well that may be related to the Corona build itself… but I have no clue.

Any info would be helpful and appreciated…

Thanks!

Scott

Ok, I discovered why one of the apps was crashing in relation to v3.

In my main.lua I have had a code that triggers a native ratings popup after so many times opening.  For whatever reason, when this popup is triggered in my main.lua and then the store.init is triggered… the app freezes.  This is not the case for v2 or Apples store as it is code I’ve been using for years now.  I ended up moving the popup to another section of the code outside of the main.lua.  This seems to have resolved that issue. 

Still trying to figure out some of these other new crashes.

Yes, I agree there should be versioning and a formal release notes mechanism for plugins, both for Corona-built plugins and also 3rd parties.