58

Google provides a variety of 'cards' for Google Now (http://www.google.com/landing/now/). Is it possible to create your own cards? The system looks pretty modular, but I haven't found any documentation or instructions to do so. (I believe you need to supply the content of the card, and some way of signaling when it is supposed to be shown. There is probably just some interface that you have to implement.)

If there is no documented solution, a hackish/undocumented way would be ok, too. I'm mostly curious how it works.

Edit: Specifically, does somebody have knowledge about the internals of Google Now, e.g. by decompiling the .apk? What I've seen suggests it is pretty modular, and it should be fairly easy to drop another class into the .apk, or to maybe inject code using Cydia Substrate. I know that there is (as of Nov. 2013) no official way to add new cards.

jdm
  • 9,470
  • 12
  • 58
  • 110
  • I too would like to know how to add custom Google now cards. This could be helpful for apps that can benefit from integrating with Google now. Some may even make apps that only add a card and has no other GUI. I can see this being something that many app developers could use. – Patrick W. McMahon Jan 13 '15 at 22:31

6 Answers6

23

There is currently no way to do that. Google makes its own cards and custom application cannot register any cards. But I hope it will be possible in future.

Jakub Kinst
  • 357
  • 2
  • 9
  • 4
    I hope this will come soon. Would be nice to replace, e.g., Google's default weather card with something a little bit more accurate for the local climate (where that is available). – Michael A. Dec 10 '12 at 07:55
  • 3
    Yes, I would like to write a card that provides me daily quotes from wise people. E.g. Big Brother is watching you. --George Orwell. Hahaha sarcasm off. – rsan May 13 '13 at 01:03
16

Actually Google announced last week that developers can now develop custom Google Now cards:

http://www.google.com/landing/now/integrations.html

However, a developer guide seems not available yet.

Edit: On the end of the page they point out that:

We'll let you know when we are able to onboard more partners

Brian
  • 1,318
  • 1
  • 16
  • 33
  • 3
    The current situation is described by Google the following: "Now cards from apps are currently under development and are not available to all apps. We'll let you know when we are able to onboard more partners." – Daniel Feb 03 '15 at 22:24
  • @Daniel is this feature is available to all apps now ? – vishnupriyan Oct 08 '15 at 08:48
  • @vishnupriyan As you can see on the bottom of the linked page, the situation is still the same; sadly enough. – Jonas D. May 07 '16 at 09:56
14

There is a work-around that will soon allow you to place cards in Google Now's stream at a particular time or a particular location: Use Google Keep (https://drive.google.com/keep/)

You can create a new card at Google Keep with a time based or location based reminder, depending on which the relevant card will show up in Google Now.

Since Google Keep is now in Drive, the API is expected to be available soon (keep a lookout for it at http://discovery-check.appspot.com/ )

Abhishek
  • 141
  • 1
  • 5
3

There is not way to do this by your own at the moment. If you really want to do it you can fill in this form: https://services.google.com/fb/forms/nowintegrations/. You can ask Google if they want to cooperate to create a Google Now card.

ObAt
  • 2,337
  • 3
  • 24
  • 44
  • Right, I know there is no official way. When I posted the question, I looked at the disassembled code and it seemed pretty well structured. I was hoping someone maybe documented the internals of the Google now app. With a bit of unofficial documentation it should be possible to extend it by either decompiling+recompiling, or using something like Cydia Substrate to hotpatch it. – jdm Nov 28 '13 at 19:52
  • The request form doesn't work anymore: "Thank you for your interest. The form you are trying to access has either expired or reached its maximum registration limit." – Jarett Millard Mar 16 '16 at 18:00
2

Note quite an answer, as it is still not possible to create Google Now cards, but you can now hook into the Google Now search function (basically Android's Siri) and provide custom search results. For example you can say "show me the lyrics to..." and it opens a lyrics app.

Here is a link to the project which is based on the Xposed framework.

Just guessing from my impression of the Google Search apk (which includes all the Google Now functionality and even the home screen on KitKat), it should be possible to use a similar technique to inject cards into the app - however since the app is huge and very complicated, it will be a lot of work. I'd keep my eyes open on the xda-developers forums, wouldn't be surprized if someone there solves this in the future.

jdm
  • 9,470
  • 12
  • 58
  • 110
2

It appears that there is developer documentation on how to push google now info via email, eg. flight details, restaurant reservations etc.

https://developers.google.com/schemas/now/cards

I have yet to dig into this, but may update this answer if I discover anything significant.

ITJscott
  • 522
  • 4
  • 17