Options
All
  • Public
  • Public/Protected
  • All
Menu

Interface EventInterface

事件相关 API

注:appkey 级别需要开通功能才可以启用。

Hierarchy

  • EventInterface

Implemented by

Index

Methods

  • publishEvent(options: { broadcastType?: number; custom?: string; sync?: boolean; type: number; validTime?: number; value: number; done?: any }): void
  • 发布事件,事件订阅者会收到 onpushevents 回调函数

    IM订阅事件分为两类:

    1. 在线状态订阅, 主要用于监听好友的在线状态。初始化阶段,只有订阅监听的账户在线时,才会收到在线订阅事件
      • type = 1, value = 1: 用户在线
      • type = 1, value = 2: 用户登出
      • type = 1, value = 3: 用户断开连接
    2. 用户自定义事件。如果云信系统内置的在线状态事件无法满足应用需求,需要自定义事件时,可以使用该 API 来发布自定义事件。用户自定义的订阅事件必须为 type = 1, value >= 10000

    关联函数

    Parameters

    • options: { broadcastType?: number; custom?: string; sync?: boolean; type: number; validTime?: number; value: number; done?: any }
      • Optional broadcastType?: number

        广播类型

        1: 仅在线 2:在线和离线

      • Optional custom?: string

        用户自定义事件扩展属性

      • Optional sync?: boolean

        是否同步给自己

      • type: number

        事件类型, 目前只有 1。

      • Optional validTime?: number

        发布事件的有效时间 单位秒 60s~7天(604800s),默认 7 天

      • value: number

        事件状态/事件内容,由开发者做自定义映射

        注:value 须为 10000 以上 (1-9999为云信预定义值,开发者不可使用,1代表上线,2代表下线,3代表断开连接)

      • done?:function

    Returns void

  • querySubscribeEventsByAccounts(options: { accounts: string[]; type: number; done?: any }): void
  • querySubscribeEventsByType(options: { type: number; done?: any }): void
  • subscribeEvent(options: { accounts: string[]; subscribeTime?: number; sync?: boolean; type: number; done?: any }): void
  • 订阅指定用户的事件。无论是内置的在线状态事件或是自定义的事件,都需要通过该 API 订阅后才能接收。

    注意

    • 每个 IM 帐号最多可订阅 3000 个其他 IM 账号
    • 同一 IM 账号在其他设备端订阅,会覆盖本端订阅有效期。因此建议各端订阅时长保持一致
    • 在 30 秒内,对同一 IM 账号的同一事件的订阅,即使设置为立即同步服务,也不会下发目标事件

    关联函数

    示例场景

    Parameters

    • options: { accounts: string[]; subscribeTime?: number; sync?: boolean; type: number; done?: any }
      • accounts: string[]

        订阅账户列表

      • Optional subscribeTime?: number

        订阅关系有效期,以秒为单位

      • Optional sync?: boolean

        订阅后是否立即同步最新事件

      • type: number

        事件类型,目前只有 1

        note

        开发者可自定义 value 值来实现自身业务需求。一个 value 对应一个事件状态,其中 1-9999 为云信预定义值,开发者不可使用。

      • done?:function

    Returns void

  • unSubscribeEventsByAccounts(options: { accounts?: string[]; type: number; done?: any }): void
  • unSubscribeEventsByType(options: { type: number; done?: any }): void
  • 取消指定事件的全部订阅关系

    Parameters

    Returns void