Library

Video Player is loading.
 
Current Time 0:00
Duration 8:26
Loaded: 0.00%
 

x1.00


Back

Games & Quizzes

Training Mode - Typing
Fill the gaps to the Lyric - Best method
Training Mode - Picking
Pick the correct word to fill in the gap
Fill In The Blank
Find the missing words in a sentence Requires 5 vocabulary annotations
Vocabulary Match
Match the words to the definitions Requires 10 vocabulary annotations

You may need to watch a part of the video to unlock quizzes

Don't forget to Sign In to save your points

Challenge Accomplished

PERFECT HITS +NaN
HITS +NaN
LONGEST STREAK +NaN
TOTAL +
- //

We couldn't find definitions for the word you were looking for.
Or maybe the current language is not supported

  • 00:05

    At Google, our goal is to provide intuitive,
    At Google, our goal is to provide intuitive,

  • 00:07

    easy-to-integrate SDK for the Matter Google Play services module,
    easy-to-integrate SDK for the Matter Google Play services module,

  • 00:12

    for device commissioning and sharing.
    for device commissioning and sharing.

  • 00:15

    We aim to not only simplify development,
    We aim to not only simplify development,

  • 00:17

    but also to provide a consistent, standardized device setup flow
    but also to provide a consistent, standardized device setup flow

  • 00:20

    and user experience.
    and user experience.

  • 00:22

    Hi, my name is James Romo on the Google Nest Partner Engineering team.
    Hi, my name is James Romo on the Google Nest Partner Engineering team.

  • 00:26

    And, in this talk, I’m going to discuss “Mobile Development for Matter.”
    And, in this talk, I’m going to discuss “Mobile Development for Matter.”

  • 00:31

    Mobile devices are a central interaction point
    Mobile devices are a central interaction point

  • 00:33

    with smart home devices,
    with smart home devices,

  • 00:35

    where users can set up and control devices with their favorite apps.
    where users can set up and control devices with their favorite apps.

  • 00:39

    We want to make mobile development fast and easy
    We want to make mobile development fast and easy

  • 00:42

    with Matter on Android and are previewing our Matter APIs
    with Matter on Android and are previewing our Matter APIs

  • 00:46

    in Google Play services today.
    in Google Play services today.

  • 00:49

    Fabric is a shared domain of trust among devices in the home network
    Fabric is a shared domain of trust among devices in the home network

  • 00:52

    that enables them to communicate with each other.
    that enables them to communicate with each other.

  • 00:55

    Devices may have one or more Fabrics that correspond to a platform, app,
    Devices may have one or more Fabrics that correspond to a platform, app,

  • 00:59

    or group of devices interacting together.
    or group of devices interacting together.

  • 01:03

    This shared domain of trust is established via a common set of cryptographic keys.
    This shared domain of trust is established via a common set of cryptographic keys.

  • 01:07

    First, I will discuss how to commission devices.
    First, I will discuss how to commission devices.

  • 01:10

    Let's take a look at the setup flow for a new Matter device in your Android app.
    Let's take a look at the setup flow for a new Matter device in your Android app.

  • 01:15

    The initial step is for your app to initiate the “add new device” flow,
    The initial step is for your app to initiate the “add new device” flow,

  • 01:19

    which will redirect to the Google Play services commissioning flow,
    which will redirect to the Google Play services commissioning flow,

  • 01:22

    and starts by prompting the user
    and starts by prompting the user

  • 01:24

    to scan the device QR code, or a setup code.
    to scan the device QR code, or a setup code.

  • 01:27

    If you already have this information,
    If you already have this information,

  • 01:29

    it can be supplied as part of the CommissioningRequest data.
    it can be supplied as part of the CommissioningRequest data.

  • 01:33

    In which case, this step will be skipped.
    In which case, this step will be skipped.

  • 01:36

    Once scanned, the user will be prompted
    Once scanned, the user will be prompted

  • 01:38

    to connect the device to the user’s Google account.
    to connect the device to the user’s Google account.

  • 01:41

    Google Play services will connect the device to Wi-Fi,
    Google Play services will connect the device to Wi-Fi,

  • 01:44

    ethernet, and/or Thread networks, as applicable.
    ethernet, and/or Thread networks, as applicable.

  • 01:47

    After the device successfully connects,
    After the device successfully connects,

  • 01:49

    the user will be prompted to select the device name,
    the user will be prompted to select the device name,

  • 01:52

    and optionally, the location in their home.
    and optionally, the location in their home.

  • 01:55

    Once the fields are submitted,
    Once the fields are submitted,

  • 01:57

    the user will be redirected from the Google Play services provided UI
    the user will be redirected from the Google Play services provided UI

  • 02:00

    back to your app.
    back to your app.

  • 02:02

    Let’s take a look at the full commissioning flow
    Let’s take a look at the full commissioning flow

  • 02:04

    we just walked through,
    we just walked through,

  • 02:05

    which encompasses the broadcasting of the device
    which encompasses the broadcasting of the device

  • 02:08

    through the user setting, the device name, and room.
    through the user setting, the device name, and room.

  • 02:12

    As you can see, there are numerous interactions between your app,
    As you can see, there are numerous interactions between your app,

  • 02:15

    Google Play services and the Matter device.
    Google Play services and the Matter device.

  • 02:17

    In this next section, I’ll walk through the flow with each step identified
    In this next section, I’ll walk through the flow with each step identified

  • 02:21

    with a box in the preview flows shown above.
    with a box in the preview flows shown above.

  • 02:24

    The initial step involves commissioning the device
    The initial step involves commissioning the device

  • 02:27

    using the CommissioningClient,
    using the CommissioningClient,

  • 02:28

    which can be obtained from the Matter entry point.
    which can be obtained from the Matter entry point.

  • 02:31

    This can be retrieved either using a Context or Activity.
    This can be retrieved either using a Context or Activity.

  • 02:34

    If the device being searched for is known,
    If the device being searched for is known,

  • 02:37

    it can be specified via the DeviceInfo in the CommissioningRequest,
    it can be specified via the DeviceInfo in the CommissioningRequest,

  • 02:41

    and it will be set up during the commissioning process.
    and it will be set up during the commissioning process.

  • 02:44

    Alternatively, if you already have proof of possession of the device,
    Alternatively, if you already have proof of possession of the device,

  • 02:48

    such as a manually-entered passcode or QR code,
    such as a manually-entered passcode or QR code,

  • 02:51

    you can provide this in the CommissioningRequest
    you can provide this in the CommissioningRequest

  • 02:53

    to target a specific device,
    to target a specific device,

  • 02:55

    and bypass the need to obtain this info from the user during commissioning.
    and bypass the need to obtain this info from the user during commissioning.

  • 03:00

    To commission your own Fabric,
    To commission your own Fabric,

  • 03:02

    you must provide an export implementation of AbstractCommissioningService,
    you must provide an export implementation of AbstractCommissioningService,

  • 03:06

    which will be notified when the device is ready
    which will be notified when the device is ready

  • 03:09

    to have your operational certificates installed on the device.
    to have your operational certificates installed on the device.

  • 03:13

    The next steps involve establishing proof of possession
    The next steps involve establishing proof of possession

  • 03:16

    using a QR code, or a manually-entered code,
    using a QR code, or a manually-entered code,

  • 03:19

    commissioning the device into Google Fabric,
    commissioning the device into Google Fabric,

  • 03:22

    and connecting to the operational network.
    and connecting to the operational network.

  • 03:25

    These steps are color-coded and match up to the preview flows shown above.
    These steps are color-coded and match up to the preview flows shown above.

  • 03:31

    Everything will be provided out of the box by the Play Services flow,
    Everything will be provided out of the box by the Play Services flow,

  • 03:34

    with no need for your app to do anything.
    with no need for your app to do anything.

  • 03:36

    After connecting to the network,
    After connecting to the network,

  • 03:38

    you’ll be able to commission your device into your Fabric.
    you’ll be able to commission your device into your Fabric.

  • 03:41

    The onCommissioningRequested method in your implementation
    The onCommissioningRequested method in your implementation

  • 03:45

    of the AbstractCommissioningService will be invoked,
    of the AbstractCommissioningService will be invoked,

  • 03:48

    and a manual pairing code will be provided to you,
    and a manual pairing code will be provided to you,

  • 03:51

    so that you can commission the device with your own Fabric credentials.
    so that you can commission the device with your own Fabric credentials.

  • 03:55

    After you’ve completed your desired commissioning steps
    After you’ve completed your desired commissioning steps

  • 03:58

    and have issued a CommissioningComplete command
    and have issued a CommissioningComplete command

  • 04:00

    to your commissioned device,
    to your commissioned device,

  • 04:02

    you must call sendCommissioningComplete() to indicate success.
    you must call sendCommissioningComplete() to indicate success.

  • 04:06

    Alternatively, if something went wrong during the process,
    Alternatively, if something went wrong during the process,

  • 04:09

    you can call sendCommissioningFailure() to indicate the cause.
    you can call sendCommissioningFailure() to indicate the cause.

  • 04:13

    In this sendCommissioningComplete() response,
    In this sendCommissioningComplete() response,

  • 04:16

    you can also supply a list of room names and a suggested name for the device.
    you can also supply a list of room names and a suggested name for the device.

  • 04:21

    Both are optional and will be presented to your user to choose from or modify.
    Both are optional and will be presented to your user to choose from or modify.

  • 04:27

    The chosen name will be written to the Basic Information Cluster
    The chosen name will be written to the Basic Information Cluster

  • 04:30

    as the UserLabel, and the selected name and room, if any,
    as the UserLabel, and the selected name and room, if any,

  • 04:35

    will be returned to the CommissioningResult.
    will be returned to the CommissioningResult.

  • 04:38

    Finally, the last step involves redirecting back to your app
    Finally, the last step involves redirecting back to your app

  • 04:41

    with the CommissioningResult,
    with the CommissioningResult,

  • 04:42

    containing the user-selected room and device name.
    containing the user-selected room and device name.

  • 04:46

    This CommissioningResult can be obtained from the IntentSender result
    This CommissioningResult can be obtained from the IntentSender result

  • 04:50

    via the CommissioningResult.fromIntent().
    via the CommissioningResult.fromIntent().

  • 04:53

    Next, I'll discuss Operational Discovery.
    Next, I'll discuss Operational Discovery.

  • 04:55

    Operational Discovery is an API,
    Operational Discovery is an API,

  • 04:57

    which allows an application to register to be notified
    which allows an application to register to be notified

  • 05:00

    of any commissioned Matter devices that are discovered on the network via mDNS.
    of any commissioned Matter devices that are discovered on the network via mDNS.

  • 05:05

    An example could be notifying when users reconnect
    An example could be notifying when users reconnect

  • 05:08

    to Wi-Fi networks on their phones so UI can be refreshed.
    to Wi-Fi networks on their phones so UI can be refreshed.

  • 05:12

    Using the DiscoveryClient interface,
    Using the DiscoveryClient interface,

  • 05:14

    you’re able to request or remove DeviceUpdateListeners,
    you’re able to request or remove DeviceUpdateListeners,

  • 05:17

    which contain callback methods
    which contain callback methods

  • 05:19

    that are notified about operational device updates.
    that are notified about operational device updates.

  • 05:23

    requestOperationalDeviceUpdates
    requestOperationalDeviceUpdates

  • 05:24

    allows your app to request to receive updates,
    allows your app to request to receive updates,

  • 05:27

    and initial state for operational Matter devices.
    and initial state for operational Matter devices.

  • 05:31

    In your request, you can specify a particular set of service instance names
    In your request, you can specify a particular set of service instance names

  • 05:35

    so you can limit the number of updates your app receives.
    so you can limit the number of updates your app receives.

  • 05:38

    The listener’ll be notified of the initial state
    The listener’ll be notified of the initial state

  • 05:40

    and any changes to nearby operational devices,
    and any changes to nearby operational devices,

  • 05:43

    as they are discovered or changed.
    as they are discovered or changed.

  • 05:45

    After finishing, you can remove a previously registered listener
    After finishing, you can remove a previously registered listener

  • 05:49

    using removeOperationalDeviceUpdates.
    using removeOperationalDeviceUpdates.

  • 05:51

    Next, I’ll discuss Matter device sharing for Android apps.
    Next, I’ll discuss Matter device sharing for Android apps.

  • 05:56

    Sharing a device involves opening a temporary commissioning flow on the device
    Sharing a device involves opening a temporary commissioning flow on the device

  • 06:00

    and either picking the app you want to use or using a provided passcode
    and either picking the app you want to use or using a provided passcode

  • 06:04

    that can be used to open a connection to the device.
    that can be used to open a connection to the device.

  • 06:07

    The process is displayed in the preview flows as shown here.
    The process is displayed in the preview flows as shown here.

  • 06:11

    It starts in your app, followed by this sharing screen,
    It starts in your app, followed by this sharing screen,

  • 06:13

    which should look familiar if you've used the Android sharing screen.
    which should look familiar if you've used the Android sharing screen.

  • 06:17

    This will allow users to select from any other Matter commissioning app on the phone,
    This will allow users to select from any other Matter commissioning app on the phone,

  • 06:22

    which registers an intent filter for commissioning.
    which registers an intent filter for commissioning.

  • 06:26

    Alternatively, the user will be able to share the manual pairing passcode
    Alternatively, the user will be able to share the manual pairing passcode

  • 06:31

    via plain text, or QR code, if desired.
    via plain text, or QR code, if desired.

  • 06:34

    The following diagram steps through this process
    The following diagram steps through this process

  • 06:37

    with the preview flows at the top showing the current place in the flow.
    with the preview flows at the top showing the current place in the flow.

  • 06:40

    The current admin, in this case, is the administrator of the Fabric.
    The current admin, in this case, is the administrator of the Fabric.

  • 06:44

    Using the shareDevice function of CommissioningClient,
    Using the shareDevice function of CommissioningClient,

  • 06:47

    you're able to share a Matter device
    you're able to share a Matter device

  • 06:49

    which you administer for use within another Matter fabric or ecosystem.
    which you administer for use within another Matter fabric or ecosystem.

  • 06:54

    You must first open a commissioning window on the device
    You must first open a commissioning window on the device

  • 06:57

    and provide the details,
    and provide the details,

  • 06:59

    including the manual pairing code and window duration
    including the manual pairing code and window duration

  • 07:02

    in your ShareDeviceRequest.
    in your ShareDeviceRequest.

  • 07:04

    This request will succeed if the user chooses a sharing destination.
    This request will succeed if the user chooses a sharing destination.

  • 07:08

    If the user cancels or the commissioning window times out
    If the user cancels or the commissioning window times out

  • 07:11

    at the specified duration without choosing a destination,
    at the specified duration without choosing a destination,

  • 07:15

    you’ll receive a RESULT_CANCELED status and should revoke the commissioning window.
    you’ll receive a RESULT_CANCELED status and should revoke the commissioning window.

  • 07:20

    To register as a commissioner, use the following intent filter in your app.
    To register as a commissioner, use the following intent filter in your app.

  • 07:24

    Then when a sharing action is initiated by the user,
    Then when a sharing action is initiated by the user,

  • 07:27

    your app will be included in the list
    your app will be included in the list

  • 07:29

    unless it is an app initiating the sharing request.
    unless it is an app initiating the sharing request.

  • 07:33

    The final step involves sending intent with ACTION_COMMISSION_DEVICE
    The final step involves sending intent with ACTION_COMMISSION_DEVICE

  • 07:37

    to the chosen commissioner,
    to the chosen commissioner,

  • 07:38

    containing a set of intent extras, detailing the device that was shared.
    containing a set of intent extras, detailing the device that was shared.

  • 07:43

    The following diagram and table show all the keys that can be provided
    The following diagram and table show all the keys that can be provided

  • 07:47

    via the ACTION_COMMISSION_DEVICE when commissioning a device.
    via the ACTION_COMMISSION_DEVICE when commissioning a device.

  • 07:51

    As a commissioner receiving such an intent, you can use this information
    As a commissioner receiving such an intent, you can use this information

  • 07:55

    to construct a new CommissioningRequest and use this with the commissionDevice() API.
    to construct a new CommissioningRequest and use this with the commissionDevice() API.

  • 08:00

    With that, we have the whole picture for sharing Matter devices on Android,
    With that, we have the whole picture for sharing Matter devices on Android,

  • 08:04

    as shown in the full diagram, complete with all the steps we discussed.
    as shown in the full diagram, complete with all the steps we discussed.

  • 08:08

    That concludes “Mobile Development for Matter” presentation.
    That concludes “Mobile Development for Matter” presentation.

  • 08:11

    Thanks for joining us.
    Thanks for joining us.

  • 08:12

    Be sure to stay current on the latest releases
    Be sure to stay current on the latest releases

  • 08:15

    to incorporate Play Services into your app.
    to incorporate Play Services into your app.

All verb
provide
/prəˈvīd/

word

To make available; to supply for use

Preview Mobile SDK for Matter

5,977 views

Intro:

At Google, our goal is to provide intuitive,. easy-to-integrate SDK for the Matter Google Play services module,
for device commissioning and sharing.. We aim to not only simplify development,. but also to provide a consistent, standardized device setup flow
and user experience.. Hi, my name is James Romo on the Google Nest Partner Engineering team.
And, in this talk, I’m going to discuss “Mobile Development for Matter.”
Mobile devices are a central interaction point. with smart home devices,. where users can set up and control devices with their favorite apps.
We want to make mobile development fast and easy. with Matter on Android and are previewing our Matter APIs
in Google Play services today.. Fabric is a shared domain of trust among devices in the home network
that enables them to communicate with each other.. Devices may have one or more Fabrics that correspond to a platform, app,
or group of devices interacting together.. This shared domain of trust is established via a common set of cryptographic keys.
First, I will discuss how to commission devices..

Video Vocabulary

/iˈniSHəl/

adjective noun verb

existing at beginning. first letter of name or word. authorize document by signing with initials.

/ˈsimpləˌfī/

verb

make something simpler or easier to do or understand.

/dəˈvīs/

noun other

piece of mechanical or electronic equipment. To be left to do what you want.

noun verb

person initiated into organization. cause to begin.

/ˈpärtnər/

noun verb

Someone you have personal relationship with. be partner of.

/ˈprēˌvyo͞o/

verb

To look ahead at something, e.g. a movie.

/ˈanˌdroid/

noun

Trademarked computer operating system.

/kəˈmiSHən/

noun verb

instruction or command. order or authorize production of.

/ˈsentrəl/

adjective noun

Most significant or important. place with high concentration of specified type of person or thing.

noun verb

instance of redirecting something from one address to another. direct something to new or different place or purpose.

/kəˈmiSHən/

verb

order or authorize production of.

/ˌenjəˈniriNG/

noun

The practical application of science to industry.

/əˈstabliSHt/

adjective verb

having existed or done something for long time and therefore recognized and generally accepted. To set or create something to last for a long time.

/ˈstandərˌdīz/

verb

cause something to conform to standard.