Android · Schema

SubscriptionOffer

A subscription offer represents special pricing for a subscription, such as a free trial or introductory price.

AIAndroidAutomotiveGoogleMachine LearningMobile DevelopmentSDKTVWearables

Properties

Name Type Description
packageName string The package name of the parent app.
productId string The product ID of the parent subscription.
basePlanId string The base plan ID the offer is associated with.
offerId string The unique identifier for this offer.
state string The current state of the offer.
phases array The pricing phases for this offer. Each phase defines a pricing period with its own duration and price.
targeting object Targeting rules for the offer.
regionalConfigs array Regional configuration for this offer.
offerTags array Custom tags for this offer.
View JSON Schema on GitHub

JSON Schema

android-subscriptionoffer-schema.json Raw ↑
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "#/components/schemas/SubscriptionOffer",
  "title": "SubscriptionOffer",
  "type": "object",
  "description": "A subscription offer represents special pricing for a subscription, such as a free trial or introductory price.",
  "properties": {
    "packageName": {
      "type": "string",
      "description": "The package name of the parent app.",
      "readOnly": true,
      "example": "example_value"
    },
    "productId": {
      "type": "string",
      "description": "The product ID of the parent subscription.",
      "readOnly": true,
      "example": "500123"
    },
    "basePlanId": {
      "type": "string",
      "description": "The base plan ID the offer is associated with.",
      "readOnly": true,
      "example": "500123"
    },
    "offerId": {
      "type": "string",
      "description": "The unique identifier for this offer.",
      "readOnly": true,
      "example": "500123"
    },
    "state": {
      "type": "string",
      "description": "The current state of the offer.",
      "enum": [
        "STATE_UNSPECIFIED",
        "DRAFT",
        "ACTIVE",
        "INACTIVE"
      ],
      "readOnly": true,
      "example": "STATE_UNSPECIFIED"
    },
    "phases": {
      "type": "array",
      "description": "The pricing phases for this offer. Each phase defines a pricing period with its own duration and price.",
      "items": {
        "$ref": "#/components/schemas/SubscriptionOfferPhase"
      },
      "example": []
    },
    "targeting": {
      "type": "object",
      "description": "Targeting rules for the offer.",
      "properties": {
        "acquisitionRule": {
          "type": "object",
          "description": "Offer available to users who have never had this subscription.",
          "properties": {
            "scope": {
              "type": "object",
              "properties": {
                "anySubscriptionInApp": {
                  "type": "object"
                },
                "specificSubscriptionInApp": {
                  "type": "string"
                }
              }
            }
          }
        },
        "upgradeRule": {
          "type": "object",
          "description": "Offer available to users upgrading from another plan.",
          "properties": {
            "billingPeriodDuration": {
              "type": "string"
            },
            "oncePerUser": {
              "type": "boolean"
            }
          }
        }
      },
      "example": "example_value"
    },
    "regionalConfigs": {
      "type": "array",
      "description": "Regional configuration for this offer.",
      "items": {
        "type": "object",
        "properties": {
          "regionCode": {
            "type": "string"
          },
          "newSubscriberAvailability": {
            "type": "boolean"
          }
        }
      },
      "example": []
    },
    "offerTags": {
      "type": "array",
      "description": "Custom tags for this offer.",
      "items": {
        "type": "object",
        "properties": {
          "tag": {
            "type": "string"
          }
        }
      },
      "example": []
    }
  }
}