You need to enable JavaScript to run this app.
导航
剪贴板同步功能
最近更新时间:2024.05.09 20:04:11首次发布时间:2023.12.18 10:43:49
复制全文
我的收藏
有用
有用
无用
无用

功能场景

用户在使用云手机时,可能需要从云机复制文本、表情符号等到真机。云手机 SDK 提供接口支持从云机复制文本、表情符号,并在真机输入框进行粘贴,实现剪贴板数据同步。

示例图

云机长按复制功能:

功能介绍

火山引擎云手机 SDK 支持写入云机实例剪贴板数据,以及监听云机实例剪贴板变化事件。同时也支持移动端客户端与云机剪贴板同步快捷功能。

手动同步模式(推荐)

通用场景,SDK 提供操作方法,应用代码控制消息处理逻辑。该场景较为通用,不自动写入到客户端本地剪贴板,方便进行数据处理并且减少兼容性问题。

  • 应用代码监听云机同步过来的剪贴板数据,当云机实例剪贴板内容发生变化时,该回调会获取到云机剪贴板信息,应用代码进行业务逻辑处理。

  • 当客户端期望同步剪贴板内容时,应用代码调用 “发送剪贴板数据” 接口,将客户端的 message 文本发送至云机剪贴板。

  • 该场景在 PC 端设备下,也同时支持键盘快捷键 Ctrl+V 进行数据粘贴至云机(其他数据通道传递,不会改变云机剪贴板)。

自动同步模式(仅 Web 端支持)

设置 enableSyncClipBoardtrue,主要针对移动端场景,无变更粘贴内容诉求,直接开启云机与客户端设备剪贴板同步。正常移动端长按复制和粘贴功能。

enableSyncClipBoard:true 设置在 PC 端设备下,仅支持云机剪贴板数据同步至客户端剪贴板内容,客户端为方便数据处理,不直接开启数据同步。

  • 可以直接用键盘快捷键 Ctrl+V 进行数据粘贴至云机(其他数据通道传递,不会改变云机剪贴板)。

  • 业务可以调用手动同步接口,调用 vePhone.sendClipBoardMessage(message) 将处理后的数据传递至云机剪贴板。

相关 API

Web

详细信息,参考 接口说明

//初始化应用
const vePhone = new vePhoneSDK(config);

//是否开启剪贴板同步
config.enableSyncClipBoard

//客户端是否为 PC 设备
config.isPC

//手动发送文本数据至云机剪贴板
vePhone.sendClipBoardMessage(message);

//云机实例剪贴板发生变化时的监听回调
vePhone.on('clipboard-message-received'); 

Android

详细信息,参考 接口说明

/**
  * 手动发送剪贴板数据
  *
  *  @param data 剪贴板数据
  *  @throws IllegalArgumentException
  */
void sendClipBoardMessage(ClipData data);

/**
  * 云机同步过来的剪贴板数据
  *  @param iClipBoardListener
  */
void setBoardSyncClipListener(IClipBoardListener iClipBoardListener);

iOS

详细信息,参考 接口说明

/// 剪贴板数据通道
/// - Parameter dataArray: 数据
/// - Notes 调用此接口,会触发“phoneManager:receivedClipBoardMessage:“回调
- (void)sendClipBoardMessage:(NSArray<NSString *> *)dataArray;

/// 云机发送“剪贴板数据”回调
/// - Parameters:
///   - manager: VePhoneManager 对象
///   - dataArray: 数据
- (void)phoneManager:(VePhoneManager *)manager receivedClipBoardMessage:(NSArray *)dataArray;

示例代码

Web

https://github.com/volcengine/vePhone/blob/main/Quick%20Start/Web/src/features/clipboard.js

Android

https://github.com/volcengine/vePhone/blob/main/Quick%20Start/Android/app/src/main/java/com/example/sdkdemo/feature/ClipBoardServiceManagerActivity.java

iOS

https://github.com/volcengine/vePhone/tree/main/Quick%20Start/iOS

注意事项

(Web 端)获取剪切板信息,需要先确认是否为安全域名(HTTPS,localhost 不支持 HTTP),部分浏览器限制 HTTP 模式下禁止读取剪切板内容。