Webportal v2

embedded apps

API Reference - app.visibilityState

Required Privacy: Data & Location
Operations:

This API allows to work with app going background/foreground.

Info:

  • hidden: means that the user stop using it and switch to another feature of the infotainment system.
  • visible: the user is coming back to the app.

There is no mandatory action to perform when you receive this event from your app but can use this information in order to notify your server or the user.

Input Parameter
No input params
Output Data
Data name Description Type Unit/Values Example
appId
 .visibilityState

Visibility state of your app (going background: hidden / going foreground: visible).

Enum of strings

- visbile

- hidden
"": {"visibilityState": "hidden"}
Code Example
1
2
3
4
5
6
7
8
9
10
11
12
13
webportal.get(
    /* api name */
    "app.visibilityState",
    /* parameters */
     null
  )
  /* callback for `REPLY` messages */
  .then((message) => {
    if (message.status === 200) {
      /* handle `REPLY` success */
    }
    else { /* handle `REPLY` error */ }
  })
1
2
3
4
5
6
{
  "id": "7372c16f-5f2f-42c9-84a7-5490e35f1be0", 
  "type": "GET", 
  "api": "app.visibilityState",
  "params":  null
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
// --- format of the `REPLY` message ---

{
  "id": "7372c16f-5f2f-42c9-84a7-5490e35f1be0",
  "type": "REPLY",
  "api": "app.visibilityState",
  "status": 200,
  "statusText": "OK", 
  "data": {
    "<appId>": {
      "visibilityState": "hidden"
    }
  } 
}

false

This API allows to work with app going background/foreground.

Info:

  • hidden: means that the user stop using it and switch to another feature of the infotainment system.
  • visible: the user is coming back to the app.

There is no mandatory action to perform when you receive this event from your app but can use this information in order to notify your server or the user.

Input Parameter
No input params
Output Data
Data name Description Type Unit/Values Example
appId
 .visibilityState

Visibility state of your app (going background: hidden / going foreground: visible).

Enum of strings

- visbile

- hidden
"": {"visibilityState": "hidden"}
Code Example
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
webportal.subscribe(
    /* api name */
    "app.visibilityState",
    /* parameters */
     null,
    /* callback for `NOTIFY` messages */
    async (notifyMessage) => {
      if (notifyMessage.status === 200) {
        /* handle `NOTIFY` response */
      }
      else { /*  handle `NOTIFY` error  */ }
    }
  )
  /* callback for `REPLY` messages */
  .then((message) => {
    if (message.status === 200) {
      /* handle `REPLY` success */
    }
    else { /* handle `REPLY` error */ }
  })
1
2
3
4
5
6
{
  "id": "7372c16f-5f2f-42c9-84a7-5490e35f1be0", 
  "type": "SUBSCRIBE", 
  "api": "app.visibilityState",
  "params":  null
}
1
2
3
4
5
6
7
8
9
10
11
// --- format of the `REPLY` message ---
// type: acknowledge the status of the subscription
// reception: only once after the subscription request
// contains outputed data: no
{
  "id": "7372c16f-5f2f-42c9-84a7-5490e35f1be0",
  "type": "REPLY",
  "status": 200,
  "statusText": "OK"
}

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
// --- format of the `NOTIFY` message ---
// type: event message about the subscription
// reception: each time the conditions of the subscription are met
// contains outputed data: yes
{
  "id": "7372c16f-5f2f-42c9-84a7-5490e35f1be0",
  "type": "NOTIFY",
  "api": "app.visibilityState",
  "status": 200,
  "statusText": "OK", 
  "data": {
    "<appId>": {
      "visibilityState": "hidden"
    }
  } 
}