Android客户端信息采集SDK.md

1 功能概述

可以收集移动端的终端信息、终端状态、网络状态、信号信息、地理信息等

2 sdk集成

2.1 开启收集器

CollectorConfig config = new Builder(ConfigActivity.this)//此处传入上下文
        .setLocationPeriod(locationPeriod)
        .setTerminalInfoPeriod(infoPeriod)
        .setTerminalStatePeriod(statePeriod)
        .setNetworkPeriod(networkPeriod)
        .setSignalPeriod(signalPeriod).build();
TerminalCollector.getInstance().init(config).start();

其中locationPeriod、infoPeriod、statePeriod、networkPeriod、signalPeriod分别是位置信息收集间隔、终端信息收集间隔、终端状态收集间隔、网络信息收集间隔、信号信息收集间隔。

2.2 收集终端信息

EventBus.getDefault().unregister(this);

@Subscribe(threadMode = ThreadMode.MAIN)
  public void onInfoEvent(TerminalInfo terminalInfo) {
    String json = JsonUtil.createJson(terminalInfo, TerminalCollector.getInstance().getImei(),terminalInfo.getTopic());
    int type = getActivity().getSharedPreferences(ConfigActivity.PREF_NAME,Context.MODE_PRIVATE).getInt(ConfigActivity.PROTOCOL_TYPE, 1);
    Client.getInstance().send(json,ProtocolType.from(type));
  }

2.3 收集终端状态

EventBus.getDefault().unregister(this);

@Subscribe(threadMode = ThreadMode.MAIN)
  public void onStateEvent(TerminalState terminalState) {
    adapter.addResult(terminalState.toString());
  }

2.3 收集网络状态

EventBus.getDefault().unregister(this);

@Subscribe(threadMode = ThreadMode.MAIN)
  public void onNetworkEvent(NetworkInfo info) {
    adapter.addResult(info.toString());
  }

2.4 收集信号信息

EventBus.getDefault().unregister(this);

@Subscribe(threadMode = ThreadMode.MAIN)
  public void onSignalEvent(CellGeneralInfo cellGeneralInfo) {
    adapter.addResult(cellGeneralInfo.toString());

  }

2.5 收集地理信息

EventBus.getDefault().unregister(this);

@Subscribe(threadMode = ThreadMode.MAIN)
    public void onLocationEvent(TcLocation location) {
        double latitude = location.getLatitude();
        double longitude = location.getLongitude();

    }
Copyright © aiipu.com 2017 all right reserved,powered by Gitbook该文件修订时间: 2022-05-31 09:52:53

results matching ""

    No results matching ""