微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Unity打包app信息上报到web服务器

一. 前言

项目经常要打app包,为了统计打包信息,决定写个web服务器,unity打包的时候,post打包信息到web服务器记录下来,方便查看打包信息。

二. web服务器环境搭建

PHPStudy搭建,方便,见我这篇文章
https://linxinfa.blog.csdn.net/article/details/103033142

三. MysqL数据库

1. 连接MysqL

注:我是windows操作系统
进入PHPstudy_pro/Extensions/MysqL目录,打开命令行工具,cd到当前路径,连接数据库

MysqL -h localhost -u root -p

输入数据库密码

2. 创建数据库

create database mygame_db

3. 选择数据库

use mygame_db

4. 创建table

create table pack_info(
	id int(11) primary key auto_increment,
	server_type varchar(30),
	channel varchar(30),
	version varchar(30),
	pack_user varchar(30),
	pack_time timestamp not null default Now());

四. PHP代码

pack_info.PHP,把PHP代码放在PHP的WWW目录中

<?PHP

$dbhost = 'localhost';
$dbuser = 'root';
$dbpw = '123456';
$dbname = 'mygame_db';
$tablename = 'pack_info';

$conn = MysqLi_connect($dbhost, $dbuser, $dbpw);
if($conn) {
	echo('connect MysqL successfully<br>');
}

$sql = 'use ' . $dbname;
if(MysqLi_query($conn, $sql)){
	echo('use db successfully<br>');
}

$server_type = $_POST['server_type'];
$channel = $_POST['channel'];
$version = $_POST['version'];
$pack_user = $_POST['pack_user'];
if("" != $server_type)
{
	$sql = 'insert into ' . $tablename . '(server,channel,version,pack_user) values("' . $server_type . '","' . $channel . '","' . $version  . '","' .  $pack_user . '")' ;

	if(MysqLi_query($conn, $sql)){
		echo("insert successfully");
	}
	else{
		echo("insert error" . MysqLi_error($conn) . "<br>");
	}
}


$result = MysqLi_query($conn, 'select * from ' . $tablename);
echo('<table border ="1">');
echo('<tr>');
echo('<td>id</td>');
echo('<td>server</td>');
echo('<td>channel</td>');
echo('<td>version</td>');
echo('<td>pack_user</td>');
echo('<td>pack_time</td>');
echo('</tr>');
while($row = MysqLi_fetch_array($result))
{
	echo('<tr>');
	echo('<td>' . $row['id'] . '</td>');
	echo('<td>' . $row['server'] . '</td>');
	echo('<td>' . $row['channel'] . '</td>');
	echo('<td>' . $row['version'] . '</td>');
	echo('<td>' . $row['pack_user'] . '</td>');
	echo('<td>' . $row['pack_time'] . '</td>');
	echo('</tr>');
}
MysqLi_close($conn);
?>

五. c#上报打包信息

static void PostPackInfo2WebServer(string server, string channel, string version)
{
    string url = "http://192.168.0.110:8089/pack_info.PHP";
    string ret = string.Empty;
    string paramData = string.Format("server_type={0}&channel={1}&version={2}&pack_user={3}", server, channel, version, SystemInfo.deviceName);
    try
    {
        byte[] byteArray = Encoding.UTF8.GetBytes(paramData);
        HttpWebRequest webReq = (HttpWebRequest)WebRequest.Create(new Uri(url));
        webReq.Method = "POST";
        webReq.ContentType = "application/x-www-form-urlencoded";

        webReq.ContentLength = byteArray.Length;
        Stream newStream = webReq.GetRequestStream();
        newStream.Write(byteArray, 0, byteArray.Length);
        newStream.Close();
        HttpWebResponse response = (HttpWebResponse)webReq.GetResponse();
        StreamReader sr = new StreamReader(response.GetResponseStream(), Encoding.Default);
        ret = sr.ReadToEnd();
        sr.Close();
        response.Close();
        newStream.Close();
    }
    catch(Exception ex)
    {
        Debug.LogError(ex);
    }
    Debug.Log(ret);
}

六. 上报完信息,访问网站测试

在浏览器中访问http://192.168.0.110:8089/pack_info.PHP

在这里插入图片描述


可以看到了一条打包信息,打了一个哔哩哔哩渠道的包

七. MySQL命令补充

1. 表中增加一列

# 在一个已经建好的表中添加一列
alter table TABLE_NAME add column NEW_COLUMN_NAME varchar(45) not null;
# 在指定的一列之后添加一列
alter table TABLE_NAME add column NEW_COLUMN_NAME varchar(45) not null after COLUMN_NAME;
# 添加一列到第一列
alter table TABLE_NAME add column NEW_COLUMN_NAME varchar(45) not null first;

2. 表中删除某列

alter table TABLE_NAME drop column COLUMN_NAME;

2. 删除

drop table TABLE_NAME ;

3. 清空表格数据

truncate table TABLE_NAME;

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐