WhiteCommonCallbacks.h 2.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798
  1. //
  2. // WhiteBaseCallbacks.h
  3. // WhiteSDK
  4. //
  5. // Created by yleaf on 2019/3/1.
  6. //
  7. #import <Foundation/Foundation.h>
  8. NS_ASSUME_NONNULL_BEGIN
  9. /** 白板通用回调。 */
  10. @protocol WhiteCommonCallbackDelegate <NSObject>
  11. @optional
  12. /** SDK 出现未捕获的全局错误回调。
  13. @param error 错误信息。
  14. */
  15. - (void)throwError:(NSError *)error;
  16. /**
  17. 图片拦截回调。
  18. **Note:**
  19. - 要触发该回调,必须在初始化白板 SDK 时,设置 `enableInterrupterAPI(YES)` 开启图片拦截替换功能。详见 [WhiteSdkConfiguration](WhiteSdkConfiguration)。
  20. - 开启图片拦截替换功能后,在白板中插入图片或场景时,会触发该回调。
  21. @param url 图片原地址。
  22. @return 替换后的图片地址。
  23. */
  24. - (NSString *)urlInterrupter:(NSString *)url;
  25. /**
  26. 播放动态 PPT 中的音视频回调。
  27. */
  28. - (void)pptMediaPlay;
  29. /**
  30. 暂停播放动态 PPT 中的音视频回调。
  31. */
  32. - (void)pptMediaPause;
  33. /**
  34. SDK 初始化失败回调。
  35. @since 2.9.13
  36. 如果 SDK 初始化失败,调用加入实时房间或回放房间时会处于一直无响应状态,需要重新初始化 SDK。
  37. SDK 初始化失败可能由以下原因导致:
  38. - 初始化 SDK 时候,网络异常,导致获取配置信息失败。
  39. - 传入了不合法的 App Identifier。
  40. @param error 错误信息。
  41. */
  42. - (void)sdkSetupFail:(NSError *)error;
  43. /**
  44. 接收到网页发送的消息回调。
  45. 消息回调包括:
  46. - 字典格式的 iframe 数据
  47. - 图片加载失败信息
  48. - ppt 播放/暂停回调信息
  49. 当本地用户收到了网页(如 iframe 插件、动态 PPT)发送的消息时会触发该回调。
  50. @param dict 字典格式的消息。只有当消息为字典格式时,本地用户才能收到。
  51. */
  52. - (void)customMessage:(NSDictionary *)dict;
  53. /**
  54. * @param dict {funName: string, message: id} funName 为对应 API 的名称
  55. */
  56. - (void)logger:(NSDictionary *)dict;
  57. @end
  58. /**
  59. 通用回调。
  60. */
  61. @interface WhiteCommonCallbacks : NSObject
  62. /**
  63. 通用回调。详见 [WhiteCommonCallbackDelegate](WhiteCommonCallbackDelegate)。
  64. */
  65. @property (nonatomic, weak) id<WhiteCommonCallbackDelegate> delegate;
  66. @end
  67. NS_ASSUME_NONNULL_END