• 好友管理
    • 概述
      • 发送好友添加请求
      • 接受好友请求
      • 拒绝好友请求
      • 获取好友列表
      • 删除好友
      • 更新好友备注名/备注信息
        • 好友备注名
          • 获取
          • 设置
        • 好友备注信息
          • 获取
          • 设置
      • 好友相关通知事件

    好友管理

    概述

    JMessage iOS SDK 从 2.4.0 版本开始提供接口实现对用户好友关系的托管,以及相关好友请求的发送和接收。

    好友模块仅实现对用户好友关系的托管,以及相关好友请求的发送和接收。除此之外的任何建立在好友关系之上的功能(如:仅限于好友之间才能进行的聊天等),需要开发者的应用层自己实现。JMessage 本身是无好友通信模式。

    发送好友添加请求

    1. /*!
    2. * @abstract 发送添加好友请求
    3. *
    4. * @param username 对方用户名
    5. * @param userAppKey 对方所在应用appkey,不传则默认是本应用
    6. * @param reason 添加好友时的备注,可不填
    7. *
    8. * @param handler 结果回调。回调参数
    9. *
    10. * - resultObject 相应的返回对象
    11. * - error 错误信息
    12. *
    13. * 如果 error 为 nil, 表示设置成功
    14. * 如果 error 不为 nil,表示设置失败
    15. *
    16. * @discussion 在对方未做回应的前提下,允许重复发送添加好友的请求。
    17. */
    18. + (void)sendInvitationRequestWithUsername:(NSString *)username
    19. appKey:(NSString *)userAppKey
    20. reason:(NSString *)reason
    21. completionHandler:(JMSGCompletionHandler)handler;

    接受好友请求

    1. /*!
    2. * @abstract 接受好友邀请
    3. *
    4. * @param username 对方用户名
    5. * @param userAppKey 对方所在应用appkey,不传则默认是本应用
    6. *
    7. * @param handler 结果回调。回调参数:
    8. *
    9. * - resultObject 相应的返回对象
    10. * - error 错误信息
    11. *
    12. * 如果 error 为 nil, 表示设置成功
    13. * 如果 error 不为 nil,表示设置失败
    14. *
    15. */
    16. + (void)acceptInvitationWithUsername:(NSString *)username
    17. appKey:(NSString *)userAppKey
    18. completionHandler:(JMSGCompletionHandler)handler;

    拒绝好友请求

    1. /*!
    2. * @abstract 拒绝好友邀请
    3. *
    4. * @param username 对方用户名
    5. * @param userAppKey 对方所在应用appkey,不传则默认是本应用
    6. * @param reason 拒绝理由,可不传
    7. *
    8. * @param handler 结果回调。回调参数:
    9. *
    10. * - resultObject 相应的返回对象
    11. * - error 错误信息
    12. *
    13. * 如果 error 为 nil, 表示设置成功
    14. * 如果 error 不为 nil,表示设置失败
    15. *
    16. */
    17. + (void)rejectInvitationWithUsername:(NSString *)username
    18. appKey:(NSString *)userAppKey
    19. reason:(NSString *)reason
    20. completionHandler:(JMSGCompletionHandler)handler;

    获取好友列表

    1. /*!
    2. * @abstract 获取好友列表
    3. *
    4. * @param handler 结果回调。回调参数:
    5. *
    6. * - resultObject 类型为 NSArray,数组里成员的类型为 JMSGUser
    7. * - error 错误信息
    8. *
    9. * 如果 error 为 nil, 表示设置成功
    10. * 如果 error 不为 nil,表示设置失败
    11. *
    12. * @discussion 从服务器获取,异步返回结果,返回用户的好友列表。
    13. * 建议开发者在 SDK 完全启动之后,再调用此接口获取数据
    14. */
    15. + (void)getFriendList:(JMSGCompletionHandler)handler;

    删除好友

    1. /*!
    2. * @abstract 删除好友
    3. *
    4. * @param username 好友username
    5. * @param userAppKey 好友所在应用appkey,不传则默认是本应用
    6. *
    7. * @param handler 结果回调。回调参数:
    8. *
    9. * - resultObject 相应对象
    10. * - error 错误信息
    11. *
    12. * 如果 error 为 nil, 表示设置成功
    13. * 如果 error 不为 nil,表示设置失败
    14. *
    15. * @discussion
    16. */
    17. + (void)removeFriendWithUsername:(NSString *)username
    18. appKey:(NSString *)userAppKey
    19. completionHandler:(JMSGCompletionHandler)handler;

    更新好友备注名/备注信息

    设置好友备注名和备注信息的接口在 ">JMSGUser - 好友备注 类中。

    好友备注名

    获取
    1. /*!
    2. * @abstract 备注名
    3. */
    4. @property(nonatomic, copy, readonly) NSString * JMSG_NULLABLE noteName;
    设置
    1. /*!
    2. * @abstract 修改好友备注名
    3. *
    4. * @param noteName 备注名
    5. *
    6. * @discussion 注意:这是建立在是好友关系的前提下,修改好友的备注名
    7. */
    8. - (void)updateNoteName:(NSString *)noteName completionHandler:(JMSGCompletionHandler)handler;

    好友备注信息

    获取
    1. /*!
    2. * @abstract 备注信息
    3. */
    4. @property(nonatomic, copy, readonly) NSString * JMSG_NULLABLE noteText;
    设置
    1. /*!
    2. * @abstract 修改好友备注信息
    3. *
    4. * @param noteText 备注信息
    5. *
    6. * @discussion 注意:这是建立在是好友关系的前提下,修改好友的备注信息
    7. */
    8. - (void)updateNoteText:(NSString *)noteText completionHandler:(JMSGCompletionHandler)handler;

    好友相关通知事件

    好友相关的事件具体请查看 事件与代理 - 好友事件

    注意:好友相关事件 SDK 并没有做本地化存储,上层想要做记录这些事件,则需要上层自己实现存储。