You must already have the previous version of skill installed. If you do not then please follow the fresh installation instructions here:-
Note - this manual upgrade is required so that the skill code is deployed via AWS CloudFormation. This will alow future upgrades to deployed vai a CloudFormation update
MAKE SURE YOU DO THIS INSTALLATION ON A PC/MAC/LINUX MACHINE - A PHONE OR TABLET RUNNING iOS OR ANDROID WILL CAUSE ISSUES
These upgrade instructions and the CloudFormation template linked to in these instructions (provided for users installing the lambda function) are licenced under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International License
If you wish to reproduce the installation instructions hosted on your own website (I really wish you wouldn't as it makes my life very difficult to support and update the skill) then you may do so and link to my Cloudformation template (and consequently the zips on my S3 buckets) provided that there is no monetisation on the page e.g. adverts. If you do wish to have monetisation then you will need to create your own instructions and host your own Cloudformation template and associated zip files.
I AM VERY SERIOUS ABOUT THIS POINT - I WILL BE CHECKING FREQUENTLY AND WILL CHANGE OR REMOVE THE CLOUDFORMATION TEMPLATE URL IF PEOPLE ARE ABUSING IT
NOTE: I have granted Paul Hibbert the rights to link to the Cloudformation for the purposes of his installation videos
- Goto your lambda function
https://eu-west-1.console.aws.amazon.com/lambda/home
-
Click on the circle next to the function called:
Google Assistant
(You might have called it something different)
If you can't see your skill the go to drop down "Location" menu at the top right and ensure you select US-East (N. Virginia) if you are based in the US or EU(Ireland) if you are based in the UK or Germany.
- Click on the "Actions" menu at the top right and select "Delete"
- A warning box will appear. Click the orange "Delete" button
- The function will be deleted
- Click the AWS Services menu at the top left and then select "CloudFormation" from the "Management Tools" section
- Click the blue button entitles "Create new stack"
-
A new page will open titled "Select Template"
-
Under "Choose a template" select "Specify an Amazon S3 template URL" and paste the following into the box
https://googleassistantskillcloudformation.s3.eu-central-1.amazonaws.com/cloudformation.json
- Click Next
- On the "Specify Details" page call the "Stack Name":-
AlexaAssistant
- Click Next
- On the "Options" page do not change anything and just click on Next
- On the "Review" page click the box next to "I acknowledge that AWS CloudFormation might create IAM resources."
-
Click "Create" at the bottom right of the page
-
Cloudformation will then start to create the stack. THIS WILL TAKE SOME TIME SO I'D SUGGEST GOING TO MAKE A CUP OF TEA.
-
You can check progress by clicking on the refresh button towards the top right of the page
- You will know that the creation process is complete as it will say "CREATE_COMPLETE" in green under the "Status" heading
-
Click on the "Outputs" tab at the bottom of the page
-
If the creation process is very quick (less than 10 seconds) and the Ouput Tab looks like the one below then this means that you have selected the wrong AWS region. You will need to delete the CloudFormation Stack, select the right AWS region and then create the stack again. Instructions for deleting the stack are here:-
- If you see the output below with the Key "FunctionARN", then select the text starting "arn:aws" (circled in green ins the screenshot) and copy it and paste it into a notepad document as we will need it later
- Go to the Alexa developer console
https://developer.amazon.com/edw/home.html
- Click on the yellow "Get Started" button under Alexa Skills Kit.
- Select the Google Assistant Skill that your previously created
- Go to the Skill Information tab make sure "Render Template is set to Yes"
- Click "Save" and then click "Next".
- You will now be on the "Interaction Model" page.
- Delete what is in the "Intent Schema" box and replace with the text below
{ "intents": [ { "intent": "AMAZON.NavigateSettingsIntent" }, { "intent": "AMAZON.MoreIntent" }, { "intent": "AMAZON.PageDownIntent" }, { "intent": "AMAZON.PageUpIntent" }, { "intent": "AMAZON.ScrollRightIntent" }, { "intent": "AMAZON.ScrollDownIntent" }, { "intent": "AMAZON.ScrollLeftIntent" }, { "intent": "AMAZON.ScrollUpIntent" }, { "intent": "AMAZON.HelpIntent" }, { "intent": "AMAZON.NextIntent" }, { "intent": "AMAZON.PreviousIntent" }, { "intent": "AMAZON.StopIntent" }, { "intent": "AMAZON.CancelIntent" }, { "intent": "AMAZON.NoIntent" }, { "intent": "AMAZON.YesIntent" }, { "slots": [ { "name": "search", "type": "SEARCH" } ], "intent": "SearchIntent" } ] }
-
Leave the custom slots and sample utterance as per the previous version.
-
Click Save and then next once it has processed - Note if you are getting an error saying that the interaction model cannot be built then try adding a blank line to the sample utternaces. You can do this by putting the cursor to the end of the line that says "SearchIntent {search}" and pressing the return key. (This seems to be an Amazon issue). Try Saving the configuration as before. If this doesn't address the issue, then try adding a blank line to the Custom Slots by pressing the "Edit" button, adding a blank line as before, then press the "Edit" button and then Save.
-
On the Configuration Page, replace the exisitng Default Endpoint with the one you copied to your notepad file earlier.
- Click Save and then Next
- You will now be on "Test" Page. Press the orange Switch with "enabled" next to it so that it changes to "disabled" and then press it again so that it says "enabled"
1.Go to the Google API console here:-
https://console.cloud.google.com/apis/credentials
- Make sure you have your Google Assistant Project Selected at the top of the page
- Click on the download icon for the OAuth 2.0 Client ID that you previously created (highlighted in green on the screenshot below)
-
A menu will open to save the file. Rename the file so that it is called
client_secret.json
(HINT if your system does not show file name extensions and you do not see .json at the end of the existing filename then you do not need to add .json when renaming otherwise you will end up with client_secret.json.json which won't work!!) Save it somewhere safe on your hardrive as we will need it later. NEVER SHARE THIS FILE WITH ANYONE AS IT CONTAINS YOUR AUTHENTICATION DETAILS
You can now close this window
- Open a new browser window or tab
- Goto to https://s3.console.aws.amazon.com/
- You will see a list of S3 buckets
- Find the bucket with the random 20 character name that you created for the skill originally and click on the bucket icon next to it's name
- A box will open on the right hand side - ignore this and click on the "Delete bucket" button
- A confirmation box will apear. Type in the name of the bucket (hint select the name from the warning above and copy and paste it) then press confirm
-
The bucket will be deleted and you will be taken back to a list of your other buckets,
-
Click on the name of the bucket with its name starting with (where XXXXXX will be some random characters)
arn:aws:s3:::alexaassistant-s3bucket-XXXXXXX
- Click on the blue "Upload" button
- On the grey window that appears click on "Add files"
-
Select the client_secret.json file that you downloaded and renamed earlier (You did remember to rename it didn't you?)
-
On the next page DO NOT CLICK NEXT - Just click on the "Upload" button the the bottom left hand side
- The grey window will now close and you should see a screen like below. You can now close this window/tab
- Now Launch the skill by saying "Alexa, Open Google" - you will be asked to re-link your Google account
-
The skill will default to US English and the Google Assistant will think you live in either West Virginia or Dublin depending on which AWS region you used
-
To change the language to another language and set your location you will need to have the very latest version of Google Assistant installed on your iOS or Android phone.
Using the Google Assistant App on your phone/tablet follow these instructions to set the language to German (the skill will be listed as "Alexa Assistant v1" in the devices section of settings):
https://developers.google.com/assistant/sdk/guides/assistant-settings
-
You will probably want to turn on the personal results option in the Assistant App as well
-
You should be good to go if not raise an issue