/// <summary>
        /// Run the code example.
        /// </summary>
        public void Run(DfpUser user)
        {
            // Get the CreativeService.
            CreativeService creativeService =
                (CreativeService)user.GetService(DfpService.v201705.CreativeService);

            // Set the ID of the advertiser (company) that all creatives will be
            // assigned to.
            long advertiserId = long.Parse(_T("INSERT_ADVERTISER_ID_HERE"));

            // Create the local custom creative object.
            CustomCreative customCreative = new CustomCreative();

            customCreative.name           = "Custom creative " + GetTimeStamp();
            customCreative.advertiserId   = advertiserId;
            customCreative.destinationUrl = "http://google.com";

            // Set the custom creative image asset.
            CustomCreativeAsset customCreativeAsset = new CustomCreativeAsset();

            customCreativeAsset.macroName = "IMAGE_ASSET";
            CreativeAsset asset = new CreativeAsset();

            asset.fileName       = string.Format("inline{0}.jpg", GetTimeStamp());
            asset.assetByteArray = MediaUtilities.GetAssetDataFromUrl(
                "http://www.google.com/intl/en/adwords/select/images/samples/inline.jpg");
            customCreativeAsset.asset = asset;

            customCreative.customCreativeAssets = new CustomCreativeAsset[] { customCreativeAsset };

            // Set the HTML snippet using the custom creative asset macro.
            customCreative.htmlSnippet = "<a href='%%CLICK_URL_UNESC%%%%DEST_URL%%'>" +
                                         "<img src='%%FILE:" + customCreativeAsset.macroName + "%%'/>" +
                                         "</a><br>Click above for great deals!";

            // Set the creative size.
            Size size = new Size();

            size.width         = 300;
            size.height        = 250;
            size.isAspectRatio = false;

            customCreative.size = size;

            try {
                // Create the custom creative on the server.
                Creative[] createdCreatives = creativeService.createCreatives(
                    new Creative[] { customCreative });

                foreach (Creative createdCreative in createdCreatives)
                {
                    Console.WriteLine("A custom creative with ID \"{0}\", name \"{1}\", and size ({2}, " +
                                      "{3}) was created and can be previewed at {4}", createdCreative.id,
                                      createdCreative.name, createdCreative.size.width, createdCreative.size.height,
                                      createdCreative.previewUrl);
                }
            } catch (Exception e) {
                Console.WriteLine("Failed to create custom creatives. Exception says \"{0}\"", e.Message);
            }
        }
예제 #2
0
        /// <summary>
        /// Create a test company for running further tests.
        /// </summary>
        /// <returns>A creative for running further tests.</returns>
        public Creative CreateCreative(DfpUser user, long advertiserId)
        {
            CreativeService creativeService = (CreativeService)user.GetService(
                DfpService.v201602.CreativeService);

            // Create creative size.
            Size size = new Size();

            size.width  = 300;
            size.height = 250;

            // Create an image creative.
            ImageCreative imageCreative = new ImageCreative();

            imageCreative.name           = string.Format("Image creative #{0}", GetTimeStamp());
            imageCreative.advertiserId   = advertiserId;
            imageCreative.destinationUrl = "http://www.google.com";
            imageCreative.size           = size;

            // Create image asset.
            CreativeAsset creativeAsset = new CreativeAsset();

            creativeAsset.fileName       = "image.jpg";
            creativeAsset.assetByteArray = MediaUtilities.GetAssetDataFromUrl(
                "http://www.google.com/intl/en/adwords/select/images/samples/inline.jpg");
            creativeAsset.size = size;
            imageCreative.primaryImageAsset = creativeAsset;

            return(creativeService.createCreatives(new Creative[] { imageCreative })[0]);
        }
예제 #3
0
        /// <summary>
        /// Run the code example.
        /// </summary>
        public void Run(AdManagerUser user)
        {
            using (CreativeService creativeService = user.GetService <CreativeService>())
            {
                // Set the ID of the advertiser (company) that all creatives will be
                // assigned to.
                long advertiserId = long.Parse(_T("INSERT_ADVERTISER_COMPANY_ID_HERE"));

                // Create a video creative.
                VideoCreative videoCreative = new VideoCreative()
                {
                    name           = string.Format("Video creative #{0}", new Random().Next(int.MaxValue)),
                    advertiserId   = advertiserId,
                    destinationUrl = "https://www.google.com",
                    videoSourceUrl =
                        "https://storage.googleapis.com/interactive-media-ads/media/android.mp4",
                    duration = 115000,
                    size     = new Size()
                    {
                        width  = 640,
                        height = 360
                    }
                };

                try
                {
                    // Create the video creative on the server.
                    Creative[] videoCreatives =
                        creativeService.createCreatives(new VideoCreative[] { videoCreative });

                    if (videoCreatives != null)
                    {
                        foreach (Creative creative in videoCreatives)
                        {
                            // Use "is" operator to determine what type of creative was
                            // returned.
                            if (creative is VideoCreative)
                            {
                                Console.WriteLine(
                                    "A video creative with ID ='{0}' and name ='{1}' " +
                                    "was created and can be previewed at: {2}",
                                    creative.id,
                                    creative.name,
                                    ((VideoCreative)creative).vastPreviewUrl);
                            }
                        }
                    }
                    else
                    {
                        Console.WriteLine("No creatives created.");
                    }
                }
                catch (Exception e)
                {
                    Console.WriteLine("Failed to create creatives. Exception says \"{0}\"",
                                      e.Message);
                }
            }
        }
예제 #4
0
        /// <summary>
        /// Run the code example.
        /// </summary>
        public void Run(DfpUser user)
        {
            using (CreativeService creativeService =
                       (CreativeService)user.GetService(DfpService.v201711.CreativeService)) {
                long creativeId = long.Parse(_T("INSERT_IMAGE_CREATIVE_ID_HERE"));

                // Create a statement to get the image creative.
                StatementBuilder statementBuilder = new StatementBuilder()
                                                    .Where("id = :id")
                                                    .OrderBy("id ASC")
                                                    .Limit(StatementBuilder.SUGGESTED_PAGE_LIMIT)
                                                    .AddValue("id", creativeId);

                try {
                    // Get the creative.
                    CreativePage page = creativeService.getCreativesByStatement(
                        statementBuilder.ToStatement());

                    if (page.results != null)
                    {
                        ImageCreative imageCreative = (ImageCreative)page.results[0];
                        // Since we cannot set id to null, we mark it as not specified.
                        imageCreative.idSpecified = false;

                        imageCreative.advertiserId = imageCreative.advertiserId;
                        imageCreative.name         = imageCreative.name + " (Copy #" + GetTimeStamp() + ")";

                        // Create image asset.
                        CreativeAsset creativeAsset = new CreativeAsset();
                        creativeAsset.fileName       = "image.jpg";
                        creativeAsset.assetByteArray = MediaUtilities.GetAssetDataFromUrl(
                            imageCreative.primaryImageAsset.assetUrl);

                        creativeAsset.size = imageCreative.primaryImageAsset.size;
                        imageCreative.primaryImageAsset = creativeAsset;

                        // Create the copied creative.
                        Creative[] creatives = creativeService.createCreatives(
                            new Creative[] { imageCreative });

                        // Display copied creatives.
                        foreach (Creative copiedCreative in creatives)
                        {
                            Console.WriteLine("Image creative with ID \"{0}\", name \"{1}\", and type \"{2}\" " +
                                              "was created and can be previewed at {3}", copiedCreative.id,
                                              copiedCreative.name, copiedCreative.GetType().Name, copiedCreative.previewUrl);
                        }
                    }
                    else
                    {
                        Console.WriteLine("No creatives were copied.");
                    }
                } catch (Exception e) {
                    Console.WriteLine("Failed to copy creatives. Exception says \"{0}\"", e.Message);
                }
            }
        }
        public void TestCreateCreatives()
        {
            // Create an array to store local image creative objects.
            Creative[] imageCreatives = new ImageCreative[2];

            for (int i = 0; i < 2; i++)
            {
                // Create creative size.
                Size size = new Size();
                size.width  = 300;
                size.height = 250;

                // Create an image creative.
                ImageCreative imageCreative = new ImageCreative();
                imageCreative.name           = string.Format("Image creative #{0}", i);
                imageCreative.advertiserId   = advertiserId;
                imageCreative.destinationUrl = "http://www.google.com";
                imageCreative.size           = size;

                // Create image asset.
                CreativeAsset creativeAsset = new CreativeAsset();
                creativeAsset.fileName       = "image.jpg";
                creativeAsset.assetByteArray = MediaUtilities.GetAssetDataFromUrl(
                    "http://www.google.com/intl/en/adwords/select/images/samples/inline.jpg");
                creativeAsset.size = size;
                imageCreative.primaryImageAsset = creativeAsset;

                imageCreatives[i] = imageCreative;
            }

            Creative[] newCreatives = null;

            Assert.DoesNotThrow(delegate() {
                newCreatives = creativeService.createCreatives(imageCreatives);
            });

            Assert.NotNull(newCreatives);
            Assert.AreEqual(newCreatives.Length, 2);
            Assert.NotNull(newCreatives[0]);
            Assert.That(newCreatives[0] is ImageCreative);
            Assert.AreEqual(newCreatives[0].advertiserId, advertiserId);
            Assert.AreEqual(newCreatives[0].name, "Image creative #0");
            Assert.NotNull(newCreatives[1]);
            Assert.That(newCreatives[1] is ImageCreative);
            Assert.AreEqual(newCreatives[1].advertiserId, advertiserId);
            Assert.AreEqual(newCreatives[1].name, "Image creative #1");
        }
        /// <summary>
        /// Run the code example.
        /// </summary>
        /// <param name="user">The DFP user object running the code example.</param>
        public override void Run(DfpUser user)
        {
            // Get the CreativeService.
            CreativeService creativeService =
                (CreativeService)user.GetService(DfpService.v201605.CreativeService);

            // Set the ID of the advertiser (company) that the creative will be
            // assigned to.
            long advertiserId = long.Parse(_T("INSERT_ADVERTISER_COMPANY_ID_HERE"));

            // Use the system defined native app install creative template.
            long creativeTemplateId = 10004400L;

            // Create a native app install creative for the Pie Noon app.
            TemplateCreative nativeAppInstallCreative = new TemplateCreative();

            nativeAppInstallCreative.name =
                String.Format("Native creative #{0}", new Random().Next(int.MaxValue));
            nativeAppInstallCreative.advertiserId       = advertiserId;
            nativeAppInstallCreative.creativeTemplateId = creativeTemplateId;
            nativeAppInstallCreative.destinationUrl     =
                "https://play.google.com/store/apps/details?id=com.google.fpl.pie_noon";

            // Use 1x1 as the size for native creatives.
            Size size = new Size();

            size.width                    = 1;
            size.height                   = 1;
            size.isAspectRatio            = false;
            nativeAppInstallCreative.size = size;

            List <BaseCreativeTemplateVariableValue> templateVariables =
                new List <BaseCreativeTemplateVariableValue>();

            // Set the headline.
            templateVariables.Add(new StringCreativeTemplateVariableValue()
            {
                uniqueName = "Headline",
                value      = "Pie Noon"
            });

            // Set the body text.
            templateVariables.Add(new StringCreativeTemplateVariableValue()
            {
                uniqueName = "Body",
                value      = "Try multi-screen mode!"
            });

            // Set the image asset.
            templateVariables.Add(new AssetCreativeTemplateVariableValue()
            {
                uniqueName = "Image",
                asset      = new CreativeAsset()
                {
                    fileName       = String.Format("image{0}.png", this.GetTimeStamp()),
                    assetByteArray = MediaUtilities.GetAssetDataFromUrl("https://lh4.ggpht.com/"
                                                                        + "GIGNKdGHMEHFDw6TM2bgAUDKPQQRIReKZPqEpMeEhZOPYnTdOQGaSpGSEZflIFs0iw=h300")
                }
            });

            // Set the price.
            templateVariables.Add(new StringCreativeTemplateVariableValue()
            {
                uniqueName = "Price",
                value      = "Free"
            });

            // Set app icon image asset.
            templateVariables.Add(new AssetCreativeTemplateVariableValue()
            {
                uniqueName = "Appicon",
                asset      = new CreativeAsset()
                {
                    fileName       = String.Format("icon{0}.png", this.GetTimeStamp()),
                    assetByteArray = MediaUtilities.GetAssetDataFromUrl("https://lh6.ggpht.com/"
                                                                        + "Jzvjne5CLs6fJ1MHF-XeuUfpABzl0YNMlp4RpHnvPRCIj4--eTDwtyouwUDzVVekXw=w300")
                }
            });

            // Set the call to action text.
            templateVariables.Add(new StringCreativeTemplateVariableValue()
            {
                uniqueName = "Calltoaction",
                value      = "Install"
            });

            // Set the star rating.
            templateVariables.Add(new StringCreativeTemplateVariableValue()
            {
                uniqueName = "Starrating",
                value      = "4"
            });

            // Set the store type.
            templateVariables.Add(new StringCreativeTemplateVariableValue()
            {
                uniqueName = "Store",
                value      = "Google Play"
            });

            // Set the deep link URL.
            templateVariables.Add(new UrlCreativeTemplateVariableValue()
            {
                uniqueName = "DeeplinkclickactionURL",
                value      = "market://details?id=com.google.fpl.pie_noon"
            });

            nativeAppInstallCreative.creativeTemplateVariableValues = templateVariables.ToArray();

            try {
                // Create the native creative on the server.
                Creative[] createdNativeCreatives = creativeService.createCreatives(
                    new Creative[] { nativeAppInstallCreative });

                foreach (Creative createdNativeCreative in createdNativeCreatives)
                {
                    Console.WriteLine("A native creative with ID \"{0}\" and name \"{1}\" " +
                                      "was created and can be previewed at {2}", createdNativeCreative.id,
                                      createdNativeCreative.name, createdNativeCreative.previewUrl);
                }
            } catch (Exception e) {
                Console.WriteLine("Failed to create creatives. Exception says \"{0}\"", e.Message);
            }
        }
예제 #7
0
        /// <summary>
        /// Run the code example.
        /// </summary>
        public void Run(AdManagerUser user)
        {
            using (CreativeService creativeService = user.GetService <CreativeService>())
            {
                // Set the ID of the advertiser (company) that all creatives will be
                // assigned to.
                long advertiserId = long.Parse(_T("INSERT_ADVERTISER_COMPANY_ID_HERE"));

                // Create an array to store local image creative objects.
                Creative[] imageCreatives = new ImageCreative[5];

                for (int i = 0; i < 5; i++)
                {
                    // Create creative size.
                    Size size = new Size();
                    size.width  = 300;
                    size.height = 250;

                    // Create an image creative.
                    ImageCreative imageCreative = new ImageCreative();
                    imageCreative.name           = string.Format("Image creative #{0}", i);
                    imageCreative.advertiserId   = advertiserId;
                    imageCreative.destinationUrl = "http://www.google.com";
                    imageCreative.size           = size;

                    // Create image asset.
                    CreativeAsset creativeAsset = new CreativeAsset();
                    creativeAsset.fileName       = "image.jpg";
                    creativeAsset.assetByteArray =
                        MediaUtilities.GetAssetDataFromUrl("https://goo.gl/3b9Wfh", user.Config);
                    creativeAsset.size = size;
                    imageCreative.primaryImageAsset = creativeAsset;

                    imageCreatives[i] = imageCreative;
                }

                try
                {
                    // Create the image creatives on the server.
                    imageCreatives = creativeService.createCreatives(imageCreatives);

                    if (imageCreatives != null)
                    {
                        foreach (Creative creative in imageCreatives)
                        {
                            // Use "is" operator to determine what type of creative was
                            // returned.
                            if (creative is ImageCreative)
                            {
                                ImageCreative imageCreative = (ImageCreative)creative;
                                Console.WriteLine(
                                    "An image creative with ID ='{0}', name ='{1}' and size = " +
                                    "({2},{3}) was created and can be previewed at: {4}",
                                    imageCreative.id, imageCreative.name, imageCreative.size.width,
                                    imageCreative.size.height, imageCreative.previewUrl);
                            }
                            else
                            {
                                Console.WriteLine(
                                    "A creative with ID ='{0}', name='{1}' and type='{2}' " +
                                    "was created.", creative.id, creative.name,
                                    creative.GetType().Name);
                            }
                        }
                    }
                    else
                    {
                        Console.WriteLine("No creatives created.");
                    }
                }
                catch (Exception e)
                {
                    Console.WriteLine("Failed to create creatives. Exception says \"{0}\"",
                                      e.Message);
                }
            }
        }
예제 #8
0
        /// <summary>
        /// Run the code example.
        /// </summary>
        public void Run(DfpUser user)
        {
            using (CreativeService creativeService =
                       (CreativeService)user.GetService(DfpService.v201805.CreativeService)) {
                // Set the ID of the advertiser (company) that all creative will be
                // assigned to.
                long advertiserId = long.Parse(_T("INSERT_ADVERTISER_COMPANY_ID_HERE"));

                // Use the image banner with optional third party tracking template.
                long creativeTemplateId = 10000680L;

                // Create the local custom creative object.
                TemplateCreative templateCreative = new TemplateCreative();
                templateCreative.name               = "Template creative";
                templateCreative.advertiserId       = advertiserId;
                templateCreative.creativeTemplateId = creativeTemplateId;

                // Set the creative size.
                Size size = new Size();
                size.width         = 300;
                size.height        = 250;
                size.isAspectRatio = false;

                templateCreative.size = size;

                // Create the asset variable value.
                AssetCreativeTemplateVariableValue assetVariableValue =
                    new AssetCreativeTemplateVariableValue();
                assetVariableValue.uniqueName = "Imagefile";
                CreativeAsset asset = new CreativeAsset();
                asset.assetByteArray = MediaUtilities.GetAssetDataFromUrl("https://goo.gl/3b9Wfh",
                                                                          user.Config);
                asset.fileName           = String.Format("image{0}.jpg", this.GetTimeStamp());
                assetVariableValue.asset = asset;

                // Create the image width variable value.
                LongCreativeTemplateVariableValue imageWidthVariableValue =
                    new LongCreativeTemplateVariableValue();
                imageWidthVariableValue.uniqueName = "Imagewidth";
                imageWidthVariableValue.value      = 300;

                // Create the image height variable value.
                LongCreativeTemplateVariableValue imageHeightVariableValue =
                    new LongCreativeTemplateVariableValue();
                imageHeightVariableValue.uniqueName = "Imageheight";
                imageHeightVariableValue.value      = 250;

                // Create the URL variable value.
                UrlCreativeTemplateVariableValue urlVariableValue = new UrlCreativeTemplateVariableValue();
                urlVariableValue.uniqueName = "ClickthroughURL";
                urlVariableValue.value      = "www.google.com";

                // Create the target window variable value.
                StringCreativeTemplateVariableValue targetWindowVariableValue =
                    new StringCreativeTemplateVariableValue();
                targetWindowVariableValue.uniqueName = "Targetwindow";
                targetWindowVariableValue.value      = "_blank";

                templateCreative.creativeTemplateVariableValues = new BaseCreativeTemplateVariableValue[] {
                    assetVariableValue, imageWidthVariableValue, imageHeightVariableValue, urlVariableValue,
                    targetWindowVariableValue
                };

                try {
                    // Create the template creative on the server.
                    Creative[] createdTemplateCreatives = creativeService.createCreatives(
                        new Creative[] { templateCreative });

                    foreach (Creative createdTemplateCreative in createdTemplateCreatives)
                    {
                        Console.WriteLine("A template creative with ID \"{0}\", name \"{1}\", and type " +
                                          "\"{2}\" was created and can be previewed at {3}", createdTemplateCreative.id,
                                          createdTemplateCreative.name, createdTemplateCreative.GetType().Name,
                                          createdTemplateCreative.previewUrl);
                    }
                } catch (Exception e) {
                    Console.WriteLine("Failed to create creatives. Exception says \"{0}\"", e.Message);
                }
            }
        }
        /// <summary>
        /// Run the code example.
        /// </summary>
        /// <param name="user">The DFP user object running the code example.</param>
        public override void Run(DfpUser user)
        {
            // Get the CreativeService.
            CreativeService creativeService =
                (CreativeService)user.GetService(DfpService.v201311.CreativeService);

            long[] creativeIds = new long[] { long.Parse(_T("INSERT_IMAGE_CREATIVE_ID_HERE")) };

            // Build a comma separated list of creativeIds. Note that if you are using
            // .NET 4.0 or above, you could use the newly introduced
            // String.Join<T>(string separator, IEnumerable<T> values) method to
            // perform this task.
            string[] creativeIdTexts = new string[creativeIds.Length];
            for (int i = 0; i < creativeIdTexts.Length; i++)
            {
                creativeIdTexts[i] = creativeIds[i].ToString();
            }

            string commaSeparatedCreativeIds = string.Join(",", creativeIdTexts);

            // Create the statement to filter image creatives by id.
            Statement statement = new StatementBuilder(
                string.Format("WHERE id IN ({0}) and creativeType = :creativeType LIMIT 500",
                              commaSeparatedCreativeIds)).AddValue("creativeType", "ImageCreative").
                                  ToStatement();

            try {
                // Retrieve all creatives which match.
                CreativePage page = creativeService.getCreativesByStatement(statement);

                if (page.results != null)
                {
                    Creative[] creatives = page.results;
                    long[]     oldIds    = new long[creatives.Length];
                    for (int i = 0; i < creatives.Length; i++)
                    {
                        ImageCreative imageCreative = (ImageCreative)creatives[i];
                        oldIds[i] = imageCreative.id;
                        // Since we cannot set id to null, we mark it as not specified.
                        imageCreative.idSpecified = false;

                        imageCreative.advertiserId = imageCreative.advertiserId;
                        imageCreative.name         = imageCreative.name + " (Copy #" + GetTimeStamp() + ")";

                        // Create image asset.
                        CreativeAsset creativeAsset = new CreativeAsset();
                        creativeAsset.fileName       = "image.jpg";
                        creativeAsset.assetByteArray = MediaUtilities.GetAssetDataFromUrl(
                            imageCreative.primaryImageAsset.assetUrl);

                        creativeAsset.size = imageCreative.primaryImageAsset.size;
                        imageCreative.primaryImageAsset = creativeAsset;

                        creatives[i] = imageCreative;
                    }

                    // Create the copied creative.
                    creatives = creativeService.createCreatives(creatives);

                    // Display copied creatives.
                    for (int i = 0; i < creatives.Length; i++)
                    {
                        Console.WriteLine("Image creative with ID \"{0}\" copied to ID \"{1}\".", oldIds[i],
                                          creatives[i].id);
                    }
                }
                else
                {
                    Console.WriteLine("No creatives were copied.");
                }
            } catch (Exception ex) {
                Console.WriteLine("Failed to copy creatives. Exception says \"{0}\"", ex.Message);
            }
        }