leancloud / realtime-SDK-dotNET

LeanCloud Instants Messaging SDK for Portable & Unity & .NET Core written by c#
Apache License 2.0
13 stars 9 forks source link

[feat]为 AVIMClient 增加 AutoRead 属性 #92

Open wujun4code opened 6 years ago

wujun4code commented 6 years ago

Quick Look

public class AVIMClient
{
         /// <summary>
        /// 一些可变的配置选项,便于应对各种需求场景
        /// </summary>
        public struct Configuration
        {
            public bool AutoRead { get; set; }
        }

        public Configuration CurrentConfiguration
        {
            get; set;
        }
}

Why?

为了配合 v.3 协议,因为这个协议下,在线收到消息之后,需要手动的标记已读,所以给一个默认的属性在 AVIMClient 上,如果 AutoRead 为 true,SDK 在接收到新消息的时候,立即告诉服务端当前消息已读,这种情况符合大多数情况下的需求(微信/游戏等),不是很强烈要求已读回执的需求场景下理论上是更常见的实际场景,所以应该把 钉钉(强制需要知道每一个人的已读回执) 那种需求视为叫少数,因此该属性默认 ture,并且在允许开发者设置为 false:

leeyeh commented 6 years ago

开发者想要收到消息就标为已读不是一行代码的事情吗?为啥要 SDK 加开关来做这个事情。

ylgrgyq commented 6 years ago

我理解不想手动 read 就用 v1 好了。