# [statistic]() Statistic模块管理统计功能,用于提供应用内统计的能力,支持统计和分析用户属性和用户行为数据。通过plus.statistic可获取统计管理对象。 ### 方法: - [eventTrig](http://www.dcloud.io/docs/api/zh_cn/statistic.shtml#plus.statistic.eventTrig): 触发事件 - [eventStart](http://www.dcloud.io/docs/api/zh_cn/statistic.shtml#plus.statistic.eventStart): 开始持续事件 - [eventEnd](http://www.dcloud.io/docs/api/zh_cn/statistic.shtml#plus.statistic.eventEnd): 结束持续事件 - [eventDuration](http://www.dcloud.io/docs/api/zh_cn/statistic.shtml#plus.statistic.eventDuration): 精确持续事件 ### 权限: permissions ~~~ "Statistic": { "description": "访问统计插件" } ~~~ # [eventTrig]() 触发事件 ~~~ void plus.statistic.eventTrig( id, label ); ~~~ ### 说明: 触发指定的统计事件,触发的事件必须要先在统计网站上注册事件ID。 ### 参数: - id: *( DOMString ) 必选 *要触发的事件ID - label: *( DOMString ) 可选 *要触发事件的标签 ### 返回值: void : 无 ### 示例: ~~~ <!DOCTYPE html> <html> <head> <meta charset="utf-8"/> <meta name="viewport" content="initial-scale=1.0, maximum-scale=1.0, user-scalable=no"/> <title>Statistic Example</title> <script type="text/javascript"> // 监听plusready事件 document.addEventListener( "plusready", function(){ // 扩展API加载完毕,现在可以正常调用扩展API plus.statistic.eventTrig( "example", "open" ); }, false ); </script> </head> <body> </body> </html> ~~~ # [eventStart]() 开始持续事件 ~~~ void plus.statistic.eventStart( id, label ); ~~~ ### 说明: 开始指定的持续事件统计,当事件结束时调用eventEnd方法,,触发的事件必须要先在统计网站上注册事件ID。 ### 参数: - id: *( DOMString ) 必选 *要触发的事件ID - label: *( DOMString ) 可选 *要触发事件的标签 ### 返回值: void : 无 ### 示例: ~~~ <!DOCTYPE html> <html> <head> <meta charset="utf-8"/> <meta name="viewport" content="initial-scale=1.0, maximum-scale=1.0, user-scalable=no"/> <title>Statistic Example</title> <script type="text/javascript"> var winsetting = null; // 监听plusready事件 document.addEventListener( "plusready", function(){ // 扩展API加载完毕,现在可以正常调用扩展API winsetting = plus.webview.create( "setting.html" ); winsetting.addEventListener( "loaded", function(){ plus.statistic.eventStart( "setting" ); }, false ); winsetting.addEventListener( "close", function(){ plus.statistic.eventEnd( "setting" ); }, false ); winsetting.show(); }, false ); </script> </head> <body> </body> </html> ~~~ # [eventEnd]() 结束持续事件 ~~~ void plus.statistic.eventEnd( id, label ); ~~~ ### 说明: 结束指定的持续事件统计,需先调用eventStart方法开始持续事件统计,触发的事件必须要先在统计网站上注册事件ID。 ### 参数: - id: *( DOMString ) 必选 *要触发的事件ID - label: *( DOMString ) 可选 *要触发事件的标签 ### 返回值: void : 无 ### 示例: ~~~ <!DOCTYPE html> <html> <head> <meta charset="utf-8"/> <meta name="viewport" content="initial-scale=1.0, maximum-scale=1.0, user-scalable=no"/> <title>Statistic Example</title> <script type="text/javascript"> var winsetting = null; // 监听plusready事件 document.addEventListener( "plusready", function(){ // 扩展API加载完毕,现在可以正常调用扩展API winsetting = plus.webview.create( "setting.html" ); winsetting.addEventListener( "loaded", function(){ plus.statistic.eventStart( "setting" ); }, false ); winsetting.addEventListener( "close", function(){ plus.statistic.eventEnd( "setting" ); }, false ); winsetting.show(); }, false ); </script> </head> <body> </body> </html> ~~~ # [eventDuration]() 精确持续事件 ~~~ void plus.statistic.eventDuration( id, duration, label ); ~~~ ### 说明: 精确时长的持续事件统计,触发的事件必须要先在统计网站上注册事件ID。 ### 参数: - id: *( DOMString ) 必选 *要触发的事件ID - duration: *( Number ) 必选 *要触发事件持续的时间,单位为ms - label: *( DOMString ) 可选 *要触发事件的标签 ### 返回值: void : 无 ### 示例: ~~~ <!DOCTYPE html> <html> <head> <meta charset="utf-8"/> <meta name="viewport" content="initial-scale=1.0, maximum-scale=1.0, user-scalable=no"/> <title>Statistic Example</title> <script type="text/javascript"> // 监听plusready事件 document.addEventListener( "plusready", function(){ // 扩展API加载完毕,现在可以正常调用扩展API }, false ); function feedback() { var start = new Date(); // Do something for feedback var end = new Date(); var d = end.getTime() - start.getTime(); plus.statistic.duration( "feedback", d ); } </script> </head> <body> <button onclick="feedback();">feedback</button> </body> </html> ~~~