Kindle Fire Push Notifications

Can anyone tell me if it is possible to implement push notifications on a Kindle Fire app using Corona?  We just published a turn-based game to the Amazon Kindle Store using parse as our back-end and now would like to add push notifications if possible.

I’m still investigating this issue and would appreciate any feedback from other members or better yet the Corona staff.  I was hoping I’d be able to use PushWoosh.  I was trying to follow along their Android tutorial and plug in Amazon relevant data that I gleaned from the Amazon dev site.  But maybe this is a lost cause if Android push on Corona only works with GCM?  Anyhow, here is what I’ve done so far.  I’ve posted similar questions to the guys at PushWoosh hoping maybe they can help as well.

First, what goes in the config.lua file?

I’m trying this, but I don’t know what I should stick in the spot that says projectNumber.  Presently on the Amazon site I have a “client id” and a “client secret”.  I also have the ability to generate an API key on the Amazon site, as well as the Pushwoosh app-id.

notification = 

    {

        google =

        {

            projectNumber = “3982849975315”

        },

    }

In the build.settings file, I also have some questions.  How do I set permissions for the Amazon push notifications?  Based on what I found in Amazon’s doc, I’m guessing something like this, where com.cluckeyetea.wordbang, is my own package.

androidPermissions = {

          “android.permission.INTERNET”,

         “com.cluckeyetea.wordbang.permission.RECEIVE_ADM_MESSAGE”,

        “com.cluckeyetea.wordbang.permission.RECEIVE_ADM_MESSAGE”,

        “com.amazon.device.messaging.permission.RECEIVE”,

        “android.permission.WAKE_LOCK”

      },

Finally, according the Amazon docs, I need to create an API key, a folder called assets, and in there create a file api_key.txt, that contains this API key.  Can I just create this folder and file in the same directory where my main.lua exists and expect corona to create it on my device at my app’s root level? Or do all these things get forced into the /res folder?

Oh, and where is the Corona SDK debug key store used to compile my builds at?  I need the MD5 to generate my API key on the Amazon site.

Just a quick update the folks at PushWoosh promised to get one of their engineers to respond to me on Monday.  So if I get some useful feedback on this topic I will post the results here for anyone else interested in push notifications on Kiindle Fire.

Corona does not support Amazon’s push notification system (aka: Amazon Device Messaging).

Corona only supports Google’s GCM push notification system, which only works if the Google Play app is installed on the Android device.  Kindle Fire devices do not come with the Google Play app, which means that they don’t support Google’s push notification system.

So, what you’re trying do will never work.  Not even via PushWoosh.  Amazon push notification support has to be added via native code because it involves integrating Amazon’s native SDK to make this work.

Thanks, Joshua.  I was afraid of that.  And while I would love to upgrade to the Enterprise Edition of Corona SDK to get the capability to add in Amazon’s ADM jars, I can’t justify the cost right now.  While it is a clunky solution I suspect what I will do is create a native Android Service that runs in the same name space as my game for handling the notifications.  I will make this service available to users as a free download on Amazon’s site as a “plug in”.  I guess my only option will be to kick it off at boot up via the android.intent.action.BOOT_COMPLETED system event unless there is a way in Corona I can kick it off for the first time when someone starts my game? Or maybe it is possible for me to make my Corona app broadcast an intent whenever someone enables or disables notifications in my menu?  My guess here is probably not without the Enterprise Edition again since these are very Androidy concepts and not really applicable to iOS.  Still it doesn’t hurt to ask right?

We have a pretty good relationship with Amazon.  They’ve written an Amazon in-app purchase plugin that’s currently in beta.  If there is enough demand for their push notification system, then that might spark interest for them to write a plugin for it.  So far, there hasn’t been much demand for it.  There’s more demand for Amazon gamecircle feature.

I recommend that you vote this up on our feature request list here…

   http://feedback.coronalabs.com/forums/188732-corona-sdk-feature-requests-feedback

There is an existing Amazon SNS feature request, but it’s not quite the same thing…

   http://feedback.coronalabs.com/forums/188732-corona-sdk-feature-requests-feedback/suggestions/4302867-cross-platform-push-notification-service-somethin

If other Corona developers that are reading this feel differently, then please voice your opinion.  We have no objection to adding support for this feature.  We’re just prioritizing based on demand.

+1 
Push notifications for Amazon would be awesome
For our multiplayer game, game invites can be sent cross-platform via push notifications…
As of now now amazon devices miss out. 

So yeah, would love to have push for Amazon.

I’m still investigating this issue and would appreciate any feedback from other members or better yet the Corona staff.  I was hoping I’d be able to use PushWoosh.  I was trying to follow along their Android tutorial and plug in Amazon relevant data that I gleaned from the Amazon dev site.  But maybe this is a lost cause if Android push on Corona only works with GCM?  Anyhow, here is what I’ve done so far.  I’ve posted similar questions to the guys at PushWoosh hoping maybe they can help as well.

First, what goes in the config.lua file?

I’m trying this, but I don’t know what I should stick in the spot that says projectNumber.  Presently on the Amazon site I have a “client id” and a “client secret”.  I also have the ability to generate an API key on the Amazon site, as well as the Pushwoosh app-id.

notification = 

    {

        google =

        {

            projectNumber = “3982849975315”

        },

    }

In the build.settings file, I also have some questions.  How do I set permissions for the Amazon push notifications?  Based on what I found in Amazon’s doc, I’m guessing something like this, where com.cluckeyetea.wordbang, is my own package.

androidPermissions = {

          “android.permission.INTERNET”,

         “com.cluckeyetea.wordbang.permission.RECEIVE_ADM_MESSAGE”,

        “com.cluckeyetea.wordbang.permission.RECEIVE_ADM_MESSAGE”,

        “com.amazon.device.messaging.permission.RECEIVE”,

        “android.permission.WAKE_LOCK”

      },

Finally, according the Amazon docs, I need to create an API key, a folder called assets, and in there create a file api_key.txt, that contains this API key.  Can I just create this folder and file in the same directory where my main.lua exists and expect corona to create it on my device at my app’s root level? Or do all these things get forced into the /res folder?

Oh, and where is the Corona SDK debug key store used to compile my builds at?  I need the MD5 to generate my API key on the Amazon site.

Just a quick update the folks at PushWoosh promised to get one of their engineers to respond to me on Monday.  So if I get some useful feedback on this topic I will post the results here for anyone else interested in push notifications on Kiindle Fire.

Corona does not support Amazon’s push notification system (aka: Amazon Device Messaging).

Corona only supports Google’s GCM push notification system, which only works if the Google Play app is installed on the Android device.  Kindle Fire devices do not come with the Google Play app, which means that they don’t support Google’s push notification system.

So, what you’re trying do will never work.  Not even via PushWoosh.  Amazon push notification support has to be added via native code because it involves integrating Amazon’s native SDK to make this work.

Thanks, Joshua.  I was afraid of that.  And while I would love to upgrade to the Enterprise Edition of Corona SDK to get the capability to add in Amazon’s ADM jars, I can’t justify the cost right now.  While it is a clunky solution I suspect what I will do is create a native Android Service that runs in the same name space as my game for handling the notifications.  I will make this service available to users as a free download on Amazon’s site as a “plug in”.  I guess my only option will be to kick it off at boot up via the android.intent.action.BOOT_COMPLETED system event unless there is a way in Corona I can kick it off for the first time when someone starts my game? Or maybe it is possible for me to make my Corona app broadcast an intent whenever someone enables or disables notifications in my menu?  My guess here is probably not without the Enterprise Edition again since these are very Androidy concepts and not really applicable to iOS.  Still it doesn’t hurt to ask right?

We have a pretty good relationship with Amazon.  They’ve written an Amazon in-app purchase plugin that’s currently in beta.  If there is enough demand for their push notification system, then that might spark interest for them to write a plugin for it.  So far, there hasn’t been much demand for it.  There’s more demand for Amazon gamecircle feature.

I recommend that you vote this up on our feature request list here…

   http://feedback.coronalabs.com/forums/188732-corona-sdk-feature-requests-feedback

There is an existing Amazon SNS feature request, but it’s not quite the same thing…

   http://feedback.coronalabs.com/forums/188732-corona-sdk-feature-requests-feedback/suggestions/4302867-cross-platform-push-notification-service-somethin

If other Corona developers that are reading this feel differently, then please voice your opinion.  We have no objection to adding support for this feature.  We’re just prioritizing based on demand.

+1 
Push notifications for Amazon would be awesome
For our multiplayer game, game invites can be sent cross-platform via push notifications…
As of now now amazon devices miss out. 

So yeah, would love to have push for Amazon.