I have an Alexa skill. How do I make it work with Google Home? - actions-on-google

I’ve already built an Alexa skill, and now I want to make that available on Google Home. Do I have to start from scratch or can I reuse its code for Actions on Google?

Google Assistant works similar to Amazon Alexa, although there are a few differences.
For example, you don't create your language model inside the "Actions on Google" console. Most Google Action developers use DialogFlow (formerly API.AI), which is owned by Google and offers a deep integration. DialogFlow offered an import feature for Alexa Interaction models, which doesn't work anymore. Instead, you can take a look at this tutorial: Turn an Alexa Interaction Model into a Dialogflow Agent.
Although most of the work for developing voice apps is parsing JSON requests and returning JSON responses, the Actions on Google SDK works different compared to the Alexa SDK for Node.js.
To help people build cross-platform voice apps with only one code base, we developed Jovo, an open-source framework that is a little close to the Alexa SDK compare to Google Assistant. So if you consider porting your code over, take a look, I'm happy to help! You can find the repository here: https://github.com/jovotech/jovo-framework-nodejs

It is possible to manually convert your Alexa skill to work as an Assistant Action. Both a skill and an action have similar life cycles that involve accepting incoming HTTP requests and then responding with JSON payloads. The skill’s utterances and intents can be converted to an Action Package if you use the Actions SDK or can be configured in the API.ai web GUI. The skill’s handler function can be modified to use the Actions incoming JSON request format and create the expected Actions JSON response format. You should be able to reuse most of your skill’s logic.

This can be done but it will require some work and you will not have to rewrite all of your code.
Check out this video on developing a Google Home Action using API.AI (that is recommended).
Once you have done the basics and started understanding how Google Home Actions differ from Amazon Alexa Skills, you can simply transfer your logic over to be similar. The idea of intents are very similar but they have different intricacies that you must learn.
When you execute an intent it seems as if your app logic will be similar in most cases. It is just the setup, deploying and running that are different.

Related

Is it possible to implement Hands free call using Dialogflow for Google Home

I have some requirement to develop a Hands free call using Dialog-flow with/without using third party apps.Is it possible to implement business services using custom skill for Hands free calls from Google Home.Whether this kind of permission is provided from Google Home or not?
If their means can i have a sample/example related to above requirment
Thanks in Advance.
As far as I know Google (and I don't speak for them) does not publish an API for making calls the way the Home devices do. The best that you can do is to put a link on a button on a basic card or have a suggestion link that references the "tel:" scheme.

Adding chat functionality to a game using telegram api

I want to add chat functionality to a game I have developed using Unity, and I'm going to use Telegram for that. I didn't found telegram api documentation enough helpful, and it seemed to have steep learning curve specially for advanced features.
So I searched for something that could give me a high level tool, and I found Telegram Cli (also in Python) and Telegram Bot Api. But I don't know that they can be used to develop a chat app. Telgeram Bot is suggesting that is used for creating telgeram bots, not chat app instances. Also Telegram Cli seemed to be a command line version of desktop app.
Anyway what I want to add is chatting with friends, adding other players to friend list, and other thing that a chat application has.
My question is: Can I use either telgeram bot api or telegram cli to create something like a chat application? or I have to use Telegram Api and MTProto?
If I have to use the second method, I would really appreciate some sample code or a simple guide.
Also I have read other questions like this and this. Second one is really good, but I don't understand VB.net. Some C-Like language or python is really better.
and I have read documentation pages like Creating an Authorization Key (Sample) or Creating an Authentication Key, and they weren't enough helpful. TL Language is quite complicated too (IMHO).
Edit: Since it might be ambiguous, I want to use Telegram Api to add chat In my game.
you didn't mention specifically if you want players to chat inside your app or out of your app in telegram?
out of your app: well, you could just create telegram.me/username links inside your app and when a user clicks it. Telegram app would open and he would start chatting with the opponent just right away.
this method is:
easy (no special coding required)
familiar UI
not limited to game users
some might not have telegram installed already and would be forced to download and extra app to use your game
it would be out of your control (who knows when their service might not )
inside your app: you'd have to write your own telegram client, which is not easy and going by telegram rules, like getting pin codes for signing in and other stuff, I don't think it would work for you. Instead if you try to write your own game messaging system yourself, I guess you'll spend less time and get better results.
good amount of coding
have to go by an extra signing process for users
need to keep up with updates and changes

Building a 'bot' that lives in a Google Spreadsheet

I'm wondering if there's Google Apps API support for building a bot that lives in a Spreadsheet and interacts with users via the in-document chat features. I can't find a Google Apps API that defines calls to view and send messages for in-document chat, but I figured I'd ask in here case I'm missing anything!
If this doesn't exist, any suggestions about how I might build out this type of functionality?
I am fairly certain there is no official API for the in-document chat. I do know that the regular Google chat uses XMPP; the in-document chat probably just uses a more limited version.
In theory, I suppose Google should not be able to differentiate between a program and a user. You might be able to reverse-engineer the chat protocol by digging through the source or inspecting the network. You could also run a browser on your machine and simulate mouse and keyboard input, like a regular input.
Alternatively, you could interact with the user using the spreadsheet itself, via the Google Spreadsheet API.

Concuming Web services from Apple PAstry Kit

I'm about to implement a web app with pastry kit but I'd like to have it fetching data from a backend hosted on the net.
This backend is reacheable via a Web service... IS there a method in PAstry kit allowing me to call directly a web service and parse response data to update my page ?
Are you aware that PasrtyKit is an Apple project that has not been made publicly available and seems to have only been used by Apple in one project and that all the information and code libraries available have been reversed engineered by people curious as to what is in the package and therefore might change or go away at any moment and has no Apple documentation or support?
Given that the short answer to you question is you will have to google for what is available and then hack it yourself.
You might also want to look at AdLib. It's like Pastry but drives the documentation for the iPad and it might be a bit more accessible as it was built later than Pastry Kit.
Also it is just a guess on my part but i suspect the data sources as they work in DashCode and are reasonably well documented should work in AdLib or PastryKit as Apple would have no reason to change the model.

What is good way to register users from phone app

We have a web application and we've built phone applications (iPhone, Android, BlackBerry) to be companions to the site. The usual workflow is that an existing user of the site gets a phone app and then plugs their existing credentials into the phone app and they are off and running, but more often now we are seeing folks who are downloading the app and then (and this should not surprise anyone) don't read the help screen that explains they need to go and get credentials at the web site and therefore cannot connect to the application which does require registration to manage their content. This is a giant usability fail condition.
So we know that we need to put user registration workflows on the phone app.
Other than the obvious solution of duplicating our registration page on the mobile, does anyone know of a better identity solution for the phone? For example, on the desktop we also use Facebook Connect as an identity server and the users love it. I'm looking for something that simple that we can implement across the major smartphone platforms.
Clarifying note:
I should add here that this registration mechanism is likely to; and it would be desirable if it did, go hand in hand with a general identity/authorization mechanism such as the Facebook mechanism mentioned below.
One other place I'm poking around is to see whether there's an openId solution that does not require a browser to pop up.
Restful service might be the e asiest way for you to achieve this, you can use it on any device that can make http requests, so you can make your own login screens and talk to the s ervice that way...
Facebook has a Connect API for the iPhone. Integrating it into your iPhone app is very smooth.
http://developers.facebook.com/connect_iphone.php
On the BlackBerry we were able to build a fairly robust REST pipeline between the client apps in the field and our servers. We primary use the framework for updates, but the device API is generic enough to be able to build almost anything you need via standard HTTP/HTTPS GET/POST calls.
On the RIM platform, look into the HttpConnection API as a starting point. There is also an example on the BlackBerry Developer's site which will help. Finally, I believe there are several examples inside the sample package that comes with every BlackBerry JDE (IDE + API download).