广东触点科技有限公司 Android 云对讲 SDK

罗康 3c55113f4b 更新 'README.md' 1 year ago
README.md 3c55113f4b 更新 'README.md' 1 year ago
td-sip-1.1.0.aar 24c9b9e18c 修改aar名称 1 year ago

README.md

##产品功能说明

云对讲业务( TDSip)是一个让应用轻松实现智慧小区门口机与业主云对讲服务的SDK,使得终端用户手机通过服务器连接小区的门口机,查看门口机周围的环境来判定是否需要为其开门。 本Android SDK方便开发者基于 我司智慧社区产品 实现智慧社区业务。 SDK所支持的Android系统版本 目前SDK只支持Android 4.4或以上版本的手机系统; ##手动集成步骤 手动集成压缩包下载链接 td-sip-1.1.0.aar(云对讲业务核心包) ###SDK文件移植 复制td-sip-1.1.0.aar到工程libs/目录下。 ###配制build.gradle

dependencies {
    implementation(name: 'td-sip-1.1.0', ext: 'aar')
}

###配置AndroidManifest.xml 根据Demo压缩包里的AndroidManifest.xml样例文件,来配置应用程序项目的AndroidManifest.xml 。 AndroidManifest示例

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.td.tdfunction">
    <uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="android.permission.RECORD_AUDIO" />
    <uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" />
    <uses-permission android:name="android.permission.FOREGROUND_SERVICE" />
    <uses-permission android:name="android.permission.VIBRATE" />
    <uses-permission android:name="android.permission.WAKE_LOCK" />
    <uses-permission android:name="android.permission.DISABLE_KEYGUARD" />
    <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
    <application
        android:name=".TdApplication"
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:roundIcon="@mipmap/ic_launcher_round"
        android:supportsRtl="true"
        android:usesCleartextTraffic="true"
        android:theme="@style/Theme.tdfunction">
        <activity
            android:name="com.td.siptru.VideoActivity"
            android:configChanges="orientation|keyboardHidden|screenSize"
            android:launchMode="singleTask"
            android:screenOrientation="portrait" />
        <service android:name="com.td.siptru.SiptruMiniManager" />

    </application>
</manifest>

###必须权限说明

权限 用途
RECEIVE_USER_PRESENT 允许应用可以接收点亮屏幕或解锁广播。
INTERNET 允许应用可以访问网络。
WAKE_LOCK 允许应用在手机屏幕关闭后后台进程仍然运行。
READ_PHONE_STATE 允许应用访问手机状态。
WRITE_EXTERNAL_STORAGE 允许应用写入外部存储。
READ_EXTERNAL_STORAGE 允许应用读取外部存储。
WRITE_SETTINGS 允许应用读取系统设置项。
VIBRATE 允许应用震动。
MOUNT_UNMOUNT_FILESYSTEMS 允许应用挂载/卸载外部文件系统。
ACCESS_NETWORK_STATE 允许应用获取网络信息状态,如当前的网络连接是否有效。

###添加代码 TDSip SDK提供的API接口,都主要集中在com.td.tdsip.TdSipManager类里。 基础API ####init初始化SDK public static void init(Context context) 在自己的项目中自定义的Application中做SDK初始化

public class TdApplication extends Application  {

    @Override
    public void onCreate() {
        super.onCreate();
        Intent forgroundService1 = new Intent(this, TdSipManager.class);
        DaemonEnv.initialize(this, TdSipManager.class, DaemonEnv.DEFAULT_WAKE_UP_INTERVAL);
        TdSipManager.sShouldStopService = false;
        DaemonEnv.startServiceMayBind(TdSipManager.class);
        try{
            startService(forgroundService1);
        }catch (Exception e){e.printStackTrace();}
    }}

####获取账号并注册云对讲 首先购买我司云对讲门口机配套到小区后,在我司提供的后台管理中配置好小区门口机与业主信息的关联,得到相应的SIP账号和配置信息,供用户在使用云对讲前登录。必须登录成功后云对讲才能正常使用

  //注册SIP,成功后即可监视和接收呼叫
    public void registerLinPhone() {

        OpenSipBean openSipBean = getTestSipData();
        if(!TdSipManager.isReady()){
            return;
        }
        sipIp = openSipBean.getSipIp();
        TdSipManager instance = TdSipManager.getInstance();
        try {
            instance.registerSip(openSipBean);
        } catch (Exception e) {
            e.printStackTrace();
        }

        tdSipManager = TdSipManager.getInstance();

    }
	//从后台获取到的配置信息
	private OpenSipBean getTestSipData() {
        OpenSipBean  openSipBean = new OpenSipBean();
        openSipBean.setSipIp("47.106.***.8");
        openSipBean.setSipPort("8060");
        openSipBean.setSipId("100000***");
        openSipBean.setSipPassword("ecaa***f46");
        openSipBean.setEnableIce(1);
        openSipBean.setTurnServer("120.76.45.***:3478");
        openSipBean.setTurnUser("td***ud");
        openSipBean.setTurnPassword("8a793***3beb7");
        return openSipBean;
    }

####手机监视门口机功能

 //sipAccout:为需要监视的门口机sip账号
    public void call(final String sipAccount){
        try {
            tdSipManager.callSip(sipAccount,sipIp);
            startActivity(VideoActivity.getInstance(MainActivity.this));
        } catch (Exception e1) {
        }
    }

####门口机呼叫,手机接听功能

    public void acceptSip() {
        if (mSiptruCore == null||mInstance==null) {
            return;
        }
        Call currentCall = mSiptruCore.getCurrentCall();
        if (currentCall != null) {
            CallParams params = mSiptruCore.createCallParams(currentCall);
            params.enableVideo(true);
            currentCall.acceptWithParams( params );
        }
    }

####门口机呼叫,手机拒绝接听功能

 TdSipManager instance = TdSipManager.getInstance();
  instance.hangUp();

####云对讲时,手机执行远程无线开门功能 通过当前的社区ID,调用 TrudianEG.getInstance().getRemoteEntranceGuard(String communityId,RequestCallBack requestCallBack) 获得用户所有的可以远程开门的门禁列表,调用 TrudianEG.getInstance().openRemoteEntranceGuard(String acID,RequestCallBack requestCallBack) 对你选定的门禁机进行远程开门

##技术支持 当出现问题时:

请仔细阅读文档,查看是否有遗漏。 给我们的support发邮件support@farbell.net 为了更快速的解决问题,在寻求帮助时,请提供下列信息: 你所调用的是什么API,所传参数,完整的报错信息,出现异常的时间点 如果是SDK问题请提供对应的SDK版本和完整的日志记录,日志信息请使用TXT文件上传 出现异常的设备是Android ,列出具体的机型和系统

具体使用与demo请参照网站