• 环信集成SDK


    一、环信的集成

    1.首先找到网址

    https://www.easemob.com/
    进入登录注册就不再掩饰了大家自己来

    2.看图找到集成文档

    在这里插入图片描述

    3找到Android 的SDK集成

    在这里插入图片描述

    4.看 介绍就行了也可以看我的,我直接按照我自己的步骤来写

    在这里插入图片描述

    implementation 'io.hyphenate:hyphenate-chat:3.8.7'
    
    • 1

    5.然后就是在你的清单里面加入权限

    <?xml version="1.0" encoding="utf-8"?>
    <manifest xmlns:android="http://schemas.android.com/apk/res/android"
        package="Your Package"
        android:versionCode="100"
        android:versionName="1.0.0">
      
        <!-- IM SDK required start -->
        <!-- 允许程序振动,用于本地通知设置振动 -->
        <uses-permission android:name="android.permission.VIBRATE" />
        <!-- 访问网络权限 -->
        <uses-permission android:name="android.permission.INTERNET" />
        <!-- 麦克风权限,用于语音消息时录制语音,不使用录制语音可以移除 -->
        <uses-permission android:name="android.permission.RECORD_AUDIO" />
        <!-- 相机权限,用于图片消息时拍摄图片,不使用拍照可以移除 -->
        <uses-permission android:name="android.permission.CAMERA" />
        <!-- 获取运营商信息,用于获取网络状态 -->
        <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE”/>
        <!-- 写入扩展存储权限,用于附件等的存储 -->
        <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE”/>
        <!-- 访问GPS定位,用于定位消息,如果不用定位相关可以移除 -->
        <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
        <!-- api 21后被标记为deprecated,可以移除 -->
        <uses-permission android:name="android.permission.GET_TASKS" />
        <!-- 允许程序在手机屏幕关闭后后台进程仍然运行 -->
        <uses-permission android:name="android.permission.WAKE_LOCK" />
        <!-- 允许程序开机自动运行,SDK保活时使用,如果使用厂商推送,可以移除 -->
        <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
        <!-- IM SDK required end -->	
     
        <application
            android:icon="@drawable/ic_launcher"
            android:label="@string/app_name"
            android:name="Your Application">
      
       	<!-- 设置环信应用的 AppKey -->
        	<meta-data android:name="EASEMOB_APPKEY"  android:value="Your AppKey" />
        	<!-- 声明 SDK 所需的 service SDK 核心功能-->
        	<service android:name="com.hyphenate.chat.EMChatService" android:exported="true"/>
            <service android:name="com.hyphenate.chat.EMJobService"
                android:permission="android.permission.BIND_JOB_SERVICE"
                android:exported="true"
                />
            <!-- 声明 SDK 所需的 receiver -->
            <receiver android:name="com.hyphenate.chat.EMMonitorReceiver">
                <intent-filter>
                    <action android:name="android.intent.action.PACKAGE_REMOVED"/>
                    <data android:scheme="package"/>
                </intent-filter>
                <!-- 可选 filter -->
                <intent-filter>
                    <action android:name="android.intent.action.BOOT_COMPLETED"/>
                    <action android:name="android.intent.action.USER_PRESENT" />
                </intent-filter>
            </receiver>
        </application>
    </manifest>
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43
    • 44
    • 45
    • 46
    • 47
    • 48
    • 49
    • 50
    • 51
    • 52
    • 53
    • 54
    • 55
    • 56

    6 .基本的权限之类的就完事了下面就是在App里面初始化

    在这里插入图片描述

     EMOptions options = new EMOptions();
    // 默认添加好友时,是不需要验证的,改成需要验证
            options.setAcceptInvitationAlways(true);
    // 是否自动将消息附件上传到环信服务器,默认为True是使用环信服务器上传下载,如果设为 false,需要开发者自己处理附件消息的上传和下载
            options.setAutoTransferMessageAttachments(true);
    // 是否自动下载附件类消息的缩略图等,默认为 true 这里和上边这个参数相关联
            options.setAutoDownloadThumbnail(true);
    
    //初始化
    
            //EaseIM 初始化
            if(EaseIM.getInstance().init(this, options)){
                //在做打包混淆时,关闭 debug 模式,避免消耗不必要的资源
                EMClient.getInstance().setDebugMode(true);
                //EaseIM 初始化成功之后再调用注册消息监听的代码 ...
            }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16

    在这里插入图片描述

    7 初始化之后就可以来写漂亮的效果了

    在这里插入图片描述
    完成这个登录注册页面

    就是一个输入框自己来完成吧

    (1)注册

    在这里插入图片描述
    里面的username 和password就是你获取输入框里面内容注册

    (2)登录

    EMClient.getInstance().login(userName,password,new EMCallBack() {//回调
        @Override
        public void onSuccess() {
            EMClient.getInstance().groupManager().loadAllGroups();
            EMClient.getInstance().chatManager().loadAllConversations();
                Log.d("main", "登录聊天服务器成功!");		
        }
    
        @Override
        public void onProgress(int progress, String status) {
    
        }
    
        @Override
        public void onError(int code, String message) {
            Log.d("main", "登录聊天服务器失败!");
        }
    });
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18

    提示一下在登陆的时候要先退出登录

    EMClient.getInstance().logout(true);
    
    • 1

    其实也不用我写 大家看着环信里面自己就可以完成的

    注册和登录都要开一个线程

     button.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                String s = zh.getText().toString().trim();
                String s1 = mm.getText().toString().trim();
             //   Toast.makeText(LongingActivity.this, "点击"+s, Toast.LENGTH_SHORT).show();
                            new Thread(
                                    new Runnable() {
                                        @Override
                                        public void run() {
                                            try {
                                                EMClient.getInstance().createAccount(s, s1);//同步方法
    
                                                runOnUiThread(new Runnable() {
                                                    @Override
                                                    public void run() {
                                                        Toast.makeText(LongingActivity.this, s+"", Toast.LENGTH_SHORT).show();
                                                        finish();
                                                    }
                                                });
                                            } catch (HyphenateException e) {
                                                e.printStackTrace();
                                            }
                                        }
                                    }
                            ).start();
    
                        }
        });
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29

    我就不一一展示了

    二 前置任务

    在这里插入图片描述

    1.环信登陆之后需要添加应用

    在这里插入图片描述

    2.名字自己起名字

    在这里插入图片描述

    3.复制这个秘钥

    在这里插入图片描述

    4.复制到这里就可以啦

    在这里插入图片描述
    直接环信的登录注册现在就完成了

    5 . 会话界面 聊天界面 啥的自己看官网就可以了,待我有时间还会继续更新的

    在这里插入图片描述

  • 相关阅读:
    R语言在气象、水文中数据处理及结果分析、绘图
    企业自建应用对接企业微信发送消息接口
    微服务·数据一致-事务与分布式事务
    Kafka (三) --------- Kafka 生产者
    WPF:自定义按钮模板
    Go 学习笔记(84)— Go 项目目录结构
    【单目标优化求解】基于matlab海马算法求解单目标优化问题【含Matlab源码 2113期】
    获取数组对象里面相同值的最后一个对象
    【数据结构】带头双向循环链表
    对抗训练理论分析:自适应步长快速对抗训练
  • 原文地址:https://blog.csdn.net/qq_34178710/article/details/126177113