private void SaveStatusInfo(CloData cloInfo) { if (cloInfo == null) { return; } PlayerPrefs.SetInt(IsUserKey, BoolToInt(cloInfo.user)); PlayerPrefs.Save(); }
private void GenerateOrganicData(CloData cloData, Action generateOrganicDataCallback) { var organicData = new TrackLinkData { key = cloData.organic?.org_key ?? "none", sub1 = cloData.organic?.sub1 ?? "none", sub2 = cloData.organic?.sub2 ?? "none", sub3 = cloData.organic?.sub3 ?? "none", source = "none" }; GenerateLink(cloData, organicData, generateOrganicDataCallback); }
private void CheckNamingOrCreateOrganicData(CloData cloData, Action namingOrOrganicDataCallback) { if (cloData.naming) { RequestTrackLinkDataFromNaming(cloData.media_sources.ToList(), namingData => { if (namingData != null) { GenerateLink(cloData, namingData, namingOrOrganicDataCallback); return; } if (cloData.organic?.org_status == true) { GenerateOrganicData(cloData, namingOrOrganicDataCallback); } else { cloData.user = false; UnityMainThreadDispatcher.Instance().Enqueue(SaveTrackLink("none", namingOrOrganicDataCallback)); } }); } else { if (cloData.organic?.org_status == true) { GenerateOrganicData(cloData, namingOrOrganicDataCallback); } else { cloData.user = false; UnityMainThreadDispatcher.Instance().Enqueue(SaveTrackLink("none", namingOrOrganicDataCallback)); } } }
private void GenerateLink(CloData cloData, TrackLinkData trackLinkData, Action linkGeneratedCallback) { RequestAdvertiserId(advertiserId => { RequestAppMetricaDeviceId((metricaId) => { var queryMap = new Dictionary <string, string>(); queryMap["key"] = trackLinkData.key; if (!string.IsNullOrEmpty(trackLinkData.sub1)) { queryMap["sub1"] = trackLinkData.sub1; } if (!string.IsNullOrEmpty(trackLinkData.sub2)) { queryMap["sub2"] = trackLinkData.sub2; } if (!string.IsNullOrEmpty(trackLinkData.sub3)) { queryMap["sub3"] = trackLinkData.sub3; } var appsflyerId = AppsFlyer.getAppsFlyerId(); if (string.IsNullOrEmpty(appsflyerId)) { appsflyerId = "none"; } if (cloData.integration_version == "v1") { var sub5 = $"{trackLinkData.source}:{advertiserId}:{appsflyerId}:{metricaId}"; queryMap["sub4"] = _appIdentifier; queryMap["sub5"] = sub5; } else { queryMap["bundle"] = _appIdentifier; queryMap["metrica_id"] = metricaId; queryMap["apps_id"] = appsflyerId; queryMap["ifa"] = advertiserId; try { var subscriptionOneSignalStatus = OneSignal.GetPermissionSubscriptionState(); queryMap["onesignal_id"] = string.IsNullOrEmpty(subscriptionOneSignalStatus.subscriptionStatus.userId) ? "none" : subscriptionOneSignalStatus.subscriptionStatus.userId; } catch (Exception e) { Console.WriteLine(e + "EXCEPTION!!!!!!!!!!!!!!"); } queryMap["source"] = trackLinkData.source; } var trackLink = $"https://{cloData.track_domain}/click.php"; var index = 0; foreach (var pair in queryMap) { trackLink += index == 0 ? "?" : "&"; trackLink += $"{pair.Key}={queryMap[pair.Key]}"; index++; } UnityMainThreadDispatcher.Instance().Enqueue(SaveTrackLink(trackLink, linkGeneratedCallback)); }); }); }