Options
All
  • Public
  • Public/Protected
  • All
Menu

调用方式:

nim.event.publishEvent(options)

Hierarchy

  • EventServiceInterface

Index

Methods

  • 发布某事件

    IM订阅事件分为两类:

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

    影响范围

    example
    nim.event.publishEvent({
    "type": 1,
    "value": 100003,
    "ext": "hello world",
    // 单位秒
    "validTime": 60,
    "broadcastType": 2,
    "sync": false
    })

    // 监听此事件的其它用户
    nim.on('pushEvents', function (events) {
    console.log('收到订阅事件', events)
    })

    Parameters

    Returns Promise<PublishEventResult>

  • 订阅指定用户的事件。无论是内置的在线状态事件或是自定义的事件,都需要通过该 API 订阅后才能接收。

    订阅事件后,应用开发者通过 IMEventInterface.pushEvents 函数监听订阅事件。

    注意

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

    示例场景

    example
    nim.event.subscribeEvent({
    "type": 1,
    "accounts": [
    "zk2"
    ],
    // 订阅有效期: 9000s
    "subscribeTime": 9000,
    "sync": true
    })

    Parameters

    Returns Promise<SubscribeEventResult>