Google.Api.Ads.AdWords.Examples.CSharp.v201306.AddAudience.Run C# (CSharp) Method

Run() public method

Runs the code example.
public Run ( Google.Api.Ads.AdWords.Lib.AdWordsUser user ) : void
user Google.Api.Ads.AdWords.Lib.AdWordsUser The AdWords user.
return void
        public void Run(AdWordsUser user)
        {
            // Get the UserListService.
              AdwordsUserListService userListService =
              (AdwordsUserListService) user.GetService(AdWordsService.v201306.AdwordsUserListService);

              // Get the ConversionTrackerService.
              ConversionTrackerService conversionTrackerService =
              (ConversionTrackerService)user.GetService(AdWordsService.v201306.
              ConversionTrackerService);

              BasicUserList userList = new BasicUserList();
              userList.name = "Mars cruise customers #" + ExampleUtilities.GetRandomString();
              userList.description = "A list of mars cruise customers in the last year.";
              userList.status = UserListMembershipStatus.OPEN;
              userList.membershipLifeSpan = 365;

              UserListConversionType conversionType = new UserListConversionType();
              conversionType.name = userList.name;
              userList.conversionTypes = new UserListConversionType[] {conversionType};

              // Optional: Set the user list status.
              userList.status = UserListMembershipStatus.OPEN;

              // Create the operation.
              UserListOperation operation = new UserListOperation();
              operation.operand = userList;
              operation.@operator = Operator.ADD;

              try {
            // Add the user list.
            UserListReturnValue retval = userListService.mutate(new UserListOperation[] {operation});

            UserList[] userLists = null;
            if (retval != null && retval.value != null) {
              userLists = retval.value;
              // Get all conversion snippets
              List<string> conversionIds = new List<string>();
              foreach (BasicUserList newUserList in userLists) {
            if (newUserList.conversionTypes != null) {
              foreach (UserListConversionType newConversionType in newUserList.conversionTypes) {
                conversionIds.Add(newConversionType.id.ToString());
              }
            }
              }

              Dictionary<long, ConversionTracker> conversionsMap =
              new Dictionary<long, ConversionTracker>();

              if (conversionIds.Count > 0) {
            // Create the selector.
            Selector selector = new Selector();
            selector.fields = new string[] {"Id"};

            Predicate conversionTypePredicate = new Predicate();
            conversionTypePredicate.field = "Id";
            conversionTypePredicate.@operator = PredicateOperator.IN;
            conversionTypePredicate.values = conversionIds.ToArray();
            selector.predicates = new Predicate[] {conversionTypePredicate};

            // Get all conversion trackers.
            ConversionTrackerPage page = conversionTrackerService.get(selector);

            if (page != null && page.entries != null) {
              foreach (ConversionTracker tracker in page.entries) {
                conversionsMap[tracker.id] = tracker;
              }
            }
              }

              // Display the results.
              foreach (BasicUserList newUserList in userLists) {
            Console.WriteLine("User list with name '{0}' and id '{1}' was added.",
                newUserList.name, newUserList.id);

            // Display user list associated conversion code snippets.
            if (newUserList.conversionTypes != null) {
              foreach (UserListConversionType userListConversionType in
                  newUserList.conversionTypes) {
                if (conversionsMap.ContainsKey(userListConversionType.id)) {
                  AdWordsConversionTracker conversionTracker =
                      (AdWordsConversionTracker) conversionsMap[userListConversionType.id];
                  Console.WriteLine("Conversion type code snippet associated to the list:\n{0}\n",
                      conversionTracker.snippet);
                } else {
                  throw new Exception("Failed to associate conversion type code snippet.");
                }
              }
            }
              }
            } else {
              Console.WriteLine("No user lists (a.k.a. audiences) were added.");
            }
              } catch (Exception ex) {
            throw new System.ApplicationException("Failed to add user lists (a.k.a. audiences).", ex);
              }
        }

Usage Example

 /// <summary>
 /// Main method, to run this code example as a standalone application.
 /// </summary>
 /// <param name="args">The command line arguments.</param>
 public static void Main(string[] args)
 {
     AddAudience codeExample = new AddAudience();
       Console.WriteLine(codeExample.Description);
       try {
     codeExample.Run(new AdWordsUser());
       } catch (Exception ex) {
     Console.WriteLine("An exception occurred while running this code example. {0}",
     ExampleUtilities.FormatException(ex));
       }
 }
AddAudience