> For the complete documentation index, see [llms.txt](https://relationlabs.gitbook.io/relation-one-api/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://relationlabs.gitbook.io/relation-one-api/api-zh/js-sdk/im-js-sdk/static-method.md).

# 静态方法

### RelationIM.getRelationToken （获取unifiedAuthToken）

```javascript
RelationIM.getRelationToken(addressAuthToken, APIKEY)
```

|     **Config options**     |        **Description**        | **Default** |
| :------------------------: | :---------------------------: | :---------: |
| addressAuthToken: *string* | 必选，通过authByMetamask获取到的 token |             |
|      apiKey: *string*      |           必选，从管理员处获取          |             |

说明：返回信息里面 `token`是对应账户在`relation`的`unifiedAuthToken`，如果没有对应账户会默认注册一个账户

### RelationIM.init（调用其他Api前必须经过初始化）

```javascript
RelationIM.init({configOptions})
```

| **Config options** |     **Description**    | **Default** |
| :----------------: | :--------------------: | :---------: |
|   token: *string*  | 必选，用户的unifiedAuthToken |             |
|  apiKey: *string*  |       必选，从管理员处获取       |             |
| connect: *boolean* |  可选，是否连接socket，用来接受消息  |    false    |
| refresh: *boolean* |       可选，是否重新初始化       |    false    |

说明：使用 `init` 接口初始化时，`connect` 参数表示是否链接 `socket`，`refresh` 参数表示是否刷新 `RelationIM` 实例，

### RelationIM.getInstance（获取已初始化过的 `RelationIM` 实例）

```javascript
RelationIM.getInstance()
```

说明：通常 `RelationIM` 实例只需要一个，但调用普通接口的地方很多，为了避免多次初始化 `RelationIM` 和重复创建 `socket`，建议在需要的地方手动指定 `RelationIM.getInstance` 静态方法获取已初始化过的 `RelationIM` 实例
