/// <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); }
/// <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); } } }