Documentation

Development

User Acquisition

Monetization

Industry

Unity Offerwall

Offerwall Android SDK

Offerwall iOS SDK

Offerwall Unity SDK

Unity Offerwall

Tapjoy Offerwall
​
​
Getting Started
  • Access the Tapjoy Offerwall monetization dashboard
  • Get started with Offerwall
  • Promoting Offerwall in Unity Ads
  • App setup
Dashboard
  • AB testing
  • Currency sales
  • Exchange rates
  • Messaging
  • Offerwall cards
  • Placements
  • Publisher customer service tool
  • Targeting
  • Metrics reference
Optimization
  • Monetization strategy planning
APIs
  • API authentication
  • Reporting API publisher
  • Reporting API best practices
  • Content management
  • User level revenue API overview
Virtual Currency
  • Virtual currency overview
  • Self-managed currency
  • Tapjoy-managed currency
  • Troubleshoot callback failures
Other
  • Offerwall Monetization Dashboard user roles and permissions
  • Troubleshooting
  • App privacy - iOS
  • Data safety - Android
  • FAQs
  1. Grow your game
  2. Unity Offerwall
  3. Offerwall monetization

Content management

Use the Tapjoy Offerwall Reporting API to manage your Offerwall configurations efficiently, such as your apps, content cards, placements, and virtual currencies.
Read time 4 minutes
Last updated 3 months ago

The Reporting API can be used to manage your content and review the configuration details of your events and ad sets.

Prerequisites

You must authenticate with the API. Refer to API authentication.
  • For information on retrieving reporting data through the Reporting API, refer to Reporting API - Publisher.
  • For information on error handling and limitations with the Reporting API, refer to Reporting API Best Practices.

Manage your apps

Add your apps

This is the app you'll be monetizing with the Offerwall. You can also add an app in the dashboard. For more information, refer to Offerwall setup guide.
Note
Your app does not need to be live in the App Store or Google Play store to complete this step (the storeUrl parameter is optional).
References: createPublisherApp mutation
The following mutations create a new publisher app, with and without a store URL.
mutation createPublisherAppWithStoreUrl { createPublisherApp(input: { name: "App Created With Store URL", platform: ANDROID, storeUrl: "https://play.google.com/store/apps/details?id=com.tapjoy.tapout&gl=us", orientation: PORTRAIT }) { app { id name timezone realWorldCurrency } }}mutation createPublisherAppWithoutStoreUrl { createPublisherApp(input: { name: "App Created WithOUT Store URL", platform: ANDROID, orientation: PORTRAIT, currency: KRW, timezone: TOKYO_SEOUL }) { app { id name timezone realWorldCurrency } }}

Look up app and placement information

Review the placement information of your apps, such as the placement ID, contents, and description.
References: Publisher#apps field, PublisherApp type
The following query returns up to 50 apps with their IDs, names, and associated placement details.
query { publisher{ apps(first: 50){ edges{ node{ id name placements{ id name mediationName } } } pageInfo { endCursor hasNextPage } } }}
The response returns a list of apps and their placements, with pagination info indicating whether more results are available.
{ "data": { "publisher": { "apps": { "edges": [ { "node": { "id": "00000000-0000-0000-0000-000000000000", "name": "XXX YYY ZZZ", "placements": [ { "id": "00000000-0000-0000-0000-000000000000", "name": "XXX YYY ZZZ", "mediationName": null }, { "id": "00000000-0000-0000-0000-000000000000", "name": "XXX YYY ZZZ", "mediationName": null }, { "id": "00000000-0000-0000-0000-000000000000", "name": "XXX YYY ZZZ", "mediationName": "ironsource" }, { "id": "00000000-0000-0000-0000-000000000000", "name": "XXX YYY ZZZ", "mediationName": null } ] } }, { "node": { "id": "00000000-0000-0000-0000-000000000000", "name": "XXX YYY ZZZ", "placements": [] } } ], "pageInfo": { "endCursor": "Mg", "hasNextPage": true } } } }}

Look up placement information for a specific app ID

References: Publisher#placements field, Placement type
The following query returns all placements for a specific app, including their IDs, names, and mediation names.
query { publisher{ placements(appId: "00000000-0000-0000-0000-000000000000"){ id name mediationName } }}
The response returns a list of placements configured for the specified app.
{ "data": { "publisher": { "placements": [ { "id": "00000000-0000-0000-0000-000000000000", "name": "AppLaunch", "mediationName": null }, { "id": "00000000-0000-0000-0000-000000000000", "name": "InsufficientCurrency", "mediationName": null }, ] } }}

Manage your placements and content cards

A placement is a specific area in your app where the Offerwall can be displayed. A content card defines the types of ads to show at a given placement.

Create placements and content cards

You can create placements and content cards in the dashboard. For more information, refer to Placements and Offerwall cards setup, respectively.
References: createPlacementsAndContents mutation
The following mutation creates a new placement and its associated content card for a specified app.
mutation createPlacementAndContent { createPlacementsAndContents(input: {entries: [ { appId: "<PASTE_YOUR_APP_ID_HERE>", placementName: "Placement from API" } ]}) { placements { id name description contents { id name type isSkippable } } }}

Look up content card configuration

See information such as the content card ID, type, and the status of any configured A/B testing.
References: Placement#contents field, ContentCard type
The following query returns all placements and their associated content cards for a specific app.
query { publisher { placements (appId:"00000000-0000-0000-0000-000000000000") { id name contents { id name } } }}
The response returns each placement with its configured content cards.
{ "data": { "publisher": { "placements": [ { "id": "00000000-0000-0000-0000-000000000000", "name": "AppLaunch", "contents": [ { "id": "00000000-0000-0000-0000-000000000000", "name": "Content for AppLaunch testing by Tapjoy" }, { "id": "00000000-0000-0000-0000-000000000000", "name": "Content for testing placement by Tapjoy" } ] }, { "id": "00000000-0000-0000-0000-000000000000", "name": "InsufficientCurrency", "contents": [ { "id": "00000000-0000-0000-0000-000000000000", "name": "Content for InsufficientCurrency testing by Tapjoy" }, { "id": "00000000-0000-0000-0000-000000000000", "name": "Content for testing placement by Tapjoy" } ] } ] } }}

Manage your virtual currency

Virtual currency is required in order to monetize with Tapjoy. You should provide the app ID, a currency name, an exchange rate, and a maturity.
For more information, refer to Virtual currency overview.

Create virtual currency

To perform this action in the API, you should provide the app ID, a currency name, an exchange rate, and a maturity. You can also create a virtual currency in the dashboard.
References: createCurrency mutation
The following mutation creates a new virtual currency for a specified app, setting its exchange rate and maturity level.
mutation createCurrency { createCurrency(input: { appId: "<PASTE_YOUR_APP_ID_HERE>", name: "New Virtual Currency", exchangeRate: 100, maturity: MEDIUM }) { currency { id name exchangeRate initialBalance maturity } }}

Update a virtual currency

Virtual currencies can also be updated, using the mutation below. References: updateCurrency mutation
The following mutation updates an existing virtual currency's name, maturity level, and initial balance.
mutation updateCurrency { updateCurrency(input: { id: "<CURRENCY_ID>", maturity: HIGH, name: "Shell Bells", initialBalance: 100 }) { currency { id name exchangeRate initialBalance maturity callbackUrl } }}

Copyright © 2026 Unity Technologies
LegalPrivacy PolicyCookiesDocumentation Terms of UseDo Not Sell or Share My Personal InformationYour Privacy Choices (Cookie Settings)

"Unity", Unity logos, and other Unity trademarks are trademarks or registered trademarks of Unity Technologies or its affiliates in the U.S and elsewhere (more info here). Other names or brands are trademarks of their respective owners.

Some pages are machine-translated for convenience, and may contain inaccuracies. In the event of conflicting information, the English version is authoritative.

  • On this page
    • Prerequisites

    • Manage your apps

      • Add your apps

      • Look up app and placement information

      • Look up placement information for a specific app ID

    • Manage your placements and content cards

      • Create placements and content cards

      • Look up content card configuration

    • Manage your virtual currency

      • Create virtual currency

      • Update a virtual currency


Report a problem with this page
​
​