Commit a6393309 by 严久程

声网日志文件和路径更改

parent 47450d5e
...@@ -42,12 +42,12 @@ ext { ...@@ -42,12 +42,12 @@ ext {
ydlPublishVersion = [ ydlPublishVersion = [
// -------------- 业务模块 -------------- // -------------- 业务模块 --------------
//第三步 若干 //第三步 若干
"m-confide" : "0.0.48.7.19", "m-confide" : "0.0.48.7.22",
"m-consultant" : "0.0.57.4", "m-consultant" : "0.0.57.4",
"m-fm" : "0.0.29.3", "m-fm" : "0.0.29.3",
"m-user" : "0.0.60.1", "m-user" : "0.0.60.1",
"m-home" : "0.0.19.1", "m-home" : "0.0.19.1",
"m-im" : "0.0.17.0", "m-im" : "0.0.17.8",
"m-dynamic" : "0.0.7.5", "m-dynamic" : "0.0.7.5",
"m-muse" : "0.0.28.9", "m-muse" : "0.0.28.9",
...@@ -75,7 +75,7 @@ ext { ...@@ -75,7 +75,7 @@ ext {
"ydl-webview" : "0.0.38.24", "ydl-webview" : "0.0.38.24",
"ydl-media" : "0.0.20", "ydl-media" : "0.0.20",
"ydl-pay" : "0.0.17", "ydl-pay" : "0.0.17",
"m-audioim" : "0.0.48.3.10", "m-audioim" : "0.0.48.3.12",
"ydl-flutter-base": "0.0.10.9", "ydl-flutter-base": "0.0.10.9",
//以下 几乎不会动 //以下 几乎不会动
...@@ -121,7 +121,7 @@ ext { ...@@ -121,7 +121,7 @@ ext {
"ydl-webview" : "0.0.38.24", "ydl-webview" : "0.0.38.24",
"ydl-media" : "0.0.20", "ydl-media" : "0.0.20",
"ydl-pay" : "0.0.17", "ydl-pay" : "0.0.17",
"m-audioim" : "0.0.48.3.10", "m-audioim" : "0.0.48.3.12",
"ydl-flutter-base": "0.0.10.9", "ydl-flutter-base": "0.0.10.9",
//以下 几乎不会动 //以下 几乎不会动
......
...@@ -202,6 +202,7 @@ class AudioHomeActivity : ...@@ -202,6 +202,7 @@ class AudioHomeActivity :
override fun onError(err: Int) { override fun onError(err: Int) {
super.onError(err) super.onError(err)
uploadException("mRtcEventHandler-onError:errorCode--%${err}") uploadException("mRtcEventHandler-onError:errorCode--%${err}")
uploadLog()
//3:SDK 初始化失败。Agora 建议尝试以下处理方法 //3:SDK 初始化失败。Agora 建议尝试以下处理方法
//7:SDK 尚未初始化,就调用其 API。请确认在调用 API 之前已创建 RtcEngine 对象并完成初始化 //7:SDK 尚未初始化,就调用其 API。请确认在调用 API 之前已创建 RtcEngine 对象并完成初始化
//10:API 调用超时。有些 API 调用需要 SDK 返回结果,如果 SDK 处理时间过长,超过 10 秒没有返回,会出现此错误 //10:API 调用超时。有些 API 调用需要 SDK 返回结果,如果 SDK 处理时间过长,超过 10 秒没有返回,会出现此错误
......
...@@ -10,7 +10,8 @@ data class ConnectExceptionCommand( ...@@ -10,7 +10,8 @@ data class ConnectExceptionCommand(
var noticeId: String, // 秒级 var noticeId: String, // 秒级
var productId: String, // 2 var productId: String, // 2
var eventType: String, // 99 var eventType: String, // 99
var payload: PayLoad var payload: PayLoad,
var callStatus: Int=-1//用于判断咨询声网时是哪方取消的:1 主叫取消 2被叫拒绝 (超时未接听算主叫取消)
) : BaseCommand() ) : BaseCommand()
data class PayLoad( data class PayLoad(
......
...@@ -103,6 +103,7 @@ class ConsultantAudioHomeActivity : ...@@ -103,6 +103,7 @@ class ConsultantAudioHomeActivity :
//频道token //频道token
private var channelToken: String? = null private var channelToken: String? = null
private var hasUpLoadLog = false private var hasUpLoadLog = false
private var callStatus: Int = -1
/** /**
* 是否连接成功 * 是否连接成功
...@@ -138,7 +139,7 @@ class ConsultantAudioHomeActivity : ...@@ -138,7 +139,7 @@ class ConsultantAudioHomeActivity :
//5s倒计时,5s后还是连接中,则直接关闭页面 //5s倒计时,5s后还是连接中,则直接关闭页面
connectingStatusWaitingTimeCount() connectingStatusWaitingTimeCount()
tv_tips.visibility=View.INVISIBLE tv_tips.visibility = View.INVISIBLE
} }
} }
...@@ -775,12 +776,8 @@ class ConsultantAudioHomeActivity : ...@@ -775,12 +776,8 @@ class ConsultantAudioHomeActivity :
//关闭本页面 //关闭本页面
fun close(code: Int, msg: String) { fun close(code: Int, msg: String) {
runOnUiThread { runOnUiThread {
LogUtil.e("[agora]close(code:$code,msg:$msg)") LogUtil.e("[agora]close(code:$code,msg:$msg)")
if (status == STATUS_ANSWERED) {
//不再做操作,原先为调用接口
}
stopMusic() stopMusic()
//播放结束音频 //播放结束音频
playFinishMusic() playFinishMusic()
...@@ -789,9 +786,13 @@ class ConsultantAudioHomeActivity : ...@@ -789,9 +786,13 @@ class ConsultantAudioHomeActivity :
//离开频道 //离开频道
leaveChannel() leaveChannel()
} else if (code == RESULT_NOT_ANSWERED_CODE) { } else if (code == RESULT_NOT_ANSWERED_CODE) {
callStatus = 2
uploadException("被叫拒绝", zhu = "")
//未接听,直接挂断 发送消息 //未接听,直接挂断 发送消息
YDLRTMClient.instances.refuseCall(mAudioMessageBean?.channelId) YDLRTMClient.instances.refuseCall(mAudioMessageBean?.channelId)
} else if (code == RESULT_USER_CANCEL) { } else if (code == RESULT_USER_CANCEL) {
callStatus = 1
uploadException("主叫取消", zhu = "")
ToastUtil.toastShort("对方已挂断") ToastUtil.toastShort("对方已挂断")
} }
finish() finish()
...@@ -899,7 +900,7 @@ class ConsultantAudioHomeActivity : ...@@ -899,7 +900,7 @@ class ConsultantAudioHomeActivity :
private fun writeAgoraLog(content: String) { private fun writeAgoraLog(content: String) {
Observable.create<Any> { Observable.create<Any> {
try { try {
AudioLogUtils.writeAgoraLog(content,"consult") AudioLogUtils.writeAgoraLog(content, "consult")
} catch (e: Exception) { } catch (e: Exception) {
} }
}.subscribeOn(Schedulers.io()) }.subscribeOn(Schedulers.io())
...@@ -909,12 +910,17 @@ class ConsultantAudioHomeActivity : ...@@ -909,12 +910,17 @@ class ConsultantAudioHomeActivity :
/** /**
* 上传错误日志 * 上传错误日志
*/ */
private fun uploadException(message: String, zhu: String = "", eventType: String = "99") { private fun uploadException(
message: String,
zhu: String = "",
eventType: String = "99"
) {
var time: String = (System.currentTimeMillis() / 1000).toString() var time: String = (System.currentTimeMillis() / 1000).toString()
var uid: String = var uid: String =
ModularServiceManager.provide(IUserService::class.java).getUserInfo()?.uid!! ModularServiceManager.provide(IUserService::class.java).getUserInfo()?.uid!!
var payLoad = PayLoad(mAudioMessageBean?.channelId ?: "0", time, uid, "1", "999", message) var payLoad = PayLoad(mAudioMessageBean?.channelId ?: "0", time, uid, "1", "999", message)
var connectException = ConnectExceptionCommand(time + zhu, "2", eventType, payLoad) var connectException =
ConnectExceptionCommand(time + zhu, "2", eventType, payLoad, callStatus)
YDLavManager.instances.uploadException(connectException) YDLavManager.instances.uploadException(connectException)
} }
......
...@@ -36,6 +36,7 @@ import com.yidianling.im.session.action.SendCardAction; ...@@ -36,6 +36,7 @@ import com.yidianling.im.session.action.SendCardAction;
import com.yidianling.im.session.action.TeamAVChatAction; import com.yidianling.im.session.action.TeamAVChatAction;
import com.yidianling.im.session.extension.CustomAttachChatTipMsg; import com.yidianling.im.session.extension.CustomAttachChatTipMsg;
import com.yidianling.im.session.extension.CustomAttachConsult; import com.yidianling.im.session.extension.CustomAttachConsult;
import com.yidianling.im.session.extension.CustomAttachConsultCallStatus;
import com.yidianling.im.session.extension.CustomAttachConsultPerfectData; import com.yidianling.im.session.extension.CustomAttachConsultPerfectData;
import com.yidianling.im.session.extension.CustomAttachConsultSubScript; import com.yidianling.im.session.extension.CustomAttachConsultSubScript;
import com.yidianling.im.session.extension.CustomAttachModifyTime; import com.yidianling.im.session.extension.CustomAttachModifyTime;
...@@ -64,6 +65,7 @@ import com.yidianling.im.session.extension.StickerAttachment; ...@@ -64,6 +65,7 @@ import com.yidianling.im.session.extension.StickerAttachment;
import com.yidianling.im.session.viewholder.MsgViewHolderAVChat; import com.yidianling.im.session.viewholder.MsgViewHolderAVChat;
import com.yidianling.im.session.viewholder.MsgViewHolderChatTip; import com.yidianling.im.session.viewholder.MsgViewHolderChatTip;
import com.yidianling.im.session.viewholder.MsgViewHolderConsult; import com.yidianling.im.session.viewholder.MsgViewHolderConsult;
import com.yidianling.im.session.viewholder.MsgViewHolderConsultCallStatus;
import com.yidianling.im.session.viewholder.MsgViewHolderConsultSubScribe; import com.yidianling.im.session.viewholder.MsgViewHolderConsultSubScribe;
import com.yidianling.im.session.viewholder.MsgViewHolderCustomTip; import com.yidianling.im.session.viewholder.MsgViewHolderCustomTip;
import com.yidianling.im.session.viewholder.MsgViewHolderCustomerServiceCard; import com.yidianling.im.session.viewholder.MsgViewHolderCustomerServiceCard;
...@@ -412,6 +414,7 @@ public class SessionHelper { ...@@ -412,6 +414,7 @@ public class SessionHelper {
NimUIKit.registerMsgItemViewHolder(CustomAttachPleaseSubscribeConsultDate.class, MsgViewHolderPleaseSubscribeConsultDate.class);//请预约咨询时间 NimUIKit.registerMsgItemViewHolder(CustomAttachPleaseSubscribeConsultDate.class, MsgViewHolderPleaseSubscribeConsultDate.class);//请预约咨询时间
NimUIKit.registerMsgItemViewHolder(CustomCustomerServiceCardAttachment.class, MsgViewHolderCustomerServiceCard.class);//客服小壹名片 NimUIKit.registerMsgItemViewHolder(CustomCustomerServiceCardAttachment.class, MsgViewHolderCustomerServiceCard.class);//客服小壹名片
NimUIKit.registerMsgItemViewHolder(CustomAttachmentShareMsg.class, MsgViewHolderShareMsg.class);//分享推送 NimUIKit.registerMsgItemViewHolder(CustomAttachmentShareMsg.class, MsgViewHolderShareMsg.class);//分享推送
NimUIKit.registerMsgItemViewHolder(CustomAttachConsultCallStatus.class, MsgViewHolderConsultCallStatus.class);//咨询声网的拨打状态
} }
private static void setSessionListener() { private static void setSessionListener() {
......
package com.yidianling.im.session.extension;
import com.alibaba.fastjson.JSONObject;
/**
* Created by Wi1ls on 2016/11/28;
*/
public class CustomAttachConsultCallStatus extends CustomAttachment{
private final String KEY_STATUS="status";
private final String KEY_CALLER="caller";
private final String KEY_CALLEE="callee";
private final String KEY_DURATION="duration";
private String status;
private String caller;
private String callee;
private String duration;
public CustomAttachConsultCallStatus() {
super(CustomAttachmentType.TYPE_CUSTOMER_CONSULT_CALL_STATUS);
}
@Override
protected void parseData(JSONObject data) {
this.status=data.getString(KEY_STATUS);
this.caller=data.getString(KEY_CALLER);
this.callee=data.getString(KEY_CALLEE);
this.duration=data.getString(KEY_DURATION);
}
@Override
protected JSONObject packData() {
JSONObject data = new JSONObject();
data.put(KEY_STATUS,status);
data.put(KEY_CALLER, caller);
data.put(KEY_CALLEE, callee);
data.put(KEY_DURATION, duration);
return data;
}
public String getStatus() {
return status;
}
public String getCaller() {
return caller;
}
public String getCallee() {
return callee;
}
public String getDuration() {
return duration;
}
}
...@@ -111,6 +111,10 @@ public class CustomAttachParser implements MsgAttachmentParser { ...@@ -111,6 +111,10 @@ public class CustomAttachParser implements MsgAttachmentParser {
//分享消息,倾诉推荐,课程,测评,文章 //分享消息,倾诉推荐,课程,测评,文章
attachment = new CustomAttachmentShareMsg(); attachment = new CustomAttachmentShareMsg();
break; break;
case CustomAttachmentType.TYPE_CUSTOMER_CONSULT_CALL_STATUS:
//咨询的声网拨打状态的自定义消息
attachment = new CustomAttachConsultCallStatus();
break;
default: default:
attachment = new DefaultCustomAttachment(); attachment = new DefaultCustomAttachment();
break; break;
......
...@@ -33,4 +33,5 @@ public interface CustomAttachmentType { ...@@ -33,4 +33,5 @@ public interface CustomAttachmentType {
int TYPE_PLEASE_SUBSCRIBE_CONSULT_DATE = 29;//请预约咨询时间 int TYPE_PLEASE_SUBSCRIBE_CONSULT_DATE = 29;//请预约咨询时间
int TYPE_PUSH_SHARE = 30;// 分享,倾诉推荐,课程,测评,文章 int TYPE_PUSH_SHARE = 30;// 分享,倾诉推荐,课程,测评,文章
int TYPE_CUSTOMER_SERVICE = 31; //客服名片 int TYPE_CUSTOMER_SERVICE = 31; //客服名片
int TYPE_CUSTOMER_CONSULT_CALL_STATUS = 32; //咨询的声网拨打状态的自定义消息
} }
package com.yidianling.im.session.viewholder;
import android.graphics.Color;
import android.text.TextUtils;
import android.view.View;
import android.widget.ImageView;
import android.widget.TextView;
import com.yidianling.im.R;
import com.yidianling.im.session.extension.CustomAttachConsultCallStatus;
import com.yidianling.nimbase.common.ui.recyclerview.adapter.BaseMultiItemFetchLoadAdapter;
import com.yidianling.uikit.business.session.viewholder.MsgViewHolderBase;
/**
* Created by zhoujianghua on 2015/8/6.
*/
public class MsgViewHolderConsultCallStatus extends MsgViewHolderBase {
private ImageView typeImage;
private TextView statusLabel;
public MsgViewHolderConsultCallStatus(BaseMultiItemFetchLoadAdapter adapter) {
super(adapter);
}
@Override
protected int getContentResId() {
return R.layout.im_ui_message_custom_consult_call_status;
}
@Override
protected void inflateContentView() {
typeImage = findViewById(R.id.type_img);
statusLabel = findViewById(R.id.tv_state);
}
@Override
protected void bindContentView() {
CustomAttachConsultCallStatus customAttachTipMsg = (CustomAttachConsultCallStatus) message.getAttachment();
layoutByDirection(customAttachTipMsg);
}
private void layoutByDirection(CustomAttachConsultCallStatus customAttachTipMsg) {
if (isReceivedMessage()) {
typeImage.setImageResource(R.drawable.im_avchat_left_type_audio);
statusLabel.setTextColor(context.getResources().getColor(R.color.platform_color_grey_999999));
} else {
typeImage.setImageResource(R.drawable.im_avchat_right_type_audio);
statusLabel.setTextColor(Color.WHITE);
}
if (TextUtils.equals("1", customAttachTipMsg.getStatus())) {
typeImage.setVisibility(View.VISIBLE);
statusLabel.setText(customAttachTipMsg.getDuration());
} else {
typeImage.setVisibility(View.GONE);
if (isReceivedMessage()) {
statusLabel.setText(customAttachTipMsg.getCallee());
} else {
statusLabel.setText(customAttachTipMsg.getCaller());
}
}
}
}
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/ll_content"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:padding="6dp"
android:orientation="horizontal">
<ImageView
android:id="@+id/type_img"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:layout_marginLeft="3dp"
android:layout_marginRight="8dp"
android:contentDescription="@string/im_empty"
android:src="@drawable/im_avchat_left_type_audio"/>
<TextView
android:id="@+id/tv_state"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:layout_marginRight="5dp"
android:text="无人接听"
android:textColor="@color/im_color_grey_999999"
android:textSize="14sp"/>
</LinearLayout>
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment