What is a good way to deploy/reference Alexa Skills on my website - alexa

I have built a Alexa Skill, but for now it only works for Alexa Device.
I wonder if that is possible I can deploy/reference the Alexa Skill in my website (only text or voice part)?
One use case:
User can say "i am born in xx/xx/xxxx", and Alexa can capture the intent "CaptureBirthdayIntent", so that my website code (Python) can address the intent.
I found many CMS (e.g. Wordpress, Drupal) can do this: https://medium.com/#OPTASY.com/how-to-integrate-alexa-with-your-drupal-8-website-a-step-by-step-guide-5a76c1d74a88. But I am not using those CMS.
It also seems like Alexa Voice Service can do this.
Can anyone give me some reference?

In most cases, you'll need to use Account Linking, which is an API where the customer links their account at your website and their account with Alexa, and then you'll have a unique ID for the customer that is the same in both your skill and your external app (and is unique to that link between them), so you can sync data between them using a database.
https://developer.amazon.com/en-US/docs/alexa/account-linking/understand-account-linking.html
You can create your own unique OAuth 2 provider at your web app or use Login with Amazon, Login with Google, Facebook, AWS Cognito... Having your own OAuth provider can make it way easier to get a customer linked and not have them give up, because adding in third parties (LwA, Google, FB, AWS) adds extra logins/authorizations to complete the process.

You can use Dialogflow to do this. Make a chatbot with similar intents and map the endpoint to Alexa endpoints and should work. I am sure you can easily work it out if you have made an Alexa skill.

Related

Using Alexa Capabilities within an Alexa skills

Alexa is able to find service providers and also call them. Is it possible to use this capability from an Alexa skill. For example could an Alexa skill find and call a near-by doctor upon request?
The direct calling and search features of Alexa are not available currently within a custom skill, however you could achieve this your by using 3rd party APIs.
For example you can look up local businesses using the Yelp API and connect and connect a call using a Twilio API. You may want to register the user’s mobile number for this particular example.
It should also be noted that the features available in the Amazon SDK are always being updated. So it may be added in the future.

dialogflow.com - How to integrate with Google Home / Alexa

I am working on an e-commerce website and would like to integrate with Google Voice assistant or Amazon alexa. I have gone through the dialogflow on how to build a voice assistant. But how It'll be available in amazon alexa or google home that shipped to every household ?
Both Alexa and Google Assistant let you develop things that work very much like websites - Alexa calls them Skills, Google calls them Actions. These are programs that run on your (or a) web server, get HTTPS calls from Amazon or Google with JSON information about what the user has said, and are expected to return JSON information that replies to what has been said.
Amazon requires you to use the Alexa Skills Kit to do the development of these sites, but Dialogflow can export its model to Alexa. Google is a little more open, but since they own Dialogflow, integrating a Dialogflow agent with Actions on Google is very straightforward.
You will need to register your Skill/Action with the appropriate company, but once you have done so, it is available to the users. Alexa users need to "install" the Skill from the Skills directory, although that really just means that they can activate it. The Assistant doesn't require users to activate it this way, but it will be listed in the directory. In both cases, users can then trigger it by saying something like "open Skill Name" or "talk to Action Name".

How to integrate with alexa app

I have a music application. I have built all the custom skill for my music application and it is working fine in amazon echo device. My question is how do i integrate it with alexa app. I can see spotify, pandora, saavn etc in the music section of alexa app and any song playing from this 3rd party application will appear in playqueue and now playing section in alexa app. So how to integrate? Any ideas or link regarding this will help me a lot.
Read and follow this: Submitting the Skill for Certification
When your skill is ready for publication, you can submit it to Amazon for review. The Submit for Certification button becomes available once all required fields are completed.
So make sure you meet all Certification Requirements.
When you submit your skill to the Alexa skills store, it must pass a certification process before it can be published live to Amazon customers. Before you submit your new skill for certification, you should perform your own quality assurance testing.
First, Policy Testing.
The following list shows specific examples that we look out for when evaluating whether a skill can be made available on Alexa.
Second, Security Testing.
To protect customer data, the cloud-based service for your skill must meet Amazon’s security requirements.
Third, Functional Testing.
The functional tests verify that: The skill’s basic functionality matches the information displayed on the skill’s detail card in the Amazon Alexa app. ...[And] the skill’s core functionality works and provides useful home cards to the Amazon Alexa app.
Fourth, Voice Interface and User Experience Testing.
Voice interface and user experience testing focuses on: Testing the user experience to ensure that the skill is aligned with several key features of Alexa that help create a great experience for customers. [And] reviewing the intent schema, the set of sample utterances, and the list of values for any custom slot types you have defined to ensure that they are correct, complete, and adhere to voice design best practices.

How to amazon alexa api for a web or mobile app?

I want to use amazon alexa api for my website/ mobile application. I would like to know if it is possible to use and how to integrate alexa, given that I develop my custom skill.
You can use the Alexa Voice Service. You will need to collect the user's audio and then submit it to Amazon. The voice snippet does not need to contain the hotword (e.g. Alexa). You should be able to use most features that don't involve the device and aren't asynchronous. For example, you can utilize the alarm or timer features nor the music streams.
It sounds like you are asking how to allow the user to talk to your website or mobile app.
An Alexa custom skill is something you create to extend Alexa's vocabulary, so to speak. It isn't an alternative to using a mouse or keyboard with an existing app.
A website and a mobile app are, or can be, two different ways for a user to access the functionality you provide. Think of an Alexa skill as a 3rd way to access that functionality. A user could ask the Alexa device (Echo, Dot, iPhone Lexi app, etc) to get or perform the same things that your website does.
So for example, if your website explains how your widgets work, then you could create a widget Alexa skill that would allow Alexa user's to ask about your widgets.
The Alexa Voice Service is something entirely different. It is an API to enable adding Alexa voice to a different piece of hardware. For example, my friend Thaddeus created an Alexa Voice Service app called Lexi that runs on an iPhone. This allows a user to talk to Alexa using their iPhone. However, it doesn't add any new capability to Alexa. It only allows me to do things on my iPhone that I can already do on my Echo.

Adding Instant Messaging (possibly XMPP) to my website on AppEngine (without using Google Login IDs)

I have developed a dating website built on top of the Google App Engine, to which I would like to add instant messaging, and possibly/probably audio and video conferencing.
Given that the users on the website do not want to share their personal details or real contact information, I am handling all of the login information and sessions without assuming that the clients have (or even want) a google account ID or any other login that is associated with their real identity.
I would like to hear suggestions on how I could go about adding instant messaging to my website given that I cannot just directly access Google Talk or some other existing service.
Would it make sense to use XMPP for this, and if so will Google Talk or any other XMPP service provider allow me to register new user accounts without manual intervention (ie. after a user is registered on my site, automatically register them with the XMPP provider)? Or, if not, perhaps I can use a single google ID with Google Talk with a different resource identifier for each user (me#google.com/user1, me#google.com/user2, etc...), and send messages between the different resources? Could this work, and/or would having thousands of simultaneous connections to a single account get me banned from Google Talk?
Perhaps some kind of AJAX based solution might make more sense given the fact that users are already registered on my website, but are not registered for an XMPP service?
Any suggestions about how I might approach this problem would be greatly appreciated.
Kind Regards
-Alexander
Text chat is the easier problem. You can do either with or without XMPP. Without XMPP, you'll be building a Facebook chat type client on your pages that sends messages from each user to the app, and the app then shows then on the recipient's screen.(The client can be polling, or use comet when it comes out). Check out olark to see how this works.
Once you build code to use the app as a switchboard that routes the correct message to the correct person (anonymously, maybe), you can port this easily to XMPP if you require. Both parties add you.dating.site#appspotchat.com to their buddy lists, and you send all messages from girl#site.com to guy#site.com and vice-versa. (assuming a heterogeneous site.)
Audio and video, I have no clue how to do without sharing details between the parties :-/

Resources