您可以使用云视讯API开放的接口在特定终端上开发H5应用,并在该网页上实现呼叫终端号和PSTN电话号码的功能。这里通过一个简单的例子说明集成的方法,用html和终端集成时不需要任何特定的javascript或者html,只需在需要呼叫时使用几个特定的schema。
注意:这里的H5应用必须是个网页链接,不支持嵌入APK的H5页面。H5应用链接,通过小鱼易连后台在终端上配置应用入口。点击应用入口图标,通过终端自身浏览网页程序打开H5页面。
在html里添加一个呼叫终端号的按钮如下,onCallNemoNumber为您的javascript中的函数:
<button onclick="onCallNemoNumber('288288', '客服中心')">呼叫终端号</button>
javascript定义函数,第一个参数为要呼叫的终端号,第二个为显示的名字:
function onCallNemoNumber(nemoNumber, displayName)
{
//呼叫终端号
window.location = 'ainemo-call://nemoaction?nemoNumber=' + nemoNumber + '&displayName=' + displayName;
}
在html里添加一个呼叫电话号码的按钮如下,onCallPstn为您的javascript中的函数:
<button onclick="onCallPstn('10086', '中国移动')">呼叫中国移动</button>
javascript中定义函数onCallPstn,第一个参数为要呼叫的号码,第二个为显示的名字:
function onCallPstn(number, displayName)
{
//呼叫pstn
window.location = "ainemo-pstncall://" + number + "?displayName=" + displayName;
}
在呼叫结束后终端会调用javascript中的callEnd函数,如果您需要在呼叫结束后得到通知,则需要在javascript中定义如下函数.
function callEnd(callInfo) {
//呼叫结束时小鱼调这个函数通知页面
}
从小鱼终端的软件版本2.12开始,增加了callInfo参数,callInfo为如下结构的json串:
{
"calleeName": "ddd",//url encodede的主叫名称
"calleeNemoNumber": "122345", //主叫的号码
"calleeSN": "2D15111111111111",//主叫的小鱼SN
"callerName": "eee", //url encode的被叫名称
"callerNemoNumber": "456789",//被叫的小鱼号
"startTime": 123456777, //呼叫的开始时间,UNIX时间,从1970年1月1日开始的毫秒数
"duration": 5666, //呼叫时长,单位ms。从呼叫接通开始计算,未接通为 0.
"isCallOutSuccess": true/false, //呼叫远端是否接通, 远端接通以后为true,未接通为false。
"disonnectReason": "STATUS_OK" //呼叫断开原因,
//STATUS_OK:正常结束,主叫或被叫主动挂断;
//PEER_NOT_FOUND:对方不在线;
//TEL_FAIL:呼叫失败;
//TIME_OUT:对方无应答;
//LOCAL_NET_DISCONNECT:本地网络异常;
//INVALID_NUMBER:无效号码;
//更多原因参考附录“呼叫断开原因说明”}
从html返回终端的应用列表,需要按如下格式定义您的返回按钮:
<button onclick="onReturn()">返回</button>
javascript函数:
function onReturn() {
//返回小鱼应用列表
window.location="ainemo-close://closePage";
}
function onPlay()
{
location.href = "ainemo-vod://"+ BASE64.encoder('http://devcdn.ainemo.com/static/company_profile.compressed.mp4');
}
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>testcall</title>
<script type="text/javascript" src="http://devcdn.ainemo.com/page/js/base64.js">
</script>
</head>
<body>
<button onclick="onCallNemoNumber('288288', '客服中心')">呼叫终端号</button>
<button onclick="onCallPstn('10086', '中国移动')">呼叫中国移动</button>
<button onclick="onPlay()">播放视频</button>
<button onclick="onReturn()">返回</button>
<script type="text/javascript">
function onCallNemoNumber(nemoNumber, displayName) {
//呼叫终端号
window.location = 'ainemo-call://nemoaction?nemoNumber=' + nemoNumber + '&displayName=' + displayName;
}
function onCallPstn(number, displayName) {
//呼叫pstn
window.location = "ainemo-pstncall://" + number + "?displayName=" + displayName;
}
function onReturn() {
//退出H5页面,返回终端的应用中心
window.location="ainemo-close://closePage";
}
function callEnd(callinfo) {
//呼叫结束时终端调这个函数通知页面
}
function onPlay() {
location.href = "ainemo-vod://"+ BASE64.encoder('http://devcdn.ainemo.com/static/company_profile.compressed.mp4');
}
</script>
</body>
</html>