On Mon, Sep 12, 2016 at 9:13 PM, Kelvin Lunsford <kelvin(a)qantel.com> wrote:
This is not caused by the GSON bug. It is not a problem in Aerogear
Android Store.
Topics is more restrictive than JSON.
When Topics was implemented this validation check was added to Aerogear
Android Push:
private static final String FCM_TOPIC_PATTERN =
"[a-zA-Z0-9-_.~%]{1,900}";
private static void validateCategories(String... categories) {
for (String category : categories) {
if (!category.matches(FCM_TOPIC_PATTERN)) {
throw new IllegalArgumentException(String.format("%s does
not match %s", category, FCM_TOPIC_PATTERN));
}
}
}
This validation check should not be required. Topics was supposed to be
implemented into categories transparently. Instead of a validation check
the Topic names should have been encoded (i.e. percent encoding) before
being given to the Topics interface to avoid this Topics restriction.
Category names should not be stored as Topic encoded because they
might
be used for non-Topic notifications (e.g. a push with a category and an
alias).
- Kelvin
*From:* aerogear-users-bounces(a)lists.jboss.org [mailto:aerogear-users-
bounces(a)lists.jboss.org] *On Behalf Of *Daniel Passos
*Sent:* Monday, September 12, 2016 9:10 AM
*To:* aerogear-users(a)lists.jboss.org
*Subject:* Re: [Aerogear-users] categories have been hijacked
Hey Kelvin,
It's a knowledge[1] bug fixed[2] in AeroGear Android Store cause by a GSON
bug[3]. I'm going to create a new version of AeroGear Android Push library
using the new Store version to fix this bug.
[1]
https://issues.jboss.org/browse/AGDROID-564
[2]
https://github.com/aerogear/aerogear-android-store/pull/41
[3]
https://github.com/google/gson/issues/210
On Mon, Sep 12, 2016 at 4:33 AM, Matthias Wessendorf <matzew(a)apache.org>
wrote:
Hello,
sorry for the problems you are encountering with our UPS and its client
side libraries. I've created a JIRA ticket to capture the problem:
https://issues.jboss.org/browse/AGDROID-565
greetings,
Matthias
On Fri, Sep 9, 2016 at 10:40 PM, Kelvin Lunsford <kelvin(a)qantel.com>
wrote:
My categories no longer work on android because I use ":" characters in my
category names.
Last May aerogear-android-push:3.0.0 was released with Topics and now the
android plugin refuses to accept my category names with non-Topic
compatible characters.
IOS still works with non-Topic compatible characters, but there is a
regression in android.
I warned you. Category names should have been percent encoded before
applying them to the Topic interfaces in the plugin and UPS. It would have
prevented the regression, but nobody did it.
Now notifications are broken on the android version of my app.
If I want to make it work with the current plugin I will have to change my
category names to avoid using non-topic compatible characters. If I make
the change it will affect my android and IOS mobile apps, and I will have
to change the system that posts the notification requests to UPS so it also
changes the names.
If no one responds with a "No, wait, we'll fix it!" that is what I will
do.
- Kelvin
*From:* Kelvin Lunsford
*Sent:* Tuesday, August 18, 2015 3:25 PM
*To:* 'aerogear-users(a)lists.jboss.org'
*Subject:* RE: [Aerogear-users] categories have been hijacked
You need topic compliant percent encoding/decoding functions to use on
category names when setting them to/from topic names.
You can encode by using the android.net.Uri.encode() function and
replacing the characters missed by the encode() function. Uri.decode()
will work as is.
Equivalent encoding would have to be done in java for UPS when it accesses
a topic.
- Kelvin
*From:* aerogear-users-bounces(a)lists.jboss.org [mailto:aerogear-users-
bounces(a)lists.jboss.org <aerogear-users-bounces(a)lists.jboss.org>] *On
Behalf Of *Summers Pittman
*Sent:* Tuesday, August 18, 2015 6:26 AM
*To:* aerogear-users(a)lists.jboss.org
*Subject:* Re: [Aerogear-users] categories have been hijacked
On Mon, Aug 17, 2015 at 6:01 PM, Kelvin Lunsford <kelvin(a)qantel.com>
wrote:
Summers,
What happens if a category name is not GCM topic compatible?
That is a good question. Currently you will get a error because it fails
validation. We've created a JIRA to track this issue here :
https://issues.jboss.org/browse/AGPUSH-1501
Keep the hits coming.
- Kelvin
*From:* aerogear-users-bounces(a)lists.jboss.org [mailto:aerogear-users-
bounces(a)lists.jboss.org] *On Behalf Of *Summers Pittman
*Sent:* Tuesday, August 11, 2015 10:03 AM
*To:* aerogear-users(a)lists.jboss.org
*Subject:* Re: [Aerogear-users] categories have been hijacked
Kelvin,
For your tracking purposes :
https://issues.jboss.org/browse/AGPUSH-1493
On Tue, Aug 11, 2015 at 8:31 AM, Summers Pittman <supittma(a)redhat.com>
wrote:
On Tue, Aug 11, 2015 at 12:43 AM, Kelvin Lunsford <kelvin(a)qantel.com>
wrote:
Hi Summers,
GCM topic messages go to all devices registered for the topic. Topic
notifications cannot be restricted to an alias or list of aliases.
The way it worked before, and still works on ios, you can send a command
to UPS with an "alias" name AND a "categories" name and it will only
go to
devices that have registered using that "alias" name AND that
"categories"
name. UPS finds which devices meet the selection criteria and push
notification requests are sent for those devices.
Requests with aliases and categories can target specific users in a group.
With real "categories" you can segment users into groups, so every device
can be assigned a category, and sub-groups can be defined by using more
than one category per device. This is useful for geographic or
organizational targeting.
I have no problem with GCM topics. Just make it a new feature. Give me
back my categories.
So the goal isn't to replace or hijack categories with topics. The goal is
to leverage Google's API fully and transparently to the UPS user so that we
make fewer calls and provide a better experience. You have some great use
cases that haven't been brought up. Keep in mind that the PRs open right
now are a "first draft" of the technology. Feel free to join in on the
discussion about topics on aerogear-dev. It is really important we do this
right and I think you can help with that.
Summers
- Kelvin
------------------------------------------------------------
---------------------------
From: aerogear-users-bounces(a)lists.jboss.org [mailto:aerogear-users-
bounces(a)lists.jboss.org] On Behalf Of Summers Pittman
Sent: Monday, August 10, 2015 6:12 PM
To: aerogear-users(a)lists.jboss.org
Subject: Re: [Aerogear-users] categories have been hijacked
>
>On Mon, Aug 10, 2015 at 8:36 PM, Kelvin Lunsford <kelvin(a)qantel.com>
wrote:
>Setting "categories" in the push payload was working for android and ios
in cordova push plugin 1.1.1.
>
>For version 2.0.2 "categories" only works for ios.
>
>It looks like "categories" is being hijacked in android for a GCM feature
called "topics".
>
>I liked "categories". I was using it. Now it's gone. GCM topics is
not
a drop-in replacement. It's not the same thing.
What do categories do that topics do not do?
>New features should get new names and new commands.
>
>- Kelvin
_______________________________________________
Aerogear-users mailing list
Aerogear-users(a)lists.jboss.org
https://lists.jboss.org/mailman/listinfo/aerogear-users
_______________________________________________
Aerogear-users mailing list
Aerogear-users(a)lists.jboss.org
https://lists.jboss.org/mailman/listinfo/aerogear-users
_______________________________________________
Aerogear-users mailing list
Aerogear-users(a)lists.jboss.org
https://lists.jboss.org/mailman/listinfo/aerogear-users
--
Matthias Wessendorf
blog:
http://matthiaswessendorf.wordpress.com/
twitter:
http://twitter.com/mwessendorf
_______________________________________________
Aerogear-users mailing list
Aerogear-users(a)lists.jboss.org
https://lists.jboss.org/mailman/listinfo/aerogear-users
--
-- Passos
_______________________________________________
Aerogear-users mailing list
Aerogear-users(a)lists.jboss.org
https://lists.jboss.org/mailman/listinfo/aerogear-users