Skip to content

Latest commit

 

History

History
123 lines (79 loc) · 7.31 KB

dip-0001.md

File metadata and controls

123 lines (79 loc) · 7.31 KB

DIP-0001: Ad Parameters and Integrations

Abstract

DSponsor revolutionizes the advertising sector by tokenizing ad spaces, allowing sponsors to acquire Non-Fungible Tokens (NFTs) that grant the exclusive right to submit advertising content. This innovative model necessitates clear and precise specifications for ad submissions to ensure the types of ads that can be submitted, their formats, and their integration methods are well understood. This document aims to establish a comprehensive set of standards for ad content and integration practices within the DSponsor ecosystem, marking the foundation for future enhancements.

This document serves as a foundational framework, outlining the initial specifications necessary for launching the first implementations within the DSponsor ecosystem. It is intended to provide a solid starting point from which further enhancements and refinements can be developed, based on practical experience and evolving needs. This is just the beginning, with the anticipation of continued growth and adaptation as we move forward.

Key Objectives

  • Standardization of Ad Parameters: Establish a uniform set of properties for ads to facilitate seamless integration and optimal performance across different viewing contexts.

  • Ad Integration Guidelines: Outline the composition form of ad properties to embed ads within the DSponsor ecosystem.

Definitions

Ad parameter

Specifies one of the characteristics and requirements of an ad. It includes details like the URL of the ad image, the destination URL for user redirection upon interaction, and identifiers for promoted content or entities. adParameters are crucial for tailoring ad content to meet the strategic goals of the campaign, ensuring that ads are both appealing and functional across various platforms and devices. Variants within these parameters allow for further customization, catering to specific format, size, and protocol requirements.

Ad integration

Refers to the specific configuration or placement of advertisements. It outlines the mechanism through which ads are integrated into different platforms and mediums, such as newsletters, web applications, and mobile apps developed with React Native.

Variants

Ad parameters and integrations slugs can be extended to provide additional specificity and flexibility. Variants are extensions denoted by a hyphen (-) followed by specific criteria, enabling to tailor ads more precisely according to size, aspect ratio, format, or protocol.

Specifications

adParameters

Below is a detailed explanation of a first ad parameters list and its variants. Ad parameters are crucial for defining the properties and characteristics of advertisements.

imageURL

  • Description: This field specifies the URL for the ad image, serving as a visual representation to capture viewers' attention.
  • Variants:
    • Fixed Size: Specifies the required image fixed size. Refer to IAB's standard ad sizes.
      • Exemple: imageURL-320x50 indicates a fixed image size of 320x50 pixels, aligning with IAB's standard ad sizes.
    • Image Ratio: Specifies the required image ratio for consistency across platforms.
      • Exemple: imageURL-1:1 specifies an image ratio of 1:1, ensuring consistency across different platforms.
    • Protocol: Limits the image source to IPFS or HTTPS protocols.
      • Exemple: imageURL-ipfs limits the image source to the IPFS protocol for secure and reliable delivery.
    • Format: Constrains the image to specific formats for optimized loading.
    • Protocol: Limits the image source to IPFS or HTTPS protocols.
      • Exemple: imageURL-jpg restricts the image to the JPEG format for optimized loading times.

text

  • Description: This field specifies the text content, which can be formatted in various types to fit the required use case. It also enforces a maximum character limit to ensure concise communication and compatibility across platforms.
  • Variants:
    • Text Type: Specifies the format or style of the text content.
      • Example: text-markdown indicates that the text is formatted in Markdown, allowing structured content like headings, links, and lists.
    • Maximum Character Count: Sets the maximum number of characters for the text to ensure brevity.
      • Example: text-markdown-50 limits the text to 50 characters, formatted using Markdown syntax. text-plain-100 limits the text to 100 characters without any formatting.
    • Language Constraint: Ensures the text conforms to specific languages for localization.
      • Example: text-markdown-200-en limits the text to 200 characters, formatted in Markdown, and restricted to English.

linkURL

  • Description: Defines the destination URL to direct users upon ad interaction.
  • Validation RegExp: ^https:\/\/[^\[\s()<>]+(?:\([\w\d]+\)|([^[:punct:]\s]|\/))$

xCreatorHandle

  • Description: Identifies the X (Twitter) handle of the promoted individual or entity.
  • Validation RegExp: ^@[A-Za-z0-9_]{1,15}$

xSpaceId

  • Description: Indicates the unique ID for a promoted X (Twitter) Space.
  • Validation RegExp: ^\d[A-Za-z\d]{12}$

adIntegrations

Below is a detailed explanation of a first ad integrations list. Each integration is tailored for specific ad parameters and platforms.

DynamicBanner

  • Description: Features a dynamic clickable banner showcasing a random NFT's associated image and URL.
  • Ad Parameters: imageURL-[ratio], linkURL (Both required, default ratio: 6.4:1)
  • Compatible Platforms: Newsletter, React Native, Web

ClickableLogosGrid

  • Description: Displays a grid of clickable logos, each linking to a URL.
  • Ad Parameters: imageURL-[ratio], linkURL (Both required, default ratio: 1:1)
  • Compatible Platforms: Newsletter, React Native, Web

LogosGrid

  • Description: Shows a static grid of logos.
  • Ad Parameters: imageURL-[ratio] (Default ratio: 1:1)
  • Compatible Platforms: Newsletter, Print, React Native, Web

xCreatorHighlight

  • Description: Promotes a user by displaying their X (Twitter) handle and image.
  • Ad Parameters: xCreatorHandle (Required)
  • Compatible Platforms: Newsletter, React Native, Web

xSpaceHighlight

  • Description: Promotes an X (Twitter) Space by displaying the host's handle and the Space title.
  • Ad Parameters: xSpaceId (Required)
  • Compatible Platforms: React Native, Web

Integration Variants

Integrations specify how and where ads are displayed within the ecosystem, with certain integrations supporting variants to adapt ads contextually or according to platform-specific requirements.

fromContext

  • Description: Displays ads contextually relevant to the user, determined by factors like the user's search query
  • Variation Inputs: Need to specify the token ID(s) to use for contextual ad display.
  • Example of Integration with Variant: DynamicBanner-fromContext in a search page
    • Base Integration: Displays a dynamic clickable banner showcasing an NFT's associated image and URL.
    • Variant: Adjusts the eligible tokens to take into account in the random selection from the current search query.

Final notes

This document lays the groundwork with initial specifications for ad integrations, signaling the start of an expansive journey. As this is just the beginning, there is a collective invitation for everyone to extend, innovate, and reimagine the possibilities of advertising with the DSponsor protocol.