Courtesy: GitHub

DoubleClick For Publishers Advanced Native Example

This project is an advanced native ads example intended to show how publishers might construct a list-based user experience (such as a news feed might have) that incorporates multiple native ad formats.

The project uses a single activity that maintains a ListView and an array of items. Most of these items are mocked listings for real estate, which stand in example application data. Placed among the sample listings are AdPlacement objects. These objects us AdFetchers to request ads from DFP Custom Rendering, construct NativeAdView instances to display them, and cache references to individual asset views in AdViewHolders.

Most of the AdPlacement classes handle a single type of ad. The MultiFormatAdPlacement, however, can request and display App Install, Content, and either of two custom template formats.

Prerequisites

  • Android API Level v9 or higher
  • Android Build Tools v22 or higher
  • Google Repository v19 or higher

How to Build

This sample uses the Gradle build system. To build the project, use the "gradlew build" command.

To open this project with Android Studio, use the "Import project" choice in the welcome menu, and select the root directory of the project.

Support

You can see our Developers' site for documentation on using the SDK, and join the developer community on our forum.

License

Copyright 2015 Google Inc.

Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file distributed with this work for additional information regarding copyright ownership. The ASF licenses this file to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

compileSdkVersion 26

applicationId "com.google.example.gms.nativeads"

minSdkVersion 14

targetSdkVersion 26

versionCode 1

versionName "1.0"

compile 'com.android.support:appcompat-v7:26.1.0'

compile 'com.google.android.gms:play-services-ads:11.6.0'

package com.google.example.gms.nativeads

MainActivity

Shows a {@link ListView} with native content ads and native app install ads embedded in it.

A DFP ad unit configured to serve app install and content ads

A DFP ad unit configured to serve a simple custom template ad

A DFP ad unit configured to both of the above in rotation

Index where a DFP content ad should be placed.

Index where a DFP app install ad should be placed.

Index where a DFP custom template ad should be placed

Index where a DFP custom template ad should be placed

The main fragment for real estate listings.

Returns a list of sample listings with native ads embedded. In practice, the listings would typically be fetched from a web service instead of hard-coded.

Generates a sample listing.

The details view for a {@link Listing}.

Create a new instance of {@link ListingDetailsFragment}, initialized with listing content.