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);