TuesdayData - android手游流失诊断sdk


MIT
Android
D语言

软件简介

TuesdayData 是手机端网游阶段流失诊断SDK(Android版)

1.简介
本SDK是基于cocos2d-x游戏的稳定性以及阶段流失诊断的工具,具体可应用在网游从启动至游戏登陆之间,可将此期间的一切操作进行发送到服务器并存入服务器数据库,可从服务器方便的了解到程序在每个阶段出现问题的概率与部分用户流失的原因,并可针对某个阶段进行改良。

2.集成步骤
(1)导入PhoneNet.Java
将com文件夹复制在 src文件夹中

(2)修改cocos2d的入口文件
引入头文件,如:

import com.jni.PhoneNet;

在onCreate函数冲中添加,如:

super.onCreate(savedInstanceState); 
PhoneNet.getInstance().setContext(this);

(3)app权限
在工程中,打开AndroidManifest.xml文件,加入权限:

<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE">

(4)引入c++文件
将TuesdayData文件夹复制在工程根目录,默认为文件夹Classes
并在android.mk中 添加TuesdayData中所有文件的路径
服务器IP与端口在TuesdayData.h,宏定义IP 与 HOST
默认IP与端口是我们提供的服务器,您可以直接使用

(5)调用方法
引入头文件TuesdayData.h,调用静态方法

参数 event为行为标识。
参数gameID为游戏标识。
参数userID 为用户的唯一游戏ID(选填)。该事例会获取手机的mac码来作为设别的唯一标示并发送到服务器。

3.事例应用

例如上图,为大多数网游的的登陆流程。

我们在这10个流程节点上的状态分别发送到给服务器发,服务器会把这些数据保存到数据库。
这样,只要从服务器打开数据库,就可以看到每个用户的登录数据并加以分析,游戏在哪个环节的问题概率就非常直观了。

举个例子:
比如,玩家在游戏更新这一步出现问题。假设,用户更新游戏失败,但是网络连接确实正常的。那么,我们的服务器就会收到用户更新失败的数据状态。假设,用户在更新过程中崩溃或者断网、手机断电等,此时服务器将收不到任何消息,由于后两种情况几率实在太低,可以忽略,这样服务器就可以基本判定这一步是由于游戏崩溃而导致的。

客户端:C++
服务器端:Firefly 1.3.1 (python)
数据库:mysql