我注意到我们的后端出现了一个问题,该问题始于10月份。准确地说是10月15日。似乎我从Android上的GCM获得无效令牌,我的后端然后存储并且也无法发送推送通知。
有一点需要注意的是,我使用了弃用的api。这可能是问题的一部分,但我无法确认。 This is the API I'm using to register users with GCM
我回来的代币有一种我不熟悉的格式。这是我的有效令牌,以APA9
开头。
Valid token: APA91bFolo25yEfP2_3wUt3bPO08S3Hz1NBpJbyWkW5_hhsQ6WggOogQOXPYohmh
然而,我得到的代币看起来像这样:
Invalid token: csPVRloDPzc%3AAPA91bFFU2DOGLg3hXoOvQ9vnhN3gMA4aalBAhGGJzAqt4Jtyy
注意通常的APA9之前的额外字符。如果我删除这些额外字符,则令牌仍然无效。所以我不确定究竟是什么问题。问题是随机发生的,有时我会得到正确的代币,有时我也不会。
显然,使用弃用的API根本不理想,这将是我改变的第一件事,但是在我提到的日期之前,这个问题始于它自己,没有任何代码更改。
任何见解都会非常有用。感谢。
答案 0 :(得分:1)
这是我的有效令牌,从APA9开始。
令牌不必以APA9开始有效。在我的数据库中,我的ID以几乎任何字母开头(但从不是数字)。
我的所有ID都有一个共同点,就是:
作为第12个字符,APA9
就在那之后。
你的无效'看起来像csPVRloDPzc%3AAPA91bFFU2DOGLg3hXoOvQ9vnhN3gMA4aalBAhGGJzAqt4Jtyy
的令牌也有一个作为第12个字符,但它似乎是URL编码为%3A
。
我怀疑如果您解码它,它将突然成为有效的ID。