115 lines
		
	
	
		
			2.9 KiB
		
	
	
	
		
			C#
		
	
	
	
		
		
			
		
	
	
			115 lines
		
	
	
		
			2.9 KiB
		
	
	
	
		
			C#
		
	
	
	
|  | using System; | ||
|  | using System.Collections.Generic; | ||
|  | using BigoAds.Scripts.Api.Constant; | ||
|  | using System.Collections.Generic; | ||
|  | 
 | ||
|  | namespace BigoAds.Scripts.Api | ||
|  | { | ||
|  |     public class BigoAdConfig | ||
|  |     { | ||
|  |         public const string EXTRA_KEY_HOST_RULES = "host_rules"; | ||
|  | 
 | ||
|  |         /// <summary> | ||
|  |         /// the unique identifier of the App | ||
|  |         /// </summary> | ||
|  |         internal string AppId { get; } | ||
|  | 
 | ||
|  |         /// <summary> | ||
|  |         /// Custom set the debugLog to print debug Log. | ||
|  |         /// debugLog NO: close debug log, YES: open debug log. | ||
|  |         /// </summary> | ||
|  |         internal bool DebugLog { get; } | ||
|  | 
 | ||
|  |         /// <summary> | ||
|  |         /// Channels for publishing media applications | ||
|  |         /// </summary> | ||
|  |         internal string Channel { get; } | ||
|  | 
 | ||
|  |         internal int Age { get; } | ||
|  | 
 | ||
|  |         internal int Gender { get; } | ||
|  | 
 | ||
|  |         internal long ActivatedTime { get; } | ||
|  | 
 | ||
|  |         internal Dictionary<string, string> ExtraDictionary { get; } | ||
|  | 
 | ||
|  |         private BigoAdConfig(BigoAdConfig.Builder builder) | ||
|  |         { | ||
|  |             AppId = builder.AppId; | ||
|  |             DebugLog = builder.DebugLog; | ||
|  |             Channel = builder.Channel; | ||
|  |             Age = builder.Age; | ||
|  |             Gender = (int)builder.Gender; | ||
|  |             ActivatedTime = builder.ActivatedTime; | ||
|  |             ExtraDictionary = builder.ExtraDictionary; | ||
|  |         } | ||
|  | 
 | ||
|  |         public class Builder | ||
|  |         { | ||
|  |             internal string AppId; | ||
|  | 
 | ||
|  |             internal bool DebugLog; | ||
|  | 
 | ||
|  |             internal string Channel; | ||
|  | 
 | ||
|  |             internal int Age; | ||
|  | 
 | ||
|  |             internal BGAdGender Gender; | ||
|  | 
 | ||
|  |             internal long ActivatedTime; | ||
|  | 
 | ||
|  |             internal Dictionary<string, string> ExtraDictionary = new Dictionary<string, string>(); | ||
|  | 
 | ||
|  |             public Builder SetAppId(string appid) | ||
|  |             { | ||
|  |                 this.AppId = appid; | ||
|  |                 return this; | ||
|  |             } | ||
|  | 
 | ||
|  |             public Builder SetDebugLog(bool debugLog) | ||
|  |             { | ||
|  |                 this.DebugLog = debugLog; | ||
|  |                 return this; | ||
|  |             } | ||
|  | 
 | ||
|  |             public Builder SetChannel(string channel) | ||
|  |             { | ||
|  |                 this.Channel = channel; | ||
|  |                 return this; | ||
|  |             } | ||
|  | 
 | ||
|  |             public Builder SetAge(int age) | ||
|  |             { | ||
|  |                 this.Age = age; | ||
|  |                 return this; | ||
|  |             } | ||
|  | 
 | ||
|  |             public Builder SetGender(BGAdGender gender) | ||
|  |             { | ||
|  |                 this.Gender = gender; | ||
|  |                 return this; | ||
|  |             } | ||
|  | 
 | ||
|  |             public Builder SetActivatedTime(long activatedTime) | ||
|  |             { | ||
|  |                 this.ActivatedTime = activatedTime; | ||
|  |                 return this; | ||
|  |             } | ||
|  | 
 | ||
|  |             ///Only works on Android | ||
|  |             public Builder SetExtra(string key, string extra) | ||
|  |             { | ||
|  |                 if (key != null && extra != null) | ||
|  |                 { | ||
|  |                     this.ExtraDictionary.Add(key, extra); | ||
|  |                 } | ||
|  |                 return this; | ||
|  |             } | ||
|  | 
 | ||
|  |             public BigoAdConfig Build() | ||
|  |             { | ||
|  |                 return new BigoAdConfig(this); | ||
|  |             } | ||
|  |         } | ||
|  |     } | ||
|  | } |