---
name: "onFileTransferProgress"
mode: "kit"
versionRequirements:
  - { name: "DeviceKit", version: "2.4.0" }
  - { name: "@ray-js/ray", version: "0.6.23" }
platform:
  - "iOS"
  - "Android"
async: true
---

## onFileTransferProgress

> [VERSION] DeviceKit >= 2.4.0 | @ray-js/ray >= 0.6.23

> [PLATFORM] iOS, Android

> ⚡ **Supports Promise** — Returns a Promise when success / fail / complete callbacks are omitted.

### Description

Progress event for transferring a file to a Bluetooth device

### Parameters

`(listener: Function)`

| Parameter | Type | Required | Default | Description |
| --- | --- | --- | --- | --- |
| `listener` | `(params: FileTransferProgressResult) => void` | Yes | - |  |

### Referenced Types

##### `interface` FileTransferProgressResult

| Property | Type | Since | Description |
| --- | --- | --- | --- |
| `deviceId` | `string` | `2.4.0` | Device model, device ID |
| `fileId` | `number` | `2.4.0` | File ID |
| `fileIdentifier` | `string` | `2.4.0` | File identifier |
| `fileVersion` | `number` | `2.4.0` | File version |
| `filePath` | `string` | `2.4.0` | File URL |
| `progress` | `number` | `2.4.0` | Transfer progress |


### Examples

#### Basic usage

```tsx
import { device } from '@ray-js/ray'

const { onFileTransferProgress } = device;

onFileTransferProgress((res) => {
  console.log('onFileTransferProgress', res);
});
```
