惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
博客园 - 司徒正美
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
G
Google Developers Blog
T
Threat Research - Cisco Blogs
Cyberwarzone
Cyberwarzone
罗磊的独立博客
S
Security Affairs
D
Docker
Microsoft Azure Blog
Microsoft Azure Blog
G
GRAHAM CLULEY
W
WeLiveSecurity
博客园 - Franky
C
Check Point Blog
The Last Watchdog
The Last Watchdog
F
Full Disclosure
Security Latest
Security Latest
K
KPMG report finds enterprise disconnect between AI and its ROI | CIO
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
AWS News Blog
AWS News Blog
Application and Cybersecurity Blog
Application and Cybersecurity Blog
T
Troy Hunt's Blog
S
Secure Thoughts
Security Archives - TechRepublic
Security Archives - TechRepublic
P
Privacy & Cybersecurity Law Blog
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
P
Privacy International News Feed
S
Schneier on Security
C
Cyber Attacks, Cyber Crime and Cyber Security
T
Tenable Blog
aimingoo的专栏
aimingoo的专栏
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
Recent Announcements
Recent Announcements
IT之家
IT之家
D
DataBreaches.Net
U
Unit 42
博客园 - 聂微东
H
Hacker News: Front Page
GbyAI
GbyAI
T
The Exploit Database - CXSecurity.com
N
News and Events Feed by Topic
Simon Willison's Weblog
Simon Willison's Weblog
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
TaoSecurity Blog
TaoSecurity Blog
Google Online Security Blog
Google Online Security Blog
T
Threatpost
博客园 - 叶小钗
V
V2EX
Hugging Face - Blog
Hugging Face - Blog
K
Kaspersky official blog

博客园 - 马宁

OpenXLive支持 Windows Phone上的SNS 分享 OpenXLive的多语言支持 Windows 8开发初体验 - C#版菜谱 OpenXLive Push Notification Hosting服务开发指南 Kinect for Windows SDK开发初体验(四)景深数据 马宁的Windows Phone 7.1初体验(三)——Tile 马宁的Windows Phone 7.1初体验(二)——Push Notification Kinect for Windows SDK开发初体验(三)骨骼追踪 Kinect for Windows SDK开发初体验(二)操作Camera Kinect for Windows SDK开发初体验(一)环境配置 马宁的Windows Phone 7.1初体验——XNA与Silverlight集成 如何将OpenXLive添加到WP7 Silverlight游戏中 Game Center,移动游戏社交平台的勘探报告 OpenXLive——开启Windows Phone 7游戏社交平台新时代 Windows Phone Marketplace发布攻略 Windows Phone7中的IronRuby 马宁的Windows Phone 7开发教程(4)——XNA显示中文字体 马宁的Windows Phone 7开发教程(3)——XNA下使用MessageBox和软键盘 Windows Phone XNA 4.0 3D游戏开发
在Windows Phone应用中添加OpenXLive数据分析功能
马宁 · 2011-10-03 · via 博客园 - 马宁

作者:马宁

源代码下载地址:

https://files.cnblogs.com/aawolf/OpenXLiveAnalytics.zip

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

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

创建OpenXLive应用

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

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

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

image

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

image

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

image

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

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

image

添加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即可。

image

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

创建Session

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

private void Application_Launching(object sender, LaunchingEventArgs e)
{
    if (XLiveGameManager.CurrentSession == null)
    {
        GameSession session = XLiveGameManager.CreateSession("xxxxxxxx");
        session.CreateSessionCompleted += new AsyncEventHandler(session_CreateSessionCompleted);
        session.Open();
    }
}

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

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

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

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

private void Application_Closing(object sender, ClosingEventArgs e)
{
    if (XLiveGameManager.CurrentSession != null)
    {
        XLiveGameManager.CurrentSession.Close();
    }
}

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

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

private void Application_Activated(object sender, ActivatedEventArgs e)
{
    XLiveGameManager.Activated();
}

private void Application_Deactivated(object sender, DeactivatedEventArgs e)
{
    XLiveGameManager.Deactivated();
}

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

查看数据结果

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

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

image

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

image

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

image

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

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

image

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

image

写在最后

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