And instanceId.getToken() indeed returned null on first registration.
So native unified-push-helloworld app [1] can be used to reproduce this
issue.
[1]
On Mon, Jun 20, 2016 at 10:40 AM, Oleg Matskiv <omatskiv(a)redhat.com> wrote:
Hi,
I had very similar problem with native app (unified-push-helloworld), 400
code on first registration.
I'll check getToken() return value to verify that its actually same issue.
On Mon, Jun 20, 2016 at 10:28 AM, Julio Cesar Sanchez Hernandez <
jusanche(a)redhat.com> wrote:
> I think that should be enough, if the plugin uses the AGPush lib and the
> lib has that on the AndroidManifest, it should be merged with the app
> AndroidManifest. In the end a Cordova app is an Android app, it should work
> the same way the Android app works
>
> On Mon, Jun 20, 2016 at 10:02 AM, Matthias Wessendorf <matzew(a)apache.org>
> wrote:
>
>> Ok, so IMO that sounds like a bug in the Android lib, so the UPS
>> registration should be fired after 'onTokenRefresh' is called
>>
>> Also, cordova question. Do we need to define our
>> "UnifiedPushInstanceIDListenerService" in the plugin's config
section for
>> the manifest? Or is this, inside the AGPush lib good enough ?
>>
>>
https://github.com/aerogear/aerogear-android-push/blob/master/aerogear-an...
>>
>> Thanks,
>> Matthias
>>
>> On Mon, Jun 20, 2016 at 9:46 AM, Julio Cesar Sanchez Hernandez <
>> jusanche(a)redhat.com> wrote:
>>
>>> Yes, getToken will return null until onTokenRefresh is called the first
>>> time when it gets the real value.
>>>
>>> On Mon, Jun 20, 2016 at 9:06 AM, Matthias Wessendorf <matzew(a)apache.org
>>> > wrote:
>>>
>>>> I looked here:
>>>>
>>>>
https://developers.google.com/cloud-messaging/android/android-migrate-fcm...
>>>>
>>>> It says that we no longer need, but this:
>>>>
>>>>
https://github.com/aerogear/aerogear-android-push/blob/3.0.1/aerogear-and...
>>>>
>>>> was replace with explicit FCM getToken() call:
>>>>
>>>>
https://github.com/aerogear/aerogear-android-push/blob/4.0.0/aerogear-and...
>>>>
>>>> I think I am a bit over asked here, on the Android internals...
>>>>
>>>> Also, looks like we are not the only ones, seeing that problem :)
>>>>
>>>>
http://stackoverflow.com/questions/37836383/android-firebase-token-is-nul...
>>>>
>>>>
>>>>
>>>>
>>>>
>>>> On Sun, Jun 19, 2016 at 8:39 PM, Matthias Wessendorf <
>>>> matzew(a)apache.org> wrote:
>>>>
>>>>> Looking at the JavaDoc for the getToken():
>>>>>
>>>>>
https://developers.google.com/android/reference/com/google/firebase/iid/F...
>>>>>
>>>>> "the master token or null if the token is not yet
available"
>>>>>
>>>>> looks like on the android lib we should not have it return null ?
>>>>>
>>>>> On Sat, Jun 18, 2016 at 3:17 PM, Matthias Wessendorf <
>>>>> matzew(a)apache.org> wrote:
>>>>>
>>>>>> Hi,
>>>>>>
>>>>>> when I launch a fresh and clean Cordova app (I am unable to
>>>>>> reproduce this on our native Android HelloWorld), and open it the
first
>>>>>> time for registration, I am receiving a 400 status code from the
server.
>>>>>>
>>>>>> Uninstalling the app, and launching it again, show the the
problem
>>>>>> again, ONLY on Cordova...
>>>>>>
>>>>>> This means either the deviceToken from Android is null or
invalid
>>>>>> (according to the pattern):
>>>>>>
>>>>>>
https://github.com/aerogear/aerogear-unifiedpush-server/blob/1.1.x-dev/ja...
>>>>>>
>>>>>> Doing some debugging, on the server, I see the provided token is
>>>>>> actually null.
>>>>>>
>>>>>> Is there a race condition or so on the client, for the initial
>>>>>> launch of the app ?
>>>>>>
>>>>>> I added some logging on the client (see [1]), and indeed, it
looks
>>>>>> like, on Cordova, it is actually null:
>>>>>>
>>>>>>
https://gist.github.com/matzew/e66fa3e2bda6c4dd4655fbe5d63ed755#file-gist...
>>>>>>
>>>>>> Now... a few lines above... I see 'outdated' c2dm
>>>>>> packages/permissions, and a GCM: "Missmatched
messenger", it looks like
>>>>>> something is still not correct.
>>>>>>
>>>>>> Any thoughts ?
>>>>>>
>>>>>> -Matthias
>>>>>>
>>>>>> [1]
>>>>>>
https://github.com/matzew/aerogear-android-push/commit/1fa6aad53da4e1b9c4...
>>>>>>
>>>>>> --
>>>>>> Matthias Wessendorf
>>>>>>
>>>>>> blog:
http://matthiaswessendorf.wordpress.com/
>>>>>> twitter:
http://twitter.com/mwessendorf
>>>>>>
>>>>>
>>>>>
>>>>>
>>>>> --
>>>>> Matthias Wessendorf
>>>>>
>>>>> blog:
http://matthiaswessendorf.wordpress.com/
>>>>> twitter:
http://twitter.com/mwessendorf
>>>>>
>>>>
>>>>
>>>>
>>>> --
>>>> Matthias Wessendorf
>>>>
>>>> blog:
http://matthiaswessendorf.wordpress.com/
>>>> twitter:
http://twitter.com/mwessendorf
>>>>
>>>> _______________________________________________
>>>> aerogear-dev mailing list
>>>> aerogear-dev(a)lists.jboss.org
>>>>
https://lists.jboss.org/mailman/listinfo/aerogear-dev
>>>>
>>>
>>>
>>> _______________________________________________
>>> aerogear-dev mailing list
>>> aerogear-dev(a)lists.jboss.org
>>>
https://lists.jboss.org/mailman/listinfo/aerogear-dev
>>>
>>
>>
>>
>> --
>> Matthias Wessendorf
>>
>> blog:
http://matthiaswessendorf.wordpress.com/
>> twitter:
http://twitter.com/mwessendorf
>>
>> _______________________________________________
>> aerogear-dev mailing list
>> aerogear-dev(a)lists.jboss.org
>>
https://lists.jboss.org/mailman/listinfo/aerogear-dev
>>
>
>
> _______________________________________________
> aerogear-dev mailing list
> aerogear-dev(a)lists.jboss.org
>
https://lists.jboss.org/mailman/listinfo/aerogear-dev
>
--
Oleg Matskiv
Associate Quality Engineer
Red Hat Mobile Application Platform
omatskiv(a)redhat.com
--
Oleg Matskiv
Associate Quality Engineer
Red Hat Mobile Application Platform
omatskiv(a)redhat.com