[aerogear-dev] Amazon Push SDK and Android Push SDK
Summers Pittman
supittma at redhat.com
Tue Feb 3 10:00:46 EST 2015
On 02/03/2015 08:31 AM, Sebastien Blanc wrote:
> Good Morning all !
>
> As you might know, we are currently adding Amazon Device Messaging
> support to the UnifiedPush server.
> The server side has been PRed and it's now time to work on the client SDK.
> As you probably know, the amazon devices : the Kindle Fire (2nd and
> third generation), Fire Phone and FireTV are running FireOS which is
> basically a fork of Android OS. And since we have an Android Push SDK
> I start looking if we could reuse it.
>
> First good news, is that since AGDroid 2.0, things has been nicely
> isolated and is open for extension. But there is still some
> refactoring to do, the "UPS Registration" flow/logic is still in the
> "gcm" package[1]. That logic should be moved one package level higher
> in a new Abstract class.
> In the end we will have a "gcm" package and a "adm" package (or
> project, see later in my questions)
>
> This way the ADM logic would be able to reuse that registration code.
> I started to play a bit with this refactoring here[2], disclaimer
> here, I'm not even sure that this code compiles, is just to give an idea.
>
> So before I go further, some questions (mainly for our Android Gods
> ;) ) :
>
> - Is this a good idea (reusing your SDK) ? I think yes, even if there
> is some time and effort needed for refactoring to make it completly
> generic.
+1
>
> - How do we build / package / deliver ? We probably want 2 distinct
> JAR/aar. We could use profile in Maven to only package one feature but
> that sounds a bit "messy".
> What about having sub-projects, this way we would have
> aerogear-android-push and then : aerogear-android-push-gcm and
> aerogear-push-gcm.
Putting gcm in a new artifact will break semver. Both should probably
just be in the -push artifact.
>
> - The registration flow for ADM[3] (so device <-> Amazon's server) is
> a bit different thant the GCM one
> , it's the same interface that receive the registration event and the
> push notification events. We have to check how this fit with the
> current architecture of android-push.
It looks close enough to the GCM flow that I wouldn't worry. The
biggest difference is GCM's service to handle messages and hand to your
app is in Google Play Services and here it is explicitly in your app.
>
> Other challenge will be shipping ADM jar, since this one is on Maven
> and must be downloaded manually but that is for later ;)
/me sees the old, deprecated ADT and runs.
The biggest problem will be supporting Eclipse again. I don't think we
can do this.
>
> Sebi
>
>
> [1]https://github.com/aerogear/aerogear-android-push/blob/master/aerogear-android-push/src/main/java/org/jboss/aerogear/android/unifiedpush/gcm/AeroGearGCMPushRegistrar.java
> [2]
> https://github.com/sebastienblanc/aerogear-android-push/tree/refactoring
> [3]
> https://developer.amazon.com/public/apis/engage/device-messaging/tech-docs/04-integrating-your-app-with-adm
>
>
> _______________________________________________
> aerogear-dev mailing list
> aerogear-dev at lists.jboss.org
> https://lists.jboss.org/mailman/listinfo/aerogear-dev
--
Summers Pittman
>>Phone:404 941 4698
>>Java is my crack.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.jboss.org/pipermail/aerogear-dev/attachments/20150203/73663d45/attachment-0001.html
More information about the aerogear-dev
mailing list