Getting "No Push Token" For All Android Users

Anyone facing the same issue ?

Yes. We are having the same issue, can someone help to have a look on it?

Have you reached out to oneSignal?

Rob

Yes but not getting any reply.

Yes, same as @Falcon777.

@Rob

We had a Corona user contact us and said they noticed this issue when going from Corona build 2017.3182 to 2017.3184. They sent their device’s logcat which contained the following error.

12-21 11:51:05.285 17765-18017/? E/OneSignal: Error Getting Google Registration ID                                               java.lang.NoSuchMethodError: com.google.android.gms.iid.zzc.zzdj                                                   at com.google.android.gms.gcm.GoogleCloudMessaging.zzde(Unknown Source)                                                   at com.google.android.gms.gcm.GoogleCloudMessaging.register(Unknown Source)                                                   at com.onesignal.PushRegistratorGPS$2.run(PushRegistratorGPS.java:148)                                                   at java.lang.Thread.run(Thread.java:856)

It seems part of the Google Play services library isn’t getting add to their APK. Specifically an the com.google.android.gms.iid.zzc.zzdj class as noted in the error above.

Our OneSignal plugin contains the following so the GCM part of Google Play services should be included in their app.

coronaManifest = { dependencies = { ["shared.google.play.services.gcm"] = "com.coronalabs", ["shared.android.support.v4"] = "com.coronalabs" },

The OneSignal is calling GoogleCloudMessaging.register which exist in the Google Play services version 11.4.2 Corona just updated to.

https://coronalabs.com/blog/2017/12/12/android-support-library-plugins-updated/

Would appreciate @Rob or the Corona team to quickly look into this as push alerts are critical in my apps.  Thanks.

I tried to use Corona build 2017.3181, and the problem solved.

So I think Josh is right, the Corona build 2017.3182 to 2017.3184 have some problem with OneSignal plugin.

I don’t see a 3181 available. 

It’s broken since 3183.

If you need to build urgent you can download previous daily builds here http://developer.coronalabs.com/downloads/daily-builds

Hey, [member=‘josh_OneSignal’]!

Is it possible to rebuild OneSignal plugin with com.google.android.gms:11.4.2 and support libraries 25.2.0? We updated starting with 3183… It seems that IID changed between version and OneSignal is somehow reliant on previous version. in plugin folder just copy over previous folder, name it 2017.3183 and replace android jars.

Sorry for the delay. OneSignal just refers to the public method com.google.android.gms.gcm.GoogleCloudMessaging.register so a recompile would not change the OneSignalSDK.jar. The exact method exists in both 9.6.1 and 11.4.2 versions.

Some how the end result is that google-play-services-gcm-9.6.1.jar is being added to the APK instead of google-play-services-gcm-11.4.2.jar. I confirmed this by disassembling the APK and checking each of the dex files. I found that the com.google.android.gms.gcm.GoogleCloudMessaging.zzde method is trying to call com.google.android.gms.iid.zzc.zzdj which happens in gcm.9.6.1. However I can’t tell which version of the iid.jar is included in the APK. Both 9.6.1 and 11.4.2.jar don’t match the classes I am finding in the disassembled APK. One of the classes being add to the APK is com.google.android.gms.iid.MessengerCompat which is only in versions before 9.6.1 but not sure exactly which version is being added.

The above is just the end results of what I am seeing being inserted into the APK. Is Corona’s build servers are using .AAR directly instead of using gradle compile lines based on these public repos?

https://bitbucket.org/coronalabs/shared-hosted-google-play-services-gcm/src/77377e3068505b67d7b95eb0c422ec8d185f88de/plugins/2017.3183/android/?at=default

Anyway it seems some however a different version of the iid library either through another .aar file or a buid.gradle compile entry on your end is getting added.

@Bektur @vlads is this some you can check this on your end? You can also contact me via email if you prefer.

Is there anything new on this? 

I dropped back to 2017.3182 to get around the issue.   I noticed that the device running 3184 showed as Not Subscribed on the OneSignal control panel, and when sending a message from there, the device was ignored (which makes sense).  We send user-user messages and found that the send to a valid recipient id was returning failed due to an invalid id.

thanks

dave 

What is the current status on this?  Anyone from Corona Team going to act on this?

Hi, i am having the same problem, does Corona have any solution about this?

Thanks.

Sorry for the delay, we are working with someone at Corona to solve the issue. We have tried updating to newer GCM API to register the device (InstanceID.getInstance) without success. The issue seems to be related to the iid GCM library is not correct on Corona’s servers and we are working on debugging the issue still.

Hi!

I can confirm that here in Corona we are working on the issue and it is really looks like a build server related issue. We will continue investigation and will reply asap. 

Hello everyone, Corona has made some fixes on their end and the “No Push Token” error on Android has been resolved! You can now use Corona 2017.3184 and newer with OneSignal without any issues now.

Thanks for the update! I will give it a try.  :)

Yes. We are having the same issue, can someone help to have a look on it?