Multi surface conversations


#1

Hi guys,

Is it possible to have multi surface conversations on the google device as explained in the link below?

https://developers.google.com/actions/assistant/surface-capabilities

I want to be able to start a conversation on google home, and continue on my phone. Is this possible?

Regards,
Afam


#2

Hey @Afamefuna_Anigbo!

Not yet, but I built something today that has to be tested on other devices first. I hope to release it tomorrow :slight_smile:


#3

Just published the feature to NPM.

Here’s an example:


app.setHandler({
    async LAUNCH() {

        const availableSurfaces = this.$googleAction.getAvailableSurfaces();

        if (availableSurfaces.includes('actions.capability.SCREEN_OUTPUT')) {
            this.$googleAction.newSurface(
                ['actions.capability.SCREEN_OUTPUT'],
                'Let\'s move you to a screen device for cards and other visual responses',
                'Title')
        }
    },

    ON_NEW_SURFACE() {

        if (this.$googleAction.isNewSurfaceConfirmed()) {
            this.tell('Hello Smartphone');
        } else {
            this.tell('Hello Speaker');
        }
    }

});

#4

Thanks @AlexSwe!

Will try this out and revert!

Regards,
Afam


#5

Thanks once more, @AlexSwe. I’m using this approach to get users back into the account linking flow. On Google, there isn’t a way to show an account linking card once the action is linked. I’m transferring them from smart speaker to phone if necessary, then showing a link out suggestion to a web page with a redirect to the Google Action’s page and telling the user to press the “unlink” button and then the “link” button. Very complicated comparing to simply showing a link card in the Alexa app and telling the user to open the app.