public static void parseParams(Map<String, String> params) {
        if (params != null && params.size() > 0) {
            for (Map.Entry<String, String> entry : UTM_LINK_MAP.entrySet()) {
                String utmKey = entry.getValue();
                String value = params.get(utmKey);
                if (!TextUtils.isEmpty(value)) {
                    sUtmProperties.put(UTM_MAP.get(entry.getKey()), value);
                    sLatestUtmProperties.put(LATEST_UTM_MAP.get(entry.getKey()), value);
                }
            }
            for (String sourceKey : sChannelSourceKeySet) {
                try {
                    //检测 key 的值,非正常 key 值直接跳过.
                    if (!SADataHelper.assertPropertyKey(sourceKey)) {
                        continue;
                    }
                    String value = params.get(sourceKey);
                    if (!TextUtils.isEmpty(value)) {
                        sUtmProperties.put(sourceKey, value);
                        sLatestUtmProperties.put("_latest_" + sourceKey, value);
                    }
                } catch (Exception e) {
                    SALog.printStackTrace(e);
                }
            }
        }
    }
@Test
    public void parseParams() {
        Map<String, String> params = new HashMap<>();
        params.put("utm_source", "source_value");
        params.put("utm_medium", "medium_value");
        ChannelUtils.parseParams(params);
        JSONObject jsonObject = ChannelUtils.getUtmProperties();
        Assert.assertTrue(jsonObject.has("$utm_source"));
        Assert.assertTrue(jsonObject.has("$utm_medium"));
    }