Google Glass add timeline item from companion app - google-glass

I have GDK app and companion app(which runs on mobile device) both paired via Bluetooth. Now I have to send notification to glass app(want to add new timeline item) from companion app. Is it possible? If so please share idea and some sample code.
Note: I want to implemet this feature without using Mirror API.
Thanks.

Currently, the only way to add an item to the timeline is via the Mirror API.

Related

How to insert a static Card to the timelime?

how is it possible to insert a static card to the timeline with Glass Development Kit Preview:19 via the gdk? I need to push a card on the right side of the timeline while been able to associate a share action.
You must use the Authentication API and then call Mirror from your GDK app via Account info to insert the card. Based on the documentation the static card feature in the GDK have gone away and you have to use mirror.

Request data from my Google Glass to Mirror API?

Since you canĀ“t do all the nice looking stuff with the GDK at this point (html, images and so on) on cards. I was wondering if there is a possibility to ask a Mirror API from within my application (created with GDK) to send me some data?
Example:
I see the flow like this:
The GDK app is started with "ok glass, search app"
You talk what you want to search for.
The app takes the word and asks the Mirror API for a result.
The Mirror API sends the result to the glass timeline.
Regards
Joakim
Absolutely. If it makes sense for your app to either communicate with an external service that sends data back via the Mirror API, or calls the Mirror API itself, then you can certainly do so. (Although you begin getting dangerously close to just doing it all in Mirror at that point.)
The biggest challenge you'll face is having your app go through the OAuth dance to get an auth token to use.
It sounds like the core of your issues is that you want a richer way to display content in the static part of the timeline to the right of the clock. You have a couple of options.
GDK
If you'd like to stay pure GDK, you can create your own view, and flatten it into a bitmap. The steps to complete this are the same as for other Android devices.
Mirror API
You could also use the Mirror API to insert HTML static cards using timeline's insert method, but to do this you will need to communicate some authentication information to your GDK Glassware. For example, if you want to insert into the Mirror API directly from Glass, you would need a way to provide an access and refresh token to your GDK Glassware.
There is no graceful way to do this with the released APIs, but I've seen some people accomplish this using the OAuth 2.0 flow for devices or scannable QR codes.
If you go down this route, be prepared to update your implementation. Google has announced improved support for sending authentication information to GDK Glassware. Once it's available you will want to switch over to it.
Mirror API allow you to communicate back to it from Glass through the contact that you can create using Mirror API.
How it works -
you create a contact,
then when you need to do wit GDK on step 2 of your flow is share a
note with your contact
the words get transcribed and delivered to you Mirror notification
listener.
the mirror notification listener on server get the text of what kind
of app you would like to search, perform the search and deliver the
result by simply publishing on your timeline.
That's the best that i can see right now.
Here is a link how to declare voice menu commands (now only two are available, but you can propose more)
https://developers.google.com/glass/develop/mirror/contacts#declaring_voice_menu_commands
P.S. To go through oauth2 challenge - download sample mirror app
https://developers.google.com/glass/samples/mirror edit you
oauth2.properties file with creds you will get on your google development web console (you will need to create the app with google and request to enable Mirror API)
then run mvn clean install
then run
mvn jetty:jetty

How would I call a web-service from Google Glass

I was exploring Google glass. From the dev guides it is clear that to call web services I need to Mirror Apis. But mirror APIs seems to me a platform that helps inserting cards into Glass timeline from remote location.
Can Mirror API help me to get the data from some remote server and return a JSON or XML response ? Or Otherwise via Mirror API I need to parse the response and prepare a Card there to push it to Glass Timeline.
Anyone please help me out on this query.
Neither API, Mirror or GDK, will actually do the work of calling the remote server and getting a response - those are normal things that you should be able to do with the underlying tools they are built on (whatever platform you choose to develop with, if you're using Mirror, or Android if you're using the GDK).
What both APIs support, however, is helping you deliver that information to Glass in the most appropriate way possible.
The Mirror API is good for Glassware that is accessed over the Internet and work with the native timeline operations that Glass provides. The GDK is useful for more immersive or dynamic applications that don't necessarily work with the timeline or the network.
It's the second one: Otherwise via Mirror API I need to parse the response and prepare a Card there to push it to Glass Timeline. . This answer discusses the notion of accessing web services from the Mirror API, but to answer your question, your web server will need to get and parse the XML/JSON data, create a card (using the data) and push it to your Glass device.

How I submit my glass app in google glass

I build a glass app using mirror api. Now I want to submit in google that any one can download my app from glassware.
How can I do it?
It sounds like you'd like to have your Glassware listed on MyGlass. Follow these steps:
Ensure that your Glassware adheres to all of the guidelines provided in the official documentation. Google provides a checklist that you can use.
Prepare icons and assets that will appear on Glass and MyGlass. There's a list of the icons to create here.
Fill out the distribution form to initiate the review process.
If you'd like to use any new voice commands from the "ok glass" menu, request these in a separate form.

How does the user launches an app on Google Glass with Mirror API

I'm trying to make a sample app on Google Glass. Currently, I do not have a device.
My question: after I finish creating the app, what is the action needed to see it on the launch page? Do I need to send an API request to add the card to the user's timeline? or I can perform some kind of a normal install, and see it on the main menu then?
Thank you for your help.
There are two types of Glasswares (Glass applications):
GDK Glassware
MirrorApi Glassware
You can only distribute Mirror Api Glassware for now. See my question and answer for it.
If you are trying to distribute a Mirror Api Glassware (after you finished development), you have to fill the submission form.
Your glassware is going to be reviewed by Google. After Google approves, your Glassware is going to be seen at MyGlass site. Then users can go to MyGlass site and register to your Glassware with OAuth flow.
Also see this distribute page.
As far as I've understood by "launch page" you mean MyGlass page (https://glass.google.com/myglass).
If that's the case - Your Mirror-based application will appear on the user's MyGlass page once he/she authorizes it (OAuth will be completed).
Hope this will help.