public class JsHead { protected int msgId; protected String url; public int getMsgId() { return msgId; } public void setMsgId(int msgId) { this.msgId = msgId; } public String getUrl() { return url; } public void setUrl(String url) { this.url = url; } @Override public String toString() { String string = new Gson().toJson(this); return string; } }
public class JsData extends JsHead { private String data; public String getData() { return data; } public void setData(String data) { this.data = data; } @Override public String toString() { String string = new Gson().toJson(this); return string; } }
public class GaEvent { private String category; private String action; private String label; private long value; public String getCategory() { return category; } public void setCategory(String category) { this.category = category; } public String getAction() { return action; } public void setAction(String action) { this.action = action; } public String getLabel() { return label; } public void setLabel(String label) { this.label = label; } public long getValue() { return value; } public void setValue(long value) { this.value = value; } @Override public String toString() { String string = new Gson().toJson(this); return string; }
@JavascriptInterface public void jsCallAndroid(String string) { Log.i("JsInterface", "string:" + string); Tracker tracker = null; if (mBaseFragment != null) { tracker = mBaseFragment.getmTracker(); } else if (mLifeActivity != null) { tracker = mLifeActivity.getmTracker(); } JSONObject jsonObj = null; int msgId = -1; String url = null; String data = ""; try { jsonObj = new JSONObject(string); msgId = jsonObj.optInt("msgId"); url = jsonObj.optString("url"); data = jsonObj.optString("data"); } catch (JSONException e) { e.printStackTrace(); } switch(msgId) { case 1: if(!TextUtils.isEmpty(data)){ String category = null; String action = null; String label = null; long value = 0; // Gson gson = new Gson(); // GaEvent gaEvent = gson.fromJson(data, GaEvent.class); // Log.i("JsInterface", "gaEvent:" + gaEvent); // if (gaEvent != null) { // category = gaEvent.getCategory(); // action = gaEvent.getAction(); // label = gaEvent.getLabel(); // } try { jsonObj = new JSONObject(data); category = jsonObj.optString("category"); action = jsonObj.optString("action"); label = jsonObj.optString("label"); } catch (JSONException e) { e.printStackTrace(); } HitBuilders.EventBuilder eventBuilder = new HitBuilders.EventBuilder(); if(!TextUtils.isEmpty(category)){ eventBuilder.setCategory(category); } if(!TextUtils.isEmpty(action)){ eventBuilder.setAction(action); } if(!TextUtils.isEmpty(label)){ eventBuilder.setLabel(label); } tracker.send(eventBuilder.build()); } break; } }
android和js交互数据格式
最新推荐文章于 2021-10-29 14:01:45 发布