• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# 辅助功能
2
3> ![icon-note.gif](public_sys-resources/icon-note.gif) **说明:**
4> 本模块首批接口从 API version 7 开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。
5
6## 导入模块
7
8```typescript
9import accessibility from '@ohos.accessibility';
10```
11
12## AbilityState
13
14辅助应用状态类型。
15
16**系统能力**:以下各项对应的系统能力均为 SystemCapability.BarrierFree.Accessibility.Core
17
18| 名称 | 描述 |
19| -------- | -------- |
20| enable | 辅助应用已启用。 |
21| disable | 辅助应用已禁用。 |
22| install | 辅助应用已安装。 |
23
24## AbilityType
25
26无障碍辅助应用类型。
27
28**系统能力**:以下各项对应的系统能力均为 SystemCapability.BarrierFree.Accessibility.Core
29
30| 名称 | 描述 |
31| -------- | -------- |
32| audible | 表示具有听觉反馈。 |
33| generic | 表示具有通用反馈。 |
34| haptic | 表示具有触觉反馈。 |
35| spoken  | 表示具有语音反馈。 |
36| visual | 表示具有视觉反馈。 |
37
38## AccessibilityAbilityInfo
39
40辅助应用信息。
41
42**系统能力**:以下各项对应的系统能力均为 SystemCapability.BarrierFree.Accessibility.Core
43
44### 属性
45
46| 名称 | 参数类型 | 可读 | 可写 | 说明 |
47| -------- | -------- | -------- | -------- | -------- |
48| id | number | 是 | 否 | ability id。 |
49| name | string | 是 | 否 | ability 名。 |
50| bundleName | string | 是 | 否 | 包名。 |
51| abilityTypes | Array<[AbilityType](#abilitytype)> | 是 | 否 | 辅助应用类型。 |
52| capabilities | Array<[Capability](#capability)> | 是 | 否 | 辅助应用能力列表。 |
53| description | string | 是 | 否 | 辅助应用描述。 |
54| eventTypes | Array<[EventType](#eventtype)> | 是 | 否 | 辅助应用关注的无障碍事件列表。 |
55
56## Action
57
58应用所支持的目标动作。
59
60**系统能力**:以下各项对应的系统能力均为 SystemCapability.BarrierFree.Accessibility.Core
61
62| 名称 | 描述 |
63| -------- | -------- |
64| click | 表示点击操作。 |
65| longClick | 表示长按操作。 |
66| scrollForward | 表示向前滚动操作。 |
67| scrollBackward | 表示向后滚动操作。 |
68| focus | 表示获得焦点操作。 |
69| clearFocus | 表示清除焦点操作。 |
70| clearSelection | 表示清除选择操作。 |
71| accessibilityFocus | 表示获得无障碍焦点操作。 |
72| clearAccessibilityFocus | 表示清除无障碍焦点操作。 |
73| cut | 表示剪切操作。 |
74| copy | 表示复制操作。 |
75| paste | 表示粘贴操作。 |
76| select | 表示选择操作。 |
77| setText | 表示设置文本操作。 |
78| delete | 表示删除操作。 |
79| setSelection | 表示选择操作。 |
80
81## Capability
82
83辅助应用能力类型。
84
85**系统能力**:以下各项对应的系统能力均为 SystemCapability.BarrierFree.Accessibility.Core
86
87| 名称 | 描述 |
88| -------- | -------- |
89| retrieve | 具有检索窗口内容的能力。 |
90| touchGuide | 具有触摸探索模式的能力。 |
91| keyEventObserver | 具有过滤按键事件的能力。 |
92| zoom | 具有控制显示放大的能力。 |
93| gesture | 具有执行手势动作的能力。 |
94
95## CaptionsFontEdgeType<sup>8+</sup>
96
97字幕字体边缘类型。
98
99**系统能力**:以下各项对应的系统能力均为 SystemCapability.BarrierFree.Accessibility.Hearing
100
101| 名称 | 描述 |
102| -------- | -------- |
103| none | 无效果。 |
104| raised | 凸起效果。 |
105| depressed | 凹陷效果。 |
106| uniform | 轮廓效果。 |
107| dropShadow | 阴影效果。 |
108
109## CaptionsFontFamily<sup>8+</sup>
110
111字幕字体。
112
113**系统能力**:以下各项对应的系统能力均为 SystemCapability.BarrierFree.Accessibility.Hearing
114
115| 名称 | 描述 |
116| -------- | -------- |
117| default | 默认字体。 |
118| monospacedSerif | 等宽 Serif 字体。 |
119| serif | Serif 字体。 |
120| monospacedSansSerif | 等宽 Sans Serif 字体。 |
121| sansSerif | Sans Serif 字体。 |
122| casual | 非正式字体。 |
123| cursive | 手写字体。 |
124| smallCapitals | 小型大写字母字体。 |
125
126## CaptionsStyle<sup>8+</sup>
127
128字幕风格。
129
130**系统能力**:以下各项对应的系统能力均为 SystemCapability.BarrierFree.Accessibility.Hearing
131
132| 名称 | 参数类型 | 可读 | 可写 | 说明 |
133| -------- | -------- | -------- | -------- | -------- |
134| fontFamily | [CaptionsFontFamily](#captionsfontfamily8) | 是 | 否 | 描述字幕字体。 |
135| fontScale | number | 是 | 否 | 描述字幕字体缩放系数。 |
136| fontColor | number \| string | 是 | 否 | 描述字幕字体颜色。 |
137| fontEdgeType | [CaptionsFontEdgeType](#captionsfontedgetype8) | 是 | 否 | 描述字幕字体边缘。 |
138| backgroundColor | number \| string | 是 | 否 | 描述字幕背景颜色。 |
139| windowColor | number \| string | 是 | 否 | 描述字幕窗口颜色。 |
140
141## CaptionsManager<sup>8+</sup>
142
143字幕配置。
144
145### 属性
146
147| 名称 | 参数类型 | 可读 | 可写 | 说明 |
148| -------- | -------- | -------- | -------- | -------- |
149| enabled | boolean | 是 | 否 | 表示是否启用字幕配置。 |
150| style | [CaptionsStyle](#captionsstyle8) | 是 | 否 | 表示字幕风格。 |
151
152### 方法
153
154下列 API 示例中都需要使用 [accessibility.getCaptionsManager()](#accessibilitygetcaptionsmanager8) 获取 captionsManager 实例,再通过此实例调用对应的方法。
155
156#### on('enableChange')
157
158on(type: 'enableChange', callback: Callback&lt;boolean&gt;): void;
159
160注册字幕配置启用的监听函数。
161
162**系统能力**:SystemCapability.BarrierFree.Accessibility.Hearing
163
164- 参数:
165
166  | 参数名 | 参数类型 | 必填 | 说明 |
167  | -------- | -------- | -------- | -------- |
168  | type | string | 是 | 监听字幕配置启用状态。 |
169  | callback | Callback&lt;boolean&gt; | 是 | 回调函数,在启用状态变化时将状态通过此函数进行通知。 |
170
171- 示例
172
173  ```typescript
174  captionsManager.on('enableChange',(data) => {
175      console.info('success data:subscribeStateObserver : ' + JSON.stringify(data))
176  })
177  ```
178
179#### on('styleChange')
180
181on(type: 'styleChange', callback: Callback&lt;CaptionsStyle&gt;): void;
182
183注册字幕风格变化的监听函数。
184
185**系统能力**:SystemCapability.BarrierFree.Accessibility.Hearing
186
187- 参数:
188
189  | 参数名 | 参数类型 | 必填 | 说明 |
190  | -------- | -------- | -------- | -------- |
191  | type | string | 是 | 监听字幕风格变化。 |
192  | callback | Callback&lt;[CaptionsStyle](#captionsstyle8)&gt; | 是 | 回调函数,在字幕风格变化时通过此函数进行通知。 |
193
194- 示例
195
196  ```typescript
197  captionsManager.on('styleChange',(data) => {
198      console.info('success data:subscribeStateObserver : ' + JSON.stringify(data))
199  })
200  ```
201
202#### off('enableChange')
203
204off(type: 'enableChange', callback?: Callback&lt;boolean&gt;): void;
205
206移除字幕配置启用的监听函数。
207
208**系统能力**:SystemCapability.BarrierFree.Accessibility.Hearing
209
210- 参数:
211
212  | 参数名 | 参数类型 | 必填 | 说明 |
213  | -------- | -------- | -------- | -------- |
214  | type | string | 是 | 监听字幕配置启用状态。 |
215  | callback | Callback&lt;boolean&gt; | 否 | 回调函数,在启用状态变化时将状态通过此函数进行通知。 |
216
217- 示例
218
219  ```typescript
220  captionsManager.off('enableChange')
221  ```
222
223#### off('styleChange')
224
225off(type: 'styleChange', callback?: Callback&lt;CaptionsStyle&gt;): void;
226
227移除字幕风格变化的监听函数。
228
229**系统能力**:SystemCapability.BarrierFree.Accessibility.Hearing
230
231- 参数:
232
233  | 参数名 | 参数类型 | 必填 | 说明 |
234  | -------- | -------- | -------- | -------- |
235  | type | string | 是 | 字幕风格变化。 |
236  | callback | Callback&lt;[CaptionsStyle](#captionsstyle8)&gt; | 否 | 回调函数,在字幕风格变化时通过此函数进行通知。 |
237
238- 示例
239
240  ```typescript
241  captionsManager.off('styleChange')
242  ```
243
244## EventInfo
245
246界面变更事件。
247
248**系统能力**:以下各项对应的系统能力均为 SystemCapability.BarrierFree.Accessibility.Core
249
250### 属性
251
252| 名称 | 参数类型 | 可读 | 可写 | 说明 |
253| -------- | -------- | -------- | -------- | -------- |
254| type | [EventType](#eventtype) | 是 | 是 | 无障碍事件类型。 |
255| windowUpdateType | [WindowUpdateType](#windowupdatetype) | 是 | 是 | 窗口变化类型。 |
256| bundleName | string | 是 | 是 | 目标应用名。 |
257| componentType | string | 是 | 是 | 事件源组件类型,如按钮、图表。 |
258| pageId | number | 是 | 是 | 事件源的页面 ID。 |
259| description | string | 是 | 是 | 事件描述。 |
260| triggerAction | [Action](#action) | 是 | 是 | 触发事件的 Action。 |
261| textMoveUnit | [TextMoveUnit](#textmoveunit) | 是 | 是 | 文本移动粒度。 |
262| contents | Array&lt;string&gt; | 是 | 是 | 内容列表。 |
263| lastContent | string | 是 | 是 | 最新内容。 |
264| beginIndex | number | 是 | 是 | 画面显示条目的开始序号。 |
265| currentIndex | number | 是 | 是 | 当前条目序号。 |
266| endIndex | number | 是 | 是 | 画面显示条目的结束序号。 |
267| itemCount | number | 是 | 是 | 条目总数。 |
268
269## EventType
270
271无障碍事件类型。
272
273**系统能力**:以下各项对应的系统能力均为 SystemCapability.BarrierFree.Accessibility.Core
274
275| 名称 | 描述 |
276| -------- | -------- |
277| click | 描述点击组件的事件。 |
278| longClick | 描述长按组件的事件。 |
279| select | 描述选择组件的事件。 |
280| focus | 描述组件获得焦点的事件。 |
281| textUpdate | 描述组件文本已更改的事件。 |
282| hoverEnter | 描述悬停进入组件的事件。 |
283| hoverExit | 描述悬停离开组件的事件。 |
284| scroll | 描述滚动视图的事件。 |
285| textSelectionUpdate | 描述选定文本已更改的事件。 |
286| accessibilityFocus | 描述获得无障碍焦点的事件。 |
287| accessibilityFocusClear | 描述清除无障碍焦点的事件。 |
288
289## TextMoveUnit
290
291文本无障碍导航移动粒度。
292
293**系统能力**:以下各项对应的系统能力均为 SystemCapability.BarrierFree.Accessibility.Core
294
295| 名称 | 描述 |
296| -------- | -------- |
297| char | 以字符为移动粒度遍历节点文本。 |
298| word | 以词为移动粒度遍历节点文本。 |
299| line | 以行为移动粒度遍历节点文本。 |
300| page | 以页为移动粒度遍历节点文本。 |
301| paragraph | 以段落为移动粒度遍历节点文本。 |
302
303## WindowUpdateType
304
305窗口变化类型。
306
307**系统能力**:以下各项对应的系统能力均为 SystemCapability.BarrierFree.Accessibility.Core
308
309| 名称 | 描述 |
310| -------- | -------- |
311| add | 添加窗口的窗口变化事件。 |
312| remove | 一个窗口被删除的窗口变化事件。 |
313| title | 窗口标题已更改的窗口变化事件。 |
314| bounds | 窗口边界已更改的窗口变化事件。 |
315| layer | 窗口层级发生变化的窗口变化事件。 |
316| active | 窗口变为活动或不活动的窗口变化事件。 |
317| focus | 窗口焦点发生变化的窗口变化事件。 |
318| accessibilityFocus | 窗口无障碍焦点发生变化的窗口更改事件。 |
319| parent | 父窗口已更改的窗口变化事件。 |
320| children | 子窗口已更改的窗口变化事件。 |
321| pip | 窗口进入或退出画中画(PIP)模式的窗口变化事件。 |
322
323## accessibility.getAbilityLists
324
325getAbilityLists(abilityType: AbilityType, stateType: AbilityState): Promise&lt;Array&lt;AccessibilityAbilityInfo&gt;&gt;
326
327查询辅助应用列表。
328
329**系统能力**:SystemCapability.BarrierFree.Accessibility.Core
330
331- 参数:
332
333  | 参数名 | 参数类型 | 必填 | 说明 |
334  | -------- | -------- | -------- | -------- |
335  | abilityType | [AbilityType](#abilitytype) | 是 | 辅助应用的类型。 |
336  | stateType | [AbilityState](#abilitystate) | 是 | 辅助应用的状态。 |
337
338- 返回值:
339
340  | 类型 | 说明 |
341  | -------- | -------- |
342  | Promise&lt;Array&lt;[AccessibilityAbilityInfo](#accessibilityabilityinfo)&gt;&gt; | 返回辅助应用信息列表。 |
343
344- 示例
345
346  ```typescript
347  accessibility.getAbilityLists("spoken", "enable")
348      .then((data) => {
349          console.info('success data:getAbilityList1 : ' + JSON.stringify(data));
350          for (let item of data) {
351              console.info(item.id);
352              console.info(item.name);
353              console.info(item.description);
354              console.info(item.abilityTypes);
355              console.info(item.eventTypes);
356              console.info(item.capabilities);
357              console.info(item.packageName);
358              console.info(item.filterBundleNames);
359              console.info(item.bundleName);
360          }
361      }).catch((error) => {
362          console.error('failed to  getAbilityList1 because ' + JSON.stringify(error));
363      })
364  ```
365
366## accessibility.getAbilityLists
367
368getAbilityLists(abilityType: AbilityType, stateType: AbilityState,callback: AsyncCallback&lt;Array&lt;AccessibilityAbilityInfo&gt;&gt;): void
369
370查询辅助应用列表。
371
372**系统能力**:SystemCapability.BarrierFree.Accessibility.Core
373
374- 参数:
375
376  | 参数名 | 参数类型 | 必填 | 说明 |
377  | -------- | -------- | -------- | -------- |
378  | abilityType | [AbilityType](#abilitytype) | 是 | 辅助应用的类型。 |
379  | stateType | [AbilityState](#abilitystate) | 是 | 辅助应用的状态。 |
380  | callback | AsyncCallback&lt;Array&lt;[AccessibilityAbilityInfo](#accessibilityabilityinfo)&gt;&gt; | 是 | 回调函数,返回辅助应用信息列表。 |
381
382- 示例
383
384  ```typescript
385  accessibility.getAbilityLists("visual", "enable", (err, data) => {
386      if (err) {
387          console.error('failed to getAbilityList2 because ' + JSON.stringify(err));
388          return;
389      }
390      console.info('success data:getAbilityList2 : ' + JSON.stringify(data));
391      for (let item of data) {
392          console.info(item.id);
393          console.info(item.name);
394          console.info(item.description);
395          console.info(item.abilityTypes);
396          console.info(item.eventTypes);
397          console.info(item.capabilities);
398          console.info(item.packageName);
399          console.info(item.filterBundleNames);
400          console.info(item.bundleName);
401      }
402  })
403  ```
404
405## accessibility.getCaptionsManager<sup>8+</sup>
406
407getCaptionsManager(): CaptionsManager
408
409获取无障碍字幕配置。
410
411**系统能力**:SystemCapability.BarrierFree.Accessibility.Hearing
412
413- 返回值:
414
415  | 类型 | 说明 |
416  | -------- | -------- |
417  | [CaptionsManager](#captionsmanager8) | 无障碍字幕配置管理。 |
418
419- 示例
420
421  ```typescript
422  captionsManager = accessibility.getCaptionsManager()
423  ```
424
425## accessibility.on('accessibilityStateChange' | 'touchGuideStateChange')
426
427on(type: 'accessibilityStateChange' | 'touchGuideStateChange', callback: Callback&lt;boolean&gt;): void
428
429启用辅助应用和触摸浏览功能的状态变化监听。
430
431**系统能力**:以下各项对应的系统能力有所不同,详见下表。
432
433- 参数:
434
435  | 参数名 | 参数类型 | 必填 | 说明 |
436  | -------- | -------- | -------- | -------- |
437  | type | string | 是 | 监听的事件类型。<br/>-&nbsp;type 为'accessibilityStateChange'时表示监听类型为辅助功能启用状态变化监听;<br/>**系统能力**:SystemCapability.BarrierFree.Accessibility.Core<br/>-&nbsp;type 为'touchGuideStateChange'时表示监听类型为触摸浏览启用状态变化监听。<br/>**系统能力**:SystemCapability.BarrierFree.Accessibility.Vision |
438  | callback | Callback&lt;boolean&gt; | 是 | 回调函数,在启用状态变化时将状态通过此函数进行通知。 |
439
440- 示例
441
442  ```typescript
443  accessibility.on('accessibilityStateChange',(data) => {
444      console.info('success data:subscribeStateObserver : ' + JSON.stringify(data))
445  })
446  ```
447
448## accessibility.off('accessibilityStateChange' | 'touchGuideStateChange')
449
450off(type: ‘accessibilityStateChange ’ | ‘touchGuideStateChange’, callback?: Callback&lt;boolean&gt;): void
451
452关闭辅助应用和触摸浏览功能的状态变化监听。
453
454**系统能力**:以下各项对应的系统能力有所不同,详见下表。
455
456- 参数:
457
458  | 参数名 | 参数类型 | 必填 | 说明 |
459  | -------- | -------- | -------- | -------- |
460  | type |  string | 否 | 监听的事件类型。<br/>-&nbsp;type 为'accessibilityStateChange'时表示监听类型为辅助功能启用状态变化监听;<br/>**系统能力**:SystemCapability.BarrierFree.Accessibility.Core<br/>-&nbsp;type 为'touchGuideStateChange'时表示监听类型为触摸浏览启用状态变化监听。<br/>**系统能力**:SystemCapability.BarrierFree.Accessibility.Vision |
461  | callback | Callback&lt;boolean&gt; | 否 | 要取消的监听回调函数。 |
462
463- 示例
464
465  ```typescript
466  accessibility.off('accessibilityStateChange',(data) => {
467      console.info('success data:unSubscribeStateObserver : ' + JSON.stringify(data))
468  })
469  ```
470
471## accessibility.isOpenAccessibility
472
473isOpenAccessibility(): Promise&lt;boolean&gt;
474
475判断是否启用了辅助功能。
476
477**系统能力**:SystemCapability.BarrierFree.Accessibility.Core
478
479- 返回值:
480
481  | 类型 | 说明 |
482  | -------- | -------- |
483  | Promise&lt;boolean&gt; | 如果辅助功能已启用,则返回 true;否则返回 false。 |
484
485- 示例
486
487  ```typescript
488  accessibility.isOpenAccessibility()
489      .then((data) => {
490          console.info('success data:isOpenAccessibility : ' + JSON.stringify(data))
491      }).catch((error) => {
492          console.error('failed to  isOpenAccessibility because ' + JSON.stringify(error));
493      })
494  ```
495
496## accessibility.isOpenAccessibility
497
498isOpenAccessibility(callback: AsyncCallback&lt;boolean&gt;): void
499
500判断是否启用了辅助功能。
501
502**系统能力**:SystemCapability.BarrierFree.Accessibility.Core
503
504- 参数
505
506  | 参数名 | 参数类型 | 必填 | 说明 |
507  | -------- | -------- | -------- | -------- |
508  | callback | AsyncCallback&lt;boolean&gt; | 是 | 回调函数,如果辅助功能已启用,则返回 true;否则返回 false。 |
509
510- 示例
511
512  ```typescript
513  accessibility.isOpenAccessibility((err, data) => {
514      if (err) {
515          console.error('failed to isOpenAccessibility because ' + JSON.stringify(err));
516          return;
517      }
518      console.info('success data:isOpenAccessibility : ' + JSON.stringify(data))
519  })
520  ```
521
522## accessibility.isOpenTouchGuide
523
524isOpenTouchGuide(): Promise&lt;boolean&gt;
525
526判断触摸浏览模式是否开启。
527
528**系统能力**:SystemCapability.BarrierFree.Accessibility.Core
529
530- 返回值:
531
532  | 类型 | 说明 |
533  | -------- | -------- |
534  | Promise&lt;boolean&gt; | 如果触摸浏览模式已开启,则返回 true;否则返回 false。 |
535
536- 示例
537
538  ```typescript
539  accessibility.isOpenTouchGuide()
540      .then((data) => {
541          console.info('success data:isOpenTouchGuide : ' + JSON.stringify(data))
542      }).catch((error) => {
543          console.error('failed to  isOpenTouchGuide because ' + JSON.stringify(error));
544      })
545  ```
546
547## accessibility.isOpenTouchGuide
548
549isOpenTouchGuide(callback: AsyncCallback&lt;boolean&gt;): void
550
551判断触摸浏览模式是否开启。
552
553**系统能力**:SystemCapability.BarrierFree.Accessibility.Core
554
555- 参数
556
557  | 参数名 | 参数类型 | 必填 | 说明 |
558  | -------- | -------- | -------- | -------- |
559  | callback | AsyncCallback&lt;boolean&gt; | 是 | 回调函数,如果触摸浏览模式已开启,则返回 true;否则返回 false。 |
560
561- 示例
562
563  ```typescript
564  accessibility.isOpenTouchGuide((err, data) => {
565      if (err) {
566          console.error('failed to isOpenTouchGuide because ' + JSON.stringify(err));
567          return;
568      }
569      console.info('success data:isOpenTouchGuide : ' + JSON.stringify(data))
570  })
571  ```
572
573## accessibility.sendEvent
574
575sendEvent(event: EventInfo): Promise&lt;void&gt;
576
577发送无障碍事件。
578
579**系统能力**:SystemCapability.BarrierFree.Accessibility.Core
580
581- 参数:
582
583  | 参数名 | 参数类型 | 必填 | 说明 |
584  | -------- | -------- | -------- | -------- |
585  | event | [EventInfo](#eventinfo) | 是 | 无障碍事件对象。 |
586
587- 返回值:
588
589  | 类型 | 说明 |
590  | -------- | -------- |
591  | Promise&lt;void&gt; | 以 Promise 形式返回结果,如果发送无障碍事件成功,则 data 有数据返回;如果发送无障碍事件失败,则 err 有数据返回。 |
592
593- 示例
594
595  ```typescript
596  accessibility.sendEvent(this.eventInfo)
597      .then((data) => {
598          console.info('success data:sendEvent : ' + JSON.stringify(data))
599      }).catch((error) => {
600          console.error('failed to  sendEvent because ' + JSON.stringify(error));
601      })
602  ```
603
604## accessibility.sendEvent
605
606sendEvent(event: EventInfo, callback: AsyncCallback&lt;void&gt;): void
607
608发送无障碍事件。
609
610**系统能力**:SystemCapability.BarrierFree.Accessibility.Core
611
612- 参数:
613
614  | 参数名 | 参数类型 | 必填 | 说明 |
615  | -------- | -------- | -------- | -------- |
616  | event | [EventInfo](#eventinfo) | 是 | 辅助事件对象。 |
617  | callback | AsyncCallback&lt;void&gt; | 是 | 回调函数,如果发送无障碍事件成功,则 AsyncCallback 中 data 有数据返回;如果发送无障碍事件失败,则 AsyncCallback 中 err 有数据返回。 |
618
619- 示例
620
621  ```typescript
622  accessibility.sendEvent(this.eventInfo,(err, data) => {
623      if (err) {
624          console.error('failed to sendEvent because ' + JSON.stringify(err));
625          return;
626      }
627      console.info('success data:sendEvent : ' + JSON.stringify(data))
628  })
629  ```
630