在语音聊天程序源码开发过程中,为了有效保证用户与用户之间能够顺利发送私信,并实现相互交流沟通,需要在其中添加私信功能,下文主要以实现腾讯云IM为例来简单分享下相关的功能实现步骤。
首先需要下载腾讯IM的几个PHP文件TLSSig.php、TimRestApi.php、TimRestInterface.php。
第一步(定义一下私信内容的主体)
$ext=['method'=>'openLive', //私信的一个标识,用来区分什么私信'avatar'=>$userinfo['avatar'], //剩下的这些都是一些信息,可自由定义'user_nicename'=>$userinfo['user_nicename'], 'sex'=>$userinfo['sex'],'level_anchor'=>$userinfo['level_anchor'],'title'=>$title,];
第二步(按照发送私信的格式构建好发送格式)
#构造高级接口所需参数$msg_content = array();//创建array 所需元素$msg_content_elem = array('MsgType' => 'TIMCustomElem', //自定义类型'MsgContent' => array('Data' => json_encode($ext), //把私信内容变成json格式'Desc' => '',));//将创建的元素$msg_content_elem, 加入array $msg_contentarray_push($msg_content, $msg_content_elem);
第三步(开始发送)
$account_id=(string)$uid; //发送人的id$receiver=(string)$v['uid'];//接受人的id$api=getTxRestApi(); //发送方法(下面有粘贴)$ret = $api->openim_send_msg_custom($account_id, $receiver, $msg_content,2); //调用方法
封装好的腾讯IM方法
/* 腾讯IM REST API */function getTxRestApi(){$configpri=getConfigPri();$sdkappid=$configpri['im_sdkappid']; //IM的sdkappid$identifier=$configpri['im_admin']; //IM创建的应用管理员$sig=setSig($identifier); //获取管理员的sig签名$path= API_ROOT.'/../sdk/txim/'; require_once( $path."restapi/TimRestApi.php"); //加载TimRestApi.php这个php$api = createRestAPI(); //TimRestApi.php里面的方法$api->init($sdkappid, $identifier);
//托管模式
$ret = $api->set_user_sig($sig);if($ret == false){ //判断发送是否成功 false表示失败}return $api;
}
/* 腾讯IM签名 */
function setSig($id){ //这个方法是获取用户的IM签名$sig='';$configpri=getConfigPri();$appid=$configpri['im_sdkappid']; //IM的sdkappid//return $sig; try{$path= API_ROOT.'/../sdk/txim/';require_once( $path ."TLSSig.php"); //IM的TLSSig.php文件$api = new TLSSigAPI(); //创建实例化$api->SetAppid($appid);$private = file_get_contents( $path .'keys/private_key.pem'); //在
创建IMapp的时候给的私钥
$api->SetPrivateKey($private);$public = file_get_contents( $path .'keys/public_key.pem'); //在创
建IMapp的时候给的公钥
$api->SetPublicKey($public);$sig = $api->genSig($id);}catch(Exception $e){}return $sig; }
以上就是语音聊天程序源码开发过程中,使用腾讯云IM实现私信功能的大概流程。为了更好的满足用户需求并有效增强用户体验,借助一些三方服务是开发过程中必不可少的。想要了解更多开发方面的内容,欢迎留言并关注。
声明:本文由作者原创,转载请注明出处及原文链接。
本文链接:https://my.lmcjl.com/post/20084.html
展开阅读全文
4 评论