数据上传到服务器的接口

来源:互联网 发布:网络基本结构 编辑:程序博客网 时间:2024/04/28 17:49
1] 链接打点SDK:
In Android.mk:
LOCAL_STATIC_JAVA_LIBRARIES += analytics_sdk




2] 添加在数据工厂的key:
private static final String ANALYTICS_FAKEGPS_CONFIG_KEY = "powerkeeper_fakegps";


3] 构建打点上传的数据:
        public JSONObject toJson(){
            JSONObject aJson = new JSONObject();
            addJsonObject(aJson, "s", mStartTime);
            addJsonObject(aJson, "e", mEndTime);
            addJsonObject(aJson, "a", mTriggerApp);
            addJsonObject(aJson, "so", mQuitScreenOn);
            return aJson;
        }
4] 调用打点SDK 上传数据:
            Analytics analytics = Analytics.getInstance(mContext);
            //analytics.setDebugOn(true);
            Tracker tracker = analytics.getTracker(ANALYTICS_FAKEGPS_CONFIG_KEY);
            tracker.track(
                    Actions.newCustomAction().addParam("info", mRecord.toJson())
            );


5] 到http://sdkconfig.d.xxx.net/上面的网站上去登记你的App申请打点的Config Key


参考wiki:
http://wiki.n.xxxx.com/pages/viewpage.action?pageId=11916850
参考示例:
http://FakeGpsController.java


该示例数据工厂对应的数据如下:

{"info":{"e":1478992528092,"s":1478992463430,"so":true,"a":"com.coomix.app.bus"}}


延时发送广播的方法:

生成随机数:
int random = Utils.getRandomNextInt(Utils.getRandomSeed(), 110, 10); //[10, 120]


        Intent intent = new Intent(mContext, CloudControlReceiver.class);
        intent.setAction(ACTION_SCHEDULE_DELAY_JOB);
        intent.putExtra("jobID", jobID);
        PendingIntent pendingIntent = PendingIntent.getBroadcast(mContext, jobID, intent, PendingIntent.FLAG_UPDATE_CURRENT);
        AlarmManager alarm = (AlarmManager) mContext.getSystemService(Context.ALARM_SERVICE);
        alarm.set(AlarmManager.RTC, System.currentTimeMillis() + triggerDelayAtMin * DateUtils.MINUTE_IN_MILLIS, pendingIntent);

0 0