Persistent job scheduling implementations are going in nearly all our apps. On Android, we have AlarmManager and JobScheduler APIs. With Google Play Services, we also have GCM Network Manager and the upcoming Firebase JobDispatcher libraries. We will briefly discuss AlarmManager and its limitations as well as JobScheduler and its niceties, for those new to the API. GCM Network Manager and its usecases will be the core of this talk, and then we will cover the current abstractions that Firebase JobDispatcher gives us. GCM Network Manager is going to be unavoidable in the near future of Android development. Statically registered implicit BroadcastReceivers are going to be no-oped in coming releases. (The NEW_PICTURE action already is no-oped in 7.0.) At IFTTT, we rely on a lot of these broadcasts to run Triggers reliably, and we are now planning for the future with GCM Network Manager to continue delivering consistently great experiences for our users. The removal of these implicit broadcasts is a great push to update to persistent job scheduling!
I strive to build delightful experiences for users' most personal devices. I love constantly learning and building new techniques, and Android provides both a great platform and an excellent community for devs.