環(huán)信3.0簡單集成及昵稱與頭像的顯示

環(huán)信簡單集成保礼,這是官方文檔沛励,按照這個分分鐘搞定,但是我遇到的是UI頭像和昵稱不顯示的問題炮障,分享下我的解決方法目派。
快速集成鏈接:http://git.oschina.net/markies/HxChatDemo

關于頭像和昵稱的問題,需要向自己的后臺服務器請求胁赢。
我是在會話列表頁請求數(shù)據(jù)并緩存到數(shù)據(jù)庫企蹭。
1.請求頭像


#pragma mark - EaseConversationListViewControllerDelegate
 - (void)postUserInfoWithChatter:(NSString *)chattar model:(EaseConversationModel *)model{
             
             NSDictionary *pamaa = @{
                                     @"phones":chattar
                                     };
             
             [until AFNetworkPOSTurl:@"http://demo.bianguo.com.cn/ccjtest/lvtt/api/home/index/get_userinfos" paraments:pamaa complete:^(id json, NSError *error) {
                 
                 NSLog(@"環(huán)信數(shù)組-%@",json);
                 model.title = json[@"data"][0][@"nickname"];
                 model.avatarURLPath = json[@"data"][0][@"headimg"];
                 
                 
                 NSUserDefaults *defults = [NSUserDefaults standardUserDefaults];
                 
                 NSMutableDictionary *dic = [NSMutableDictionary dictionary];
                 
                 dic[@"name"]  = model.title;
                 dic[@"avatarURLPath"] = model.avatarURLPath;
                 [defults setObject:dic forKey:chattar];
                 
                 //緩存用戶頭像
                 [UserCacheManager saveInfo:chattar imgUrl:model.avatarURLPath nickName:model.title];
                 
             }];
             
         }

在下面這個方法中顯示會話列表的頭像和昵稱,并緩存到UserCacheManager這個類中


- (id<IConversationModel>)conversationListViewController:(EaseConversationListViewController *)conversationListViewController modelForConversation:(EMConversation *)conversation{
    self.chatter = conversation.conversationId;

    EaseConversationModel *model = [[EaseConversationModel alloc] initWithConversation:conversation];
                            if (model.conversation.type == EMConversationTypeChat) {
                                NSUserDefaults *defults = [NSUserDefaults standardUserDefaults];
                                NSString *chatterBig = [conversation.conversationId  uppercaseString];
                                NSMutableDictionary *sqDic = [defults objectForKey:chatterBig];
                 //在這里顯示會話列表的頭像和昵稱
                  if (sqDic) {
                                    model.title = sqDic[@"name"];
                                    model.avatarURLPath = sqDic[@"avatarURLPath"];
                                    [UserCacheManager saveInfo:conversation.conversationId imgUrl:model.avatarURLPath nickName:model.title];
                                }else{
                                    [self postUserInfoWithChatter:chatterBig model:model];//請求數(shù)據(jù)
                                }

                            } else if (model.conversation.type == EMConversationTypeGroupChat) {
                                NSString *imageName = @"groupPublicHeader";
                                if (![conversation.ext objectForKey:@"subject"])
                                {
                                    NSArray *groupArray = [[EMClient sharedClient].groupManager getAllGroups];
                                    for (EMGroup *group in groupArray) {
                                        if ([group.groupId isEqualToString:conversation.conversationId]) {
                                            NSMutableDictionary *ext = [NSMutableDictionary dictionaryWithDictionary:conversation.ext];
                                            [ext setObject:group.subject forKey:@"subject"];
                                            [ext setObject:[NSNumber numberWithBool:group.isPublic] forKey:@"isPublic"];
                                            conversation.ext = ext;
                                            break;
                                        }
                                    }
                                }
                                model.title = [conversation.ext objectForKey:@"subject"];
                                imageName = [[conversation.ext objectForKey:@"isPublic"] boolValue] ? @"groupPublicHeader" : @"groupPrivateHeader";
                                model.avatarImage = [UIImage imageNamed:imageName];
                            }
                            return model;
                        }

接下來顯示聊天會話中自己的頭像和對方的頭像

在EaseBaseMessageCell中智末,

- (void)setModel:(id<IMessageModel>)model
這個方法中進行賦值谅摄。

if (self.model.isSender) {//這是自己的頭像
        _nameLabel.text = [ZYTokenManager usernickname];
        [self.avatarView sd_setImageWithURL:[NSURL URLWithString:[ZYTokenManager userheadimg]] placeholderImage:model.avatarImage];
else{//這里是對方頭像,從緩存的UserCacheManager這個類中取出來
        UserCacheInfo * userInfo = [UserCacheManager getById:model.nickname];
        if (userInfo!=nil) {
            _nameLabel.text = userInfo.NickName;
            [self.avatarView sd_setImageWithURL:[NSURL URLWithString:userInfo.AvatarUrl] placeholderImage:model.avatarImage];
        }else{
            _nameLabel.text = @"nil";
        }
        
    }

這樣基本上就沒有問題了系馆。

2.最近做環(huán)信推送遇到點問題送漠。本地推送沒有聲音,后來參考demo由蘑,解決方法如下螺男。
2.1 本地通知棒厘。在進入后臺3分鐘之內(nèi),由于長連接沒有關系下隧,發(fā)送的通知是本地通知奢人,之后發(fā)送的消息通知是APNS。

在
ChatUIHelper.m文件中找到這個方法

- (void)didReceiveMessages:(NSArray *)aMessages
本地推送消息聲音代碼圖1

如果這樣推送還沒有聲音的話淆院,還是在這個.m文件的最后何乎,再加一句

本地推送消息聲音代碼圖2

2.2 離線推送。離線推送集成看官方demo土辩,這邊說一下證書的配置支救。
如果只是連接到Xcode真機測試,選擇開發(fā)環(huán)境下的證書測試拷淘。
如果上傳到蒲公英之類的掃碼測試各墨,就需要生成環(huán)境下的證書測試,也就是和上線之后的證書是一致的启涯。

開發(fā)上線的推送證書配置
最后編輯于
?著作權歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末贬堵,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子结洼,更是在濱河造成了極大的恐慌黎做,老刑警劉巖,帶你破解...
    沈念sama閱讀 218,682評論 6 507
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件松忍,死亡現(xiàn)場離奇詭異蒸殿,居然都是意外死亡,警方通過查閱死者的電腦和手機鸣峭,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,277評論 3 395
  • 文/潘曉璐 我一進店門宏所,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人摊溶,你說我怎么就攤上這事爬骤。” “怎么了更扁?”我有些...
    開封第一講書人閱讀 165,083評論 0 355
  • 文/不壞的土叔 我叫張陵盖腕,是天一觀的道長赫冬。 經(jīng)常有香客問我浓镜,道長,這世上最難降的妖魔是什么劲厌? 我笑而不...
    開封第一講書人閱讀 58,763評論 1 295
  • 正文 為了忘掉前任膛薛,我火速辦了婚禮,結果婚禮上补鼻,老公的妹妹穿的比我還像新娘哄啄。我一直安慰自己雅任,他們只是感情好,可當我...
    茶點故事閱讀 67,785評論 6 392
  • 文/花漫 我一把揭開白布咨跌。 她就那樣靜靜地躺著沪么,像睡著了一般。 火紅的嫁衣襯著肌膚如雪锌半。 梳的紋絲不亂的頭發(fā)上禽车,一...
    開封第一講書人閱讀 51,624評論 1 305
  • 那天,我揣著相機與錄音刊殉,去河邊找鬼殉摔。 笑死,一個胖子當著我的面吹牛记焊,可吹牛的內(nèi)容都是我干的逸月。 我是一名探鬼主播,決...
    沈念sama閱讀 40,358評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼遍膜,長吁一口氣:“原來是場噩夢啊……” “哼碗硬!你這毒婦竟也來了?” 一聲冷哼從身側響起捌归,我...
    開封第一講書人閱讀 39,261評論 0 276
  • 序言:老撾萬榮一對情侶失蹤肛响,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后惜索,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體特笋,經(jīng)...
    沈念sama閱讀 45,722評論 1 315
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,900評論 3 336
  • 正文 我和宋清朗相戀三年巾兆,在試婚紗的時候發(fā)現(xiàn)自己被綠了猎物。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 40,030評論 1 350
  • 序言:一個原本活蹦亂跳的男人離奇死亡角塑,死狀恐怖蔫磨,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情圃伶,我是刑警寧澤堤如,帶...
    沈念sama閱讀 35,737評論 5 346
  • 正文 年R本政府宣布,位于F島的核電站窒朋,受9級特大地震影響搀罢,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜侥猩,卻給世界環(huán)境...
    茶點故事閱讀 41,360評論 3 330
  • 文/蒙蒙 一榔至、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧欺劳,春花似錦唧取、人聲如沸铅鲤。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,941評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽邢享。三九已至,卻和暖如春淡诗,著一層夾襖步出監(jiān)牢的瞬間驼仪,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,057評論 1 270
  • 我被黑心中介騙來泰國打工袜漩, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留绪爸,地道東北人。 一個月前我還...
    沈念sama閱讀 48,237評論 3 371
  • 正文 我出身青樓宙攻,卻偏偏與公主長得像奠货,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子座掘,可洞房花燭夜當晚...
    茶點故事閱讀 44,976評論 2 355

推薦閱讀更多精彩內(nèi)容