/// <summary>
        /// Run the code example.
        /// </summary>
        /// <param name="dfpUser">The DFP user object running the code example.</param>
        public void Run(DfpUser dfpUser)
        {
            NativeStyleService NativeStyleService =
                (NativeStyleService)dfpUser.GetService(DfpService.v201702.NativeStyleService);

            // Create a statement to select NativeStyles.
            int pageSize = StatementBuilder.SUGGESTED_PAGE_LIMIT;
            StatementBuilder statementBuilder = new StatementBuilder()
                                                .OrderBy("id ASC")
                                                .Limit(pageSize);

            // Retrieve a small amount of native styles at a time, paging through until all
            // native styles have been retrieved.
            int totalResultSetSize = 0;

            do
            {
                NativeStylePage page = NativeStyleService.getNativeStylesByStatement(
                    statementBuilder.ToStatement());

                // Print out some information for each native style.
                if (page.results != null)
                {
                    totalResultSetSize = page.totalResultSetSize;
                    int i = page.startIndex;
                    foreach (NativeStyle nativeStyle in page.results)
                    {
                        Console.WriteLine(
                            "{0}) Native style with ID {1} and name \"{2}\" was found.",
                            i++,
                            nativeStyle.id,
                            nativeStyle.name
                            );
                    }
                }

                statementBuilder.IncreaseOffsetBy(pageSize);
            } while (statementBuilder.GetOffset() < totalResultSetSize);

            Console.WriteLine("Number of results found: {0}", totalResultSetSize);
        }
Пример #2
0
        /// <summary>
        /// Run the code example.
        /// </summary>
        public void Run(DfpUser user)
        {
            using (NativeStyleService nativeStyleService =
                       (NativeStyleService)user.GetService(DfpService.v201802.NativeStyleService)) {
                // This value is typically loaded from a file or other resource.
                string htmlSnippet = @"<div id=""adunit"" style=""overflow: hidden;"">
  <img src=""[%Thirdpartyimpressiontracker%]"" style=""display:none"">
  <div class=""attribution"">Ad</div>
  <div class=""image"">
    <a class=""image-link""
        href=""%%CLICK_URL_UNESC%%[%Thirdpartyclicktracker%]%%DEST_URL%%""
        target=""_top"">
      <img src=""[%Image%]"">
    </a>
  </div>
  <div class=""app-icon""><img src=""[%Appicon%]""/></div>
  <div class=""title"">
    <a class=""title-link""
        href=""%%CLICK_URL_UNESC%%[%Thirdpartyclicktracker%]%%DEST_URL%%""
        target=""_top"">[%Headline%]</a>
  </div>
  <div class=""reviews""></div>
  <div class=""body"">
    <a class=""body-link""
        href=""%%CLICK_URL_UNESC%%[%Thirdpartyclicktracker%]%%DEST_URL%%""
        target=""_top"">[%Body%]</a>
  </div>
  <div class=""price"">[%Price%]</div>
  <div class=""button"">
    <a class=""button-link""
        href=""%%CLICK_URL_UNESC%%[%Thirdpartyclicktracker%]%%DEST_URL%%""
        target=""_top"">[%Calltoaction%]</a>
  </div>
</div>";

                string cssSnippet = @"body {
    background-color: rgba(255, 255, 255, 1);
    font-family: ""Roboto - Regular"", sans-serif;
    font - weight: normal;
      font - size: 12px;
      line - height: 14px;
    }
.attribution {
    background-color: rgba(236, 182, 0, 1);
    color: rgba(255, 255, 255, 1);
    font-size: 13px;
    display: table;
    margin: 4px 8px;
    padding: 0 3px;
    border-radius: 2px;
}
.image {
    text-align: center;
    margin: 8px;
}
.image img,
.image-link {
    width: 100%;
}
.app-icon {
    float: left;
    margin: 0 8px 4px 8px;
    height: 40px;
    width: 40px;
    background-color: transparent;
}
.app-icon img {
  height: 100%;
  width: 100%;
  border-radius: 20%;
}
.title,
.promo-headline {
    font-weight: bold;
    font-size: 14px;
    line-height: 20px;
    margin: 8px 8px 4px 8px;
}
.title a,
.promo-headline {
    color: rgba(112, 112, 112, 1);
text-decoration: none;
}
.reviews {
    float: left;
}
.reviews svg {
  fill: rgba(0, 0, 0, 0.7);
}
.body {
    clear: left;
    margin: 8px;
}
.body a {
  color: rgba(110, 110, 110, 1);
  text-decoration: none;
}
.price {
    display: none;
}
.button {
    font-size: 14px;
    font-weight: bold;
    float: right;
    margin: 0px 16px 16px 0px;
    white-space: nowrap;
}
.button a {
  color: #2196F3;
    text-decoration: none;
}
.button svg {
  display: none;
}";

                // Create nativeStyle size.
                Size size = new Size();
                size.width  = 300;
                size.height = 250;

                // Create a native style.
                NativeStyle nativeStyle = new NativeStyle();
                nativeStyle.name        = string.Format("Native style #{0}", new Random().Next());
                nativeStyle.size        = size;
                nativeStyle.htmlSnippet = htmlSnippet;
                nativeStyle.cssSnippet  = cssSnippet;

                // This is the creative template ID for the system-defined native app
                // install ad format, which we will create the native style from. Use
                // CreativeTemplateService.getCreativeTemplatesByStatement() and
                // CreativeTemplate.isNativeEligible to get other native ad formats
                // availablein your network.
                nativeStyle.creativeTemplateId = 10004400;

                try {
                    // Create the native styles on the server.
                    NativeStyle[] nativeStyles =
                        nativeStyleService.createNativeStyles(new NativeStyle[] { nativeStyle });

                    if (nativeStyles != null)
                    {
                        foreach (NativeStyle createdNativeStyle in nativeStyles)
                        {
                            // Print out some information for each created native style.
                            Console.WriteLine("A native style with ID ='{0}' and name='{1}' was created.",
                                              createdNativeStyle.id,
                                              createdNativeStyle.name);
                        }
                    }
                } catch (Exception e) {
                    Console.WriteLine("Failed to create native styles. Exception says \"{0}\"", e.Message);
                }
            }
        }