本文档部分API缺少示例代码,诚挚的邀请你参与到示例代码的编写中来,你可以在代码中发布2行自定义注释,内容自拟。 有意者可与刺鸟联系(QQ:4041990 Q群:7702175)
API简介
Widget,中文译名被称作是微件,是一小块可以在任意一个基于HTML的Web页面上执行的代码,它的表现形式可能是视频,地图,新闻,小游戏等等。它的根本思想来源于代码复用,通常情况下,Widget的代码形式包含了DHTML,JavaScript以及Adobe Flash。
AppCan 是一个Hybrid App框架,一个AppCan App,就是有一个网页包+Native容器组成的。这里定义该网页包为widget,常见的AppCan App就是一个widget+Native容器的形式,但是其实此Native容器中是可以容纳多个widget。uexWidget就是实现AppCan App的一些关于widget操作的对象。
主要有以下几个功能:
AppCan 的widget是一个这样的网页包:网页包以appid命名;网页包里有config.xml、icon.png及html文件。这样的一个widget,可以作为另外一个widget的子widget而存在。
AppCan App作为Hybrid App,也具有Native App的一些属性,比如可以调用第三方应用。
在App的运营过程中,难免会有修改、升级的地方。因此,这就涉及到App的升级。在AppCan的对个人开发者版本中,升级还是依靠开发者自行写代码实现(AppCan的企业级MAM可以实现自动化管理升级)。
Push即推送,是智能机的一个重要的特点。AppCan集成了推送机制,支持iOS和Android的推送。AppCan的开发者,如果要用到推送,iOS需要苹果的推送证书,包括在服务器上和客户端带推送的证书;而Android则走AppCan搭建的mqtt服务器即可。
AppCan 的App需要给AppCan服务器发送绑定信息,通过uexWidget.setPushInfo进行用户绑定。因此,开发者一般都需要在App首页中调用此方法,其中的参数可为空。
接口说明
方法 | 说明 |
uexWidget.startWidget(inAppId,inAnimiId,inForResult,inInfo[,animDuration]) | 加载一个子widget。 |
uexWidget.cbStartWidget(opId,dataType,data) | 调用子widget的回调方法。 |
uexWidget.finishWidget(inResultInfo) | 退出当前widget。 |
uexWidget.getOpenerInfo() | 获取opener即主widget传入此widget的相关信息。 |
uexWidget.cbGetOpenerInfo(opId,dataType,data) | uexWidget.getOpenerInfo的回调方法。 |
uexWidget.loadApp(inAppInfo,inFilter,inDataInfo) | 根据相关信息启动一个第三方应用。 |
uexWidget.checkUpdate() | 检查当前应用是否有更新。 |
uexWidget.cbCheckUpdate(opId,dataType,data) | uexWidget.checkUpdate的回调方法 。 |
uexWidget.installApp(inAppPath) | 根据安装包所在路径安装一个apk(android专用)。此方法在android升级中可以使用,即先下载apk升级包,然后出发此方法进行安装。简单示例代码如下: |
uexWidget.getPushInfo() | 获取推送消息。。 |
uexWidget.cbGetPushInfo(opId,dataType,data) | uexWidget.getPushInfo的回调方法。 |
uexWidget.setPushNotifyCallback(inCallbackFunction) | 指定一个当有Push消息来时通知页面的回调函数,如果应用开启了推送功能,那么当有消息推送进来时,平台将调用指定的inCallbackFunction函数通知页面,页面可通过uexWidget.getPushInfo接口获取推送进来的内容。 |
uexWidget.setPushInfo(uId,uNickName) | 绑定推送用户。 |
uexWidget.setPushState(state) | 设置推送服务的状态,使得在App中,能够配置此App是否可接受推送消息。 |
uexWidget.getPushState() | 获取推送服务的状态。 |
uexWidget.cbGetPushState(opId,dataType,data) | uexWidget.getPushState的回调方法。 |
uexWidget.onSuspend() | 程序即将进入暂停休眠状态时发出的消息。 |
uexWidget.onResume() | 程序从休眠状态恢复时发出的消息。 |
uexWidget.onTerminate() | 程序即将退出时发出的消息。 |
startWidget(inAppId,inAnimiId,inForResult,inInfo[,animDuration]) ▲
参数名称 | 描述 |
inAppId | 子widget的appid |
inAnimiId | 子widget载入时的动画id,详见常量表的Window Animi ID。 |
inForResult | 加载子widget结束时的回调函数,可为空,注意:只在主窗口中有效,浮动窗口中无效。 |
inInfo | 加载子widget时,传给子widget的信息,在子widget中获取此取info见uexWidget.getOpenerInfo函数,可为空。 |
animDuration | 动画持续时长,单位为毫秒,默认250毫秒。 |
cbStartWidget(opId,dataType,data) ▲
参数名称 | 描述 |
opId | 操作ID,在此函数中不起作用,可忽略 |
dataType | 返回数据的数据类型为uex.cInt(值为2)。 |
data | 返回的数据,0为成功,1为失败,2为不存在此widget。 |
finishWidget(inResultInfo) ▲
参数名称 | 描述 |
inResultInfo | 结束此widget时,把消息传递给opener,若Awidget开启Bwidget,Bwidget结束时,传回给Awidget的信息。 |
cbGetOpenerInfo(opId,dataType,data) ▲
参数名称 | 描述 |
opId | 操作ID,在此函数中不起作用,可忽略 |
dataType | 返回数据的数据类型为uex.cText (值为0)。 |
data | 返回的数据,此widget的opener通过startWidget函数打开此widget时传入的任意值。 |
loadApp(inAppInfo,inFilter,inDataInfo) ▲
参数名称 | 描述 |
inAppInfo | 启动第三方应用的必须信息,在android上为第三方应用的action(字符串类型,如:android.intent.action.VIEW);在iphone上为第三方应用在设备上注册的scheme,如:alipay://;。 |
inFilter | 过滤条件,即要传递给第三方应用数据的MimeType,如text/html等,*/*为任意类型。此参数在iphone上不起作用。。 |
inDataInfo | 传递给第三方应用的数据。比如:调用UC浏览器打开"http://www.sohu.com"。 |
cbCheckUpdate(opId,dataType,data) ▲
参数名称 | 描述 |
opId | 操作ID,在此函数中不起作用,可忽略 |
dataType | 返回数据的数据类型为uex.cJSON(值为1)。 |
data | 返回的数据。Key值详见常量表的Callback Json类型下:uex.jkResult 、uex.jkName、uex.jkSize、uex.jkUrl、uex.jkVersion。其中uex.jkResult对应JSON Values为uex.jvUpdate(0)、uex.jvNoUpdate(1)、uex.jvError(2)。当返回的uex.jkResult对应为uex.jvUpdate时,uex.jkName、uex.jkSize、uex.jkUrl、uex.jkVersion有值,即返回结果为有更新时,可以取得更新的url,新版本等信息。{"result":"","name":"","size":"","url":"","version":""}。 |
installApp(inAppPath) ▲
参数名称 | 描述 |
inAppPath | 安装包所在路径。接受wgt://路径,如:wgt://data/xx.apk;res://路径,如:res://xx.apk;以及绝对路径,如:/sdcard/xx.apk. |
cbGetPushInfo(opId,dataType,data) ▲
参数名称 | 描述 |
opId | 操作ID,在此函数中不起作用,可忽略 |
dataType | 返回数据的数据类型为uex.cText (值为0)。 |
data | 返回的数据,根据iphone平台的推送的特殊性,推送服务器发出的推送的格式为:{"aps":{"alert":"你收到推送.","badge":1,"sound":"sound.wav","userInfo":"接到的参数"}}的json,其中alert的值为警告的内容,badge的值为收到通知后的徽章的数量,sound的值为收到push消息后的声音文件,userInfo的值对应返回的data。 |
setPushNotifyCallback(inCallbackFunction) ▲
参数名称 | 描述 |
inCallbackFunction | 页面中的回调函数,需要用引号引起来 |
setPushInfo(uId,uNickName) ▲
参数名称 | 描述 |
uId | 用户ID,可为空 |
uNickName | 用户昵称,可为空。 |
setPushState(state) ▲
参数名称 | 描述 |
state | 推送服务状态。0,关闭。1,开启。 |
cbGetPushState(opId,dataType,data) ▲
参数名称 | 描述 |
opId | 操作ID,在此函数中不起作用,可忽略 |
dataType | 返回数据的数据类型为uex.cInt (值为1)。 |
data | 返回的数据。1 ,推送服务的状态是开启的。0,推送服务的状态是关闭的。。 |