Google Now integration has been by far and away the most requested Action Launcher feature over the years. The roadblock here has always been the lack of an API from Google allowing other apps to use Google Now integration. With the recent revelation that Sony's launcher added support for Google Now integration, it seems Google are progressing in this area (yay!).
Tomorrow's Action Launcher 3.8 update will enable support for Google Now integration, but before I release the update, I thought it wise to release an FAQ to explain how this works, why its only available for root users and more.
Is there an API for apps to use Google Now integration?
Yes! But unfortunately at this time, Google have opted to only allow system apps to use Now integration. System apps are the same as a normal app you might install from the Play Store, except they generally come pre-installed on a device. Gmail and Google Maps are examples of system apps on a typical Android phone.
TL;DR: Given Google's current decisions around the Now integration API, Action Launcher must be installed as a system app on your device in order to use Now integration.
Wait, Now integration will only work if Action Launcher 3 is a system app? What's up with that?
Unfortunately, yes. The is entirely down to Google's conscious decision to only allow the Now integration API to work for system apps.
What is required to set Action Launcher as a system app?
To my knowledge the only way to convert an app to a system app is if your device is rooted. From there, setting Action Launcher as system app isn't too difficult. I have instructions for doing it via Titanium Backup or via ADB. Or you can Google search if you like. If anyone has any other suggestions here, please do let me know.
I don't want to/can't root my device. Can you add a hack or something to make Now integration work for all devices?
I don't believe there's anything I can do here I'm afraid. Believe me, if there was, I'd do it. But the reality is, whether Now integration works is entirely controlled by the Google App.
In layman's terms, Action Launcher requests the Google App to start Now integration. From there, the Google App basically says "is the app that's asking me to start Now integration a system app? If so, I'll allow it, if not, I won't allow it". There's not really any scope for anything on Action Launcher's end to trick the Google App into allowing Now integration to work.
Why would Google opt to make the Now integration only work for system apps?
As annoying as it might be for me as a launcher developer, I can somewhat understand Google's logic here. Seemingly Google opted to design this API for device manufacturers (whose launchers will automatically be system apps), not all apps.
If Google release a public Now integration API without the system app requirement, will Action Launcher support it?
Absolutely! It is my sincerest hope that Google do provide a public API for Now integration in the future, perhaps with a whitelist for trusted launcher apps or something else. If/when anything happens here, I assure you I will support it.
Is there anything I can do today to prepare for this update?
Sure. If you install any version of Action Launcher 3 as a system app today, when tomorrow's update lands, the app will update like any other app, and you'll be able to use Now integration as soon as the update is on your device.
How does Google Now integration co-exist in Action Launcher with the Quickdrawer, which also slides in from the left?
It doesn't. You have to pick one or the other.
You've never supported a root-only feature before. Why now?
Supporting a feature that requires tinkering with your device in ways that potentially voids a device warranty is something I've staunchly avoided in all my apps to this point. I'm making an exception here because:
- Adding Now integration is such a popular feature request, and finally it's one I can accommodate.
- A non-trivial percentage of Action Launcher's users are in fact rooted.
- Frankly, Now integration in Action Launcher is a damn cool feature.
I do not plan on marketing this as a core feature in the store listing, Plus upgrade panel, doing traditional promo video or anything like that. To be honest, I'm rather petrified that by supporting a feature that requires root, I'm going to get slaughtered in reviews from people who (understandably) don't grasp why anyone who just installs the app via the Play Store can't use the feature. I've attempted to mitigate this by removing Now integration related options from the app if the device is not rooted and explaining the situation in the in-app FAQ, but I'm still very nervous about it (Side note: if you are a root user and enjoy the feature, I'd appreciate a positive review!).
I've labeled Google Now integration as an Alpha feature in the app. This is because it's an experimental feature that is using an undocumented API, and could get pulled at any point for any number of reasons. Please be aware of this. That said, Now integration a terrific feature that feels great in Action Launcher, so I don't plan on removing it without a very good reason.
Thanks for your understanding. See you tomorrow for the update!