I’ve got a couple of android devices that were using an older version of the plugin (SDK v1.11 I believe) and somehow got some tags stuck. I’m now using v1.13.1 but for these devices I’m getting an exception when using SendTags or DeleteTags:
06-22 11:58:34.851 19660 19684 W System.err: java.lang.ClassCastException: java.lang.String cannot be cast to java.lang.Number
06-22 11:58:34.851 19660 19684 W System.err: at com.onesignal.OneSignalStateSynchronizer.generateJsonDiff(OneSignalStateSynchronizer.java:97)
06-22 11:58:34.851 19660 19684 W System.err: at com.onesignal.OneSignalStateSynchronizer.generateJsonDiff(OneSignalStateSynchronizer.java:83)
06-22 11:58:34.851 19660 19684 W System.err: at com.onesignal.OneSignalStateSynchronizer.sendTags(OneSignalStateSynchronizer.java:599)
06-22 11:58:34.851 19660 19684 W System.err: at com.onesignal.OneSignal.sendTags(OneSignal.java:714)
06-22 11:58:34.851 19660 19684 W System.err: at OneSignal.LuaLoader$SendTagsFunction.invoke(LuaLoader.java:185)
06-22 11:58:34.851 19660 19684 W System.err: at com.ansca.corona.JavaToNativeShim.nativeRender(Native Method)
06-22 11:58:34.851 19660 19684 W System.err: at com.ansca.corona.JavaToNativeShim.render(JavaToNativeShim.java:182)
06-22 11:58:34.851 19660 19684 W System.err: at com.ansca.corona.Controller.updateRuntimeState(Controller.java:333)
06-22 11:58:34.851 19660 19684 W System.err: at com.ansca.corona.graphics.opengl.CoronaGLSurfaceView$CoronaRenderer.onDrawFrame(CoronaGLSurfaceView.java:421)
06-22 11:58:34.851 19660 19684 W System.err: at com.ansca.corona.graphics.opengl.GLSurfaceView$GLThread.guardedRun(GLSurfaceView.java:1623)
06-22 11:58:34.851 19660 19684 W System.err: at com.ansca.corona.graphics.opengl.GLSurfaceView$GLThread.run(GLSurfaceView.java:1378)
I’ve verified that the keys/values I’m sending are correct. In one devices I went into the OneSignal console and just deleted it completed in an effort to reset things.
Is there any way to find these specific devices out of the tens of thousands that I have? Is there a client side fix (either in lua or your plugin) that can purge these bad items?
The one device that I deleted in the console was 9fc79c89-7b19-43a1-bc2e-4a30630e63bb. Some others that I’ve left alone are:
d38c89cd-1570-4f21-b699-603d3d32c130
5139d7bc-713d-11e5-b57c-7725cd1b928e
b4955414-67db-11e5-b487-8b855506fdab