private AndroidJavaObject ConstructCampaignEnv(CAMPAIGN_ENV environment) { AndroidJavaObject campaignEnv = new AndroidJavaObject("com.sourcepoint.cmplibrary.data.network.util.CampaignsEnv", CSharp2JavaStringEnumMapper.GetCampaignEnvKey(environment), (int)environment); campaignEnv.Set("env", CSharp2JavaStringEnumMapper.GetCampaignEnvKey(environment)); CmpDebugUtil.Log("campaignEnv is OK"); return(campaignEnv); }
public void InitializeLib(List <SpCampaign> spCampaigns, int accountId, string propertyName, MESSAGE_LANGUAGE language, CAMPAIGN_ENV campaignsEnvironment, long messageTimeoutInSeconds = 3) { #if UNITY_IOS && !UNITY_EDITOR_OSX _cleanDict(); int campaignsAmount = spCampaigns.Count; int[] campaignTypes = new int[campaignsAmount]; foreach (SpCampaign sp in spCampaigns) { foreach (TargetingParam tp in sp.TargetingParams) { _addTargetingParamForCampaignType((int)sp.CampaignType, tp.Key, tp.Value); } } for (int i = 0; i < campaignsAmount; i++) { campaignTypes[i] = (int)spCampaigns[i].CampaignType; } _consrtuctLib(accountId: accountId, propName: propertyName, arrSize: campaignsAmount, campaignTypes: campaignTypes, campaignsEnvironment: (int)campaignsEnvironment, timeOutSeconds: messageTimeoutInSeconds); _setMessageLanguage((int)language); #endif }
public static string GetCampaignEnvKey(CAMPAIGN_ENV environment) { return(campaignEnvToJavaEnumKey[environment]); }
internal AndroidJavaObject ConstructSpConfig(int accountId, string propertyName, long messageTimeout, AndroidJavaObject language, CAMPAIGN_ENV campaignsEnvironment, AndroidJavaObject[] spCampaigns) { AndroidJavaObject spConfig; using (AndroidJavaObject SpConfigDataBuilderClass = new AndroidJavaObject("com.sourcepoint.cmplibrary.creation.SpConfigDataBuilder")) { SpConfigDataBuilderClass.Call <AndroidJavaObject>("addAccountId", accountId); CmpDebugUtil.Log("addAccountId is OK"); SpConfigDataBuilderClass.Call <AndroidJavaObject>("addPropertyName", propertyName); CmpDebugUtil.Log("addPropertyName is OK"); SpConfigDataBuilderClass.Call <AndroidJavaObject>("addMessageLanguage", language); CmpDebugUtil.Log("addMessageLanguage is OK"); SpConfigDataBuilderClass.Call <AndroidJavaObject>("addMessageTimeout", messageTimeout); CmpDebugUtil.Log("addMessageTimeout is OK"); AndroidJavaObject env = ConstructCampaignEnv(campaignsEnvironment); SpConfigDataBuilderClass.Call <AndroidJavaObject>("addCampaignsEnv", env); CmpDebugUtil.Log("addCampaignsEnv is OK"); foreach (AndroidJavaObject camp in spCampaigns) { SpConfigDataBuilderClass.Call <AndroidJavaObject>("addCampaign", camp); CmpDebugUtil.Log("addCampaign is OK"); } spConfig = SpConfigDataBuilderClass.Call <AndroidJavaObject>("build"); CmpDebugUtil.Log("build() is OK"); } CmpDebugUtil.Log("SpConfig is OK"); return(spConfig); }
public void InitializeLib(List <SpCampaign> spCampaigns, int accountId, string propertyName, MESSAGE_LANGUAGE language, CAMPAIGN_ENV campaignsEnvironment, long messageTimeoutMilliSeconds = 3000) { #if UNITY_ANDROID if (Application.platform == RuntimePlatform.Android) { try { AndroidJavaObject msgLang = constructor.ConstructMessageLanguage(language); AndroidJavaObject[] campaigns = new AndroidJavaObject[spCampaigns.Count]; foreach (SpCampaign sp in spCampaigns) { AndroidJavaObject typeAJO = constructor.ConstructCampaignType(sp.CampaignType); AndroidJavaObject[] paramsArray = new AndroidJavaObject[sp.TargetingParams.Count]; foreach (TargetingParam tp in sp.TargetingParams) { AndroidJavaObject param = constructor.ConstructTargetingParam(tp.Key, tp.Value); paramsArray[sp.TargetingParams.IndexOf(tp)] = param; } AndroidJavaObject paramsList = CmpJavaToUnityUtils.ConvertArrayToList(paramsArray); AndroidJavaObject campaign = constructor.ConstructCampaign(typeAJO, paramsList, sp.CampaignType); campaigns[spCampaigns.IndexOf(sp)] = campaign; } AndroidJavaObject spConfig = constructor.ConstructSpConfig(accountId: accountId, propertyName: propertyName, messageTimeout: messageTimeoutMilliSeconds, language: msgLang, campaignsEnvironment: campaignsEnvironment, spCampaigns: campaigns); consentLib = constructor.ConsrtuctLib(spConfig: spConfig, activity: this.activity, spClient: this.spClient); } catch (Exception e) { CmpDebugUtil.LogError(e.Message); } } #endif }
public static void Initialize(List <SpCampaign> spCampaigns, int accountId, string propertyName, MESSAGE_LANGUAGE language, CAMPAIGN_ENV campaignsEnvironment, long messageTimeoutInSeconds = 3) { if (!IsSpCampaignsValid(spCampaigns)) { return; } CreateBroadcastExecutorGO(); #if UNITY_ANDROID && !UNITY_EDITOR if (Application.platform == RuntimePlatform.Android) { //excluding ios14 campaign if any RemoveIos14SpCampaign(ref spCampaigns); if (!IsSpCampaignsValid(spCampaigns)) { return; } ConsentWrapperAndroid.Instance.InitializeLib(spCampaigns: spCampaigns, accountId: accountId, propertyName: propertyName, language: language, campaignsEnvironment: campaignsEnvironment, messageTimeoutMilliSeconds: messageTimeoutInSeconds * 1000); } #elif UNITY_IOS && !UNITY_EDITOR_OSX if (Application.platform == RuntimePlatform.IPhonePlayer) { ConsentWrapperIOS.Instance.InitializeLib(spCampaigns: spCampaigns, accountId: accountId, propertyName: propertyName, language: language, campaignsEnvironment: campaignsEnvironment, messageTimeoutInSeconds: messageTimeoutInSeconds); } #else CmpLocalizationMapper.language = CSharp2JavaStringEnumMapper.GetMessageLanguageKey(language); SingleCampaignPostGetMessagesRequest gdprTargetingParams = null; SpCampaign gdpr = spCampaigns.Find(x => x.CampaignType == CAMPAIGN_TYPE.GDPR); if (gdpr != null) { CmpCampaignPopupQueue.EnqueueCampaignId(0); Dictionary <string, string> tarParams = new Dictionary <string, string>(); foreach (var param in gdpr.TargetingParams) { tarParams[param.Key] = param.Value; } gdprTargetingParams = new SingleCampaignPostGetMessagesRequest(tarParams); } SingleCampaignPostGetMessagesRequest ccpaTargetingParams = null; SpCampaign ccpa = spCampaigns.Find(x => x.CampaignType == CAMPAIGN_TYPE.CCPA); if (ccpa != null) { CmpCampaignPopupQueue.EnqueueCampaignId(2); Dictionary <string, string> tarParams = new Dictionary <string, string>(); foreach (var param in ccpa.TargetingParams) { tarParams[param.Key] = param.Value; } ccpaTargetingParams = new SingleCampaignPostGetMessagesRequest(tarParams); } CmpLocalizationMapper.GetMessages(accountId: accountId, propertyHref: propertyName, gdpr: gdprTargetingParams, ccpa: ccpaTargetingParams, environment: (int)campaignsEnvironment, millisTimeout: Convert.ToInt32(messageTimeoutInSeconds * 1000)); #endif }