untiy3手游计算数据流量

游戏在android平台,需要计算用户联网是的数据流量,开始想用android平台的api来计算,不过没搞懂,咨询大牛,建议用截取数据的方式,就是联网时上传和接收的数据量的byte数量累加到一个 dictionary中,在关闭网络的时候,将累加的总量存储到设备的数据库中。这样计算只是计算的和游戏相关的数据量,不过对于玩家只是了解的层次,也是可以的了。

 介个是简单的样例

using UnityEngine;
using System.Collections.Generic;
using System;

public class Flow : ScriptableObject
{

    static Dictionary<int, int> DicFlow = new Dictionary<int, int>();
    static int key = 0;

    public static void AddFlow(int b)
    {
        if (!DicFlow.ContainsKey(key))
        {
            DicFlow.Add(key, b);
            key++;
        }

    }

    static float GetFlow()
    {
        long flow = 0;
        for (int i = 0; i < key; i++)
        {
            if (DicFlow.ContainsKey(i))
            {
                flow += DicFlow[i];
            }
        }
        return (float)flow / 1024 / 1024;
    }

    public static void UploadFlowToLocalTable()
    {
        try
        {
            float f = GetFlow();
            //上报到服务器
            Global.db.CheckAndOpen();
            Global.db.ExecuteQuery("INSERT INTO traffic_record (traffic ) VALUES(" + f+  ")");
            DicFlow.Clear();
            key = 0;
            Global.db.CloseSqlConnection();
        }
        catch (Exception e)
        {
            Debug.Log(e.ToString());
            Global.db.CloseSqlConnection();
        }

       
    }

}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值