作者:马宁

源代码下载附件。 

    在Windows Phone中很多应用需要数据查询功能,来确定每天的用户数和应用使用次数等关键信息。在iOS和Android中已经有非常多的类似应用了,比如Flurry, 友盟等,但是Windows Phone上只有Flurry提供了此类功能。但由于很多开发者来说,没有中文支持的Flurry有些可望而不可即。

    其实,在OpenXLive也提供数据分析的支持,只是之前更多是用于游戏数据的统计和查询上。在这篇文章里,我们将介绍,如何将OpenXLive的数据分析功能应用在Windows Phone的应用程序开发中。

创建OpenXLive应用

    因为所有的统计数据都是保存在OpenXLive的云端存储服务器中,所以,我们要在OpenXLive网站上创建一个应用。

    首先,登录OpenXLive网站(http://www.openxlive.com/),如果没有帐号,我们需要创建一个相应的帐号,通过电子邮件激活帐号之后,我们还需要升级成为开发者。

    在激活邮件地址后,我们重新回到OpenXLive的网站,输入用户名和密码后,我们会进入用户资料编辑界面,在这里,我们可以填写完整的个人信息,使得朋友在网络中更加容易地找到你。用户资料中最后一项为“Developer Information”。

在Windows Phone应用中添加OpenXLive数据分析功能_第1张图片

    点击“Developer Information”,进入开发者申请界面:

在Windows Phone应用中添加OpenXLive数据分析功能_第2张图片

    在这个页面,我们要填写开发者类型(个人/公司/学生)、国家、城市、地址、电话、IM等信息。在填写完成后,我们会看到下面的开发者注册成功界面。

在Windows Phone应用中添加OpenXLive数据分析功能_第3张图片

    在这个界面中,我们可以进入OpenXLive开发者首页,查看开发指南,也可以直接点击“Create New Game”,进入开发者后台。

    进入开发者后台界面之后,如果您之前已经创建过游戏,会显示已创建游戏的列表,如上图所示。在用户图标的下方,有Create New Game的按钮,点击,进入创建新游戏的界面。

在Windows Phone应用中添加OpenXLive数据分析功能_第4张图片

添加OpenXLive引用

    为了引用OpenXLive的程序集,我们必须首先下载OpenXLive SDK并且完成安装。下载地址是:http://developer.openxlive.com/sdk/download/ 目前的版本是0.9.6.

    创建Windows Phone Silverlight应用后,我们要获取OpenXLive的程序集。在开始菜单中,找到OpenXLive应用,其中OpenXLive目录下包括XNA和Silverlight两个目录。我们从Silverlight目录中取出OpenXLive.dll程序集,拷贝至我们的应用所在的目录。

    然后在Solution Explorer中,右键单击References,选择Add Reference。在对话框中选择Browse页面,然后找到OpenXLive.dll,将其添加到工程中。

    因为我们不需要OpenXLive的界面,所以只需要添加OpenXLive.dll即可。

在Windows Phone应用中添加OpenXLive数据分析功能_第5张图片

    在添加完引用之后,我们就可以添加代码了。

创建Session

    接下来,我们要为工程添加OpenXLive的引用代码。打开工程中的App.xaml.cs文件,首先找到Application_Launching方法:

   
   
   
   
  1. private void Application_Launching(object sender, LaunchingEventArgs e)  
  2. {  
  3.     if (XLiveGameManager.CurrentSession == null)  
  4.     {  
  5.         GameSession session = XLiveGameManager.CreateSession("xxxxxxxx");  
  6.         session.CreateSessionCompleted += new AsyncEventHandler(session_CreateSessionCompleted);  
  7.         session.Open();  
  8.     }  

    我们在这个方法里判断是否已经有Game Session存在,如果没有的话,则调用XLiveGameManager的CreateSession方法来创建一个Game Session,需要传递的参数,是我们在OpenXLive网站上获得的Secret Key。

    然后,我们可以添加一个CreateSessionCompleted事件处理函数,来获取Game Session是否被创建的事件。当然,这个事件处理函数是可选的,我们可以不添加。

    最后,调用Game Session的Open方法,来打开Game Session就可以了。

    然后是关闭这个Game Session,在Application_Closing方法里调用Close方法。

   
   
   
   
  1. private void Application_Closing(object sender, ClosingEventArgs e)  
  2. {  
  3.     if (XLiveGameManager.CurrentSession != null)  
  4.     {  
  5.         XLiveGameManager.CurrentSession.Close();  
  6.     }  

    如果我们不显式调用Close方法的话,Game Session在创建24小时后会自动过期,所以也不会造成太大的影响,唯一的问题是游戏时间将失效。

    为了支持墓碑机制,我们还要特意在Application_Activated和Application_Deactivated函数中,添加对于墓碑机制的处理。

   
   
   
   
  1. private void Application_Activated(object sender, ActivatedEventArgs e)  
  2. {  
  3.     XLiveGameManager.Activated();  
  4. }  
  5. private void Application_Deactivated(object sender, DeactivatedEventArgs e)  
  6. {  
  7.     XLiveGameManager.Deactivated();  

    好了,到这里我们就大功告成了,够简单吧?

查看数据结果

    当我们的Windows Phone软件发布之后,就可以在OpenXLive网站上查看应用程序的在线数据了。

    首先,我们访问OpenXLive网站http://www.openxlive.com/ ,在网页右上角点击Login登录,成功登录之后,我们会在OpenXLive首页右上角的位置看到下面的网页:

在Windows Phone应用中添加OpenXLive数据分析功能_第6张图片

    点击My Game,可以进入游戏后台管理的Dashboard中。如果用户登录后,访问OpenXLive开发者网站(http://developer.openxlive.com/),在右侧的Dashboard中选择“Managed your games”也可以进入开发者后台管理界面。

在Windows Phone应用中添加OpenXLive数据分析功能_第7张图片

    上图所示,包括我们创建的所有游戏和应用,点击应用图标会进入应用的产业页面,点击应用标题,则进入应用的管理界面。

在Windows Phone应用中添加OpenXLive数据分析功能_第8张图片

    点击管理界面中的Statistics按钮,进入数据分析界面。

    在数据分析界面中,我们可以查看一些通用信息,比如创建Session的数量、使用人数等信息。点击View,则进入详细数据分析界面。

在Windows Phone应用中添加OpenXLive数据分析功能_第9张图片

    在详细数据分析界面中,我们可以考到用户数、Session数的时间分布,按照月、周、日来进行显示等。

在Windows Phone应用中添加OpenXLive数据分析功能_第10张图片

写在最后

    好了,到这里,我们就介绍完OpenXLive目前的数据分析功能。下一步,OpenXLive还会加入自定义事件、地理分布信息等功能。