Tag Archives: AdMob

Google Mobile Ads SDK for Android: How to migrate to v18.0.0

Earlier this week, Google Play services released a major update to many of its libraries to migrate all Android support library dependencies to Jetpack (using androidx.* packages). This includes the play-services-ads library from the Google Mobile Ads SDK, which has been updated to 18.0.0.

While the Google Mobile Ads SDK itself hasn’t changed between version 17.2.1 and 18.0.0, you’ll need to migrate your own app and all of your dependencies to AndroidX in order to pick up play-services-ads 18.0.0 or any future versions. This is particularly important if you use AdMob mediation, as several mediation partners have dependencies on Android support libraries that aren’t compatible with AndroidX.

To make the migration process as smooth as possible for you, Android Studio offers an easy way to convert your project and its dependencies to AndroidX using the Migrate to AndroidX option.

Migrate to AndroidX

Android Studio 3.2 or higher includes a Refactor > Migrate to AndroidX menu option to convert your project to use AndroidX. We’ll demonstrate what happens when converting our BannerExample to AndroidX.

  1. Change the project’s compileSdkVersion to 28. This is a prerequisite for migrating to AndroidX.
  2. Right click the app module, and select Refactor > Migrate to AndroidX. You’ll be given an option to save your project as a zip file before Android Studio converts it.
  3. Select Do Refactor to complete the migration.

What changed?

Here is the project before the migration:

And here is the project afterwards:

First, you’ll notice that the package name for AppCompatActivity has changed to androidx.appcompat.app. The refactor has changed this project’s com.android.support:appcompat-v7:26.1.0 dependency to androidx.appcompat:appcompat:1.0.0 and fixed the associated imports.

Second, this migration added a gradle.properties file with these two lines:

android.useAndroidX=true
android.enableJetifier=true

These properties ensure your project and its dependencies use AndroidX, by rewriting any binaries that are using an Android support library. See Using AndroidX for more details on these flags.

Now that your project is converted to AndroidX, you can safely update your play-services-ads dependency to 18.0.0 in your project-level build.gradle file:

dependencies {
implementation 'androidx.appcompat:appcompat:1.0.0'
implementation 'com.google.android.gms:play-services-ads:18.0.0'
}

As always, you can follow the release notes to learn what’s changed in the Google Mobile Ads SDK. We’d also love to hear about how your migration went! If you have any questions about the release or have trouble migrating, please reach out to us on the Google Mobile Ads SDK developer forum.

Enhance your digital strategy: Women of Publishing Leadership Series

This summer, we’re excited to introduce the Women of Publishing Leadership Series, brought to you by the Google Partnerships team. This masterclass is an opportunity to enhance your business’ digital strategy through an exclusive, four-part webinar series.

A strong digital presence is necessary for driving growth in your business. But focusing on the success of women-led businesses is even more critical, as women only generate 37% of GDP, while making up half of the world’s working age population. Substantial strides have been made in growing the ranks of women in leadership and ownership and women are rising fast in the income and managerial ranks, at a rate that’s 1.5x the national average.

What you can expect

The Women of Publishing Leadership Series was created to help women leaders develop their skills in digital strategy to propel their business in the digital economy. The content is designed for small and medium-sized digital businesses (<500 employees) that are women-led, display strong female leadership or have a predominantly-female audience.

Participants will have access to a tailored program focused on improving their digital presence, through a comprehensive monetization and data utilization curriculum. Women from all types of digital backgrounds: apps, news, entertainment, video, ecommerce, etc. are encouraged to attend.Sign up now.

Webinar sessions

Planning for Growth (add to calendar)

  • Date and time: Wednesday, June 19 at 1:30 PM ET 

  • Speaker: Sarah Carpenter, Manager of Scalable Acquisitions, Google 

  • Summary: Setting the stage for the webinar series, this session will help you learn how to get into the growth mindset and why it matters for your business.

Content and Audience Strategy (add to calendar)

  • Date and time: Wednesday, July 17 at 1:30 PM ET

  • Speaker: Amy Harding, Director of Analytics, Revenue Optimization, and Google News Consumer Insights

  • Summary: Learn how to better understand and engage your audience with a robust digital content strategy.

Using Data to Drive Growth (add to calendar)

  • Date and time: Wednesday, July 31 at 1:30 PM ET

  • Speaker: Madhav Goyal, Publisher Intelligence Analyst

  • Summary: Many acknowledge the value of data-driven decision making - but few are able to use their data effectively. Get actionable insights on how to leverage data to drive growth for your business.

Monetization Tips and Tricks (add to calendar)

  • Date and time: Wednesday, August 14 at 1:30 PM ET

  • Speaker: Roshni Dutt, Platforms Monetization Lead, Google

  • Summary: Gain pro-tips on recognizing the value of your audience and effectively monetizing your content.

If you’re ready to take your small or medium-sized businesses to the next level, sign up by Monday, June 17th, and gain access to all of the sessions by registering here.

Smart strategies for growing your app business with ads

Every year Google I/O showcases the delight that technology can bring to our lives. Mobile apps have extended that delight to billions of people around the world, paving the way for app developers to unlock new business opportunities.  


Today we’re sharing a few ways to help scale your business using Google’s growth and monetization solutions.

Find the right app users

Smart user acquisition starts with reaching the people who will be most engaged with your app and help you generate the most revenue. With Google App campaigns, you can choose a bidding option that best supports your growth goals. Target CPA bidding, for example, makes it easy for you to find new users who install your app and take an in-app action.


To grow profitably, it’s also important to also consider how much revenue you generate relative to the cost of driving those installs and actions. That’s why, you’ll soon be able to bid on a target return on ad spend (tROAS) so you can automatically pay more for users likely to spend more, and pay less for users likely to spend less. If you’re looking for users who will spend twice as much as they cost to acquire, you can set that multiplier for your tROAS bid, and it will find you the right users accordingly. tROAS will be available next month for Google App campaigns on iOS and Android globally. Learn more.


Bidding is a great lever to reach the customers you want. The next step is to win and keep these customers’ attention. That’s why we’re giving you new ways to develop and manage your creatives, making it easier for you to show your customers more relevant ads in more places.

  • YouTube–you automatically qualify to promote your app in two new YouTube placements when you have at least one landscape image and one video. The first placement is on the YouTube homepage feed, and the second is on in-stream video.
  • Ad groups–starting later this month, you can set up multiple ad groups in the same campaign and tailor the assets in each ad group around a different “theme” or message for different customers. Learn more.
  • Agency partnerships–we’re teaming up with 8 trusted agencies including Vidmob, Consumer Acquisition, Bamboo, Apptamin, Webpals Mobile, Creadits, Kaizen Ad and Kuaizi to help you manage creatives end-to-end, from design to reporting.

Monetize more easily

The second piece to building a profitable apps business is creating a sustainable revenue stream. In other words, you need to keep users engaged with your app, while still monetizing it effectively, which can be tough to balance. That’s why AdMob is investing in automated solutions to help you earn more from your app while delivering a great user experience.


Last year we announced a new monetization model called Open Bidding that helps you maximize the value of every impression automatically. Since then, dozens of developers have joined the beta and are seeing meaningful revenue lift, including Korea-based game developer Sticky Hands.

“We’re really excited about Open Bidding. In one month, revenue and ARPDAU have grown by 14% and 15% respectively, and we expect them to keep climbing as more demand sources come online. What’s even better is that we’re spending almost no time managing it.“
- Minu Kim, CEO of Sticky Hands

In addition to the revenue lift, Open Bidding offers simplicity and time savings compared to traditional mediation--fewer SDKs means less time spent on integrations and more stability for your app. Stay tuned, as we’ll be expanding the program to all publishers later this year.


In the meantime, here are a few more ways AdMob can help you grow your overall app revenue and protect user experience more easily:

  • Image search is a robust new search tool that helps identify and remove bad ads across every size, campaign, and rotation, using just a screenshot of the ad. Learn more.
  • Maximum ad content rating can prevent inappropriate ads from being shown to young users. Learn more.
  • User metrics, such as daily active users and average session time, will be available soon in a new dashboard card, so you can quickly see how changes to your monetization strategy (e.g. adding a rewarded ad) impact key indicators of user engagement. These insights can help you optimize the lifetime value of your users across all your revenue sources - ads, in-app purchases, and commerce. Learn more.

To learn more about how these solutions will help you save time while growing your business, join our ads keynote at 10:30am PDT, Wednesday May 8th at Stage 1 of Google I/O or watch the livestream.

Also, stay tuned for more app advertising news at Google Marketing Live, kicking off next week at 9am PDT, Tuesday May 14th. Sign up for the livestream here.

Introducing the New App Policy Center

Advertising policies help ensure a good user experience while maintaining a healthy advertising environment for app publishers. However, we also understand that without the right tools to streamline and simplify the process, handling policy violations can be frustrating for publishers. That’s why we’re excited to introduce the new App Policy Center for Google AdMob and Ad Manager. 

The App Policy Center is part of our effort to protect quality AdMob and Ad Manager publishers while building and maintaining a healthy and trustworthy advertising ecosystem. It is designed to provide publishers with a single centralized hub to review and monitor policy violations and appeals, providing publishers with greater insight into our policy enforcement process. With all the information needed to remain policy compliant in one place, the App Policy Center will help reduce the risk of potential revenue loss resulting from honest mistakes.

The App Policy Center is available now for both Google AdMob and Ad Manager users. You can access it from the homepage dashboard once you sign in to your account. 

More about the App Policy Center

The App Policy Center is a single, convenient destination for you to understand everything related to policies and take action as needed. More specifically, you’ll be able to:

  • View current warnings, violations, and appeals in progress
  • Appeal policy warnings for certain violations within a 30-day window 
  • Request review after addressing a violation and track the status

Google AdMob App Policy Center

App Policy Center for Google AdMob

Google Ad Manager App Policy Center

App Policy Center for Google Ad Manager

In addition to surfacing this information in the App Policy Center, we will continue to notify you of important policy issues through email when any of the following events occur:

  • When a policy is enforced on an app 
  • App receives policy violation warning
  • Warning turns into an enforcement 
  • Review request is received 
  • Review request gets accepted and an app is remonetized
  • Review request is rejected 

We are constantly looking for ways to improve the experience on AdMob and Ad Manager, and hope the App Policy Center helps you handle policy issues with more ease and confidence.

To learn more about the App Policy Center and best practices about policies, visit the AdMob Help Center or the Ad Manager Help Center.  

Grow your games business with ads

There’s so much that goes into building a great mobile game. Building a thriving business on top of it? That’s next level. Today, we’re announcing new solutions to increase the lifetime value of your players. Now, it’s easier than ever to re-engage your audience and take advantage of a new, smarter approach to monetization.

Help inactive players rediscover your game

Let's face it, the majority of players you acquire aren't going to continue engaging with your game after just a handful of days. One of the biggest opportunities you have to grow your business is to get those inactive players to come back and play again.

We’re introducing App campaigns for engagement in Google Ads to help players rediscover your game by engaging them with relevant ads across Google’s properties. With App campaigns for engagement, you can reconnect with players in many different ways, such as encouraging lapsed players to complete the tutorial, introducing new features that have been added since a player’s last session, or getting someone to open the game for the first time on Android (which only Google can help with).

Learn more about it here or talk to your Google account representative if you’re interested in trying it out.

Rediscover game 1

Generate revenue from non-spending players

Acquiring and retaining users is important, but retention alone doesn’t generate revenue.  Our internal data shows that, on average, less than four percent of players will ever spend on in-app items. One way to increase overall revenue is through ads. However, some developers worry that ads might hurt in-app purchase revenue by disrupting gameplay for players who do spend. What if you could just show ads to the players who aren't going to spend in your app? Good news—now you can.

We’re bringing a new approach to monetization that combines ads and in-app purchases in one automated solution. Available today, new smart segmentation features in Google AdMob use machine learning to segment your players based on their likelihood to spend on in-app purchases.

Ad units with smart segmentation will show ads only to users who are predicted not to spend on in-app purchases. Players who are predicted to spend will see no ads, and can simply continue playing.  Check it out by creating an interstitial ad unit with smart segmentation enabled.

Smart Segmentation Flow

To learn more about news ways to help you increase the lifetime value of your players, please join us at the Game Developers Conference. Location and details are below:


What: Google Ads Keynote
Where: Moscone West, room #2020
When: Wednesday March 20th at 12:30 PM


I'm excited for the week ahead and all the new games you’re building—I’m always on the lookout for my next favorite.


Source: Google Ads


Take your mobile games business to the next level with Google AdMob and Google Ads at GDC

Each year, the global games community gets together in San Francisco for the Game Developers Conference (GDC), a major industry event for developers, publishers, and business professionals working in games to learn, get inspiration, and make new connections to grow their business. 

This year at GDC, our Google AdMob and Google Ads team have several sessions and activities lined up to share the latest product innovations and best practices, all geared toward helping you grow and scale your mobile games business through user acquisition and monetization.

To help you navigate all the content and plan your agenda more easily, here’s a preview of the major speaking sessions and activities that we have planned for you.

Talks

Monday, March 18

Google Mobile Developer Day: 3 tips to help your mobile games business succeed 

  • Time and location: 12:10 - 12:25 PM at Moscone West (room #2020)
  • Speaker: Duke Dukellis, Director, Product Management, Mobile App Advertising, Google
  • Summary: Join this session to hear pro tips on how to enhance your monetization strategy with better user experience design and innovative new ways to monetize non-purchasers to maximize growth and revenue. The session will be available via livestream

Wednesday, March 20

Google Ads Keynote: Growing your games business with ads

  • Time and location:12:30 - 1:30 PM at Moscone West (room #2020)
  • Speaker:Sissie Hsiao, VP, Product Management, Google
  • Summary:The global gaming industry has become increasingly competitive. At Google we have been investing in providing new tools and solutions to help you stay ahead of the curve by gaining a loyal fanbase and building sustainable revenue streams. Join this keynote to learn about Google’s latest growth and monetization innovations that make it easier for developers to grow their user base and find and retain high-value players.

Google Booth Talk: Rewarded ads best practices

  • Time and location: 4:00 - 4:30 PM at the Google Booth Theatre
  • Speaker: Ed Weng, Product Manager, Google AdMob
  • Summary: Designed with practitioners in mind, join this session to learn best practices for rewarded ads with real-world examples to help you implement and optimize this popular, player-friendly ad format.

Thursday, March 21

Google Breakout Session: Making the most of Google’s app ads and monetization innovations for strategy and casual games

  • Time and location: 10:00 - 11:00 AM at Moscone West (room #3009)
  • Speakers: Ed Weng, Product Manager, Google AdMob; Jennifer Lui, Product Manager, Mobile App Ads, Google
  • Summary: Get the inside scoop on how to leverage Google’s advertising solutions for your games. Whether your game is strategy or casual, our experts will share pro tips on user acquisition and monetization to help you deliver the very best app and ads experience to your players.

Google Booth Talk: Optimizing monetization strategies for casual games

  • Time and location: 10:00 - 11:00 AM at Moscone West (room #3009)
  • Speakers:Ed Weng, Product Manager, Google AdMob; Daehyun An, Global Product Lead, Mobile Apps, Google
  • Summary: Casual games have enjoyed rapid growth in the past few years. Join our product experts and learn tried-and-true tips with real world examples to help you enhance your user acquisition and monetization strategies for this game category.

Google Booth Talk: Optimizing monetization strategies for strategy games

  • Time and location:10:00 - 11:00 AM at Moscone West (room #3009)
  • Speakers: Ed Weng, Product Manager, Google AdMob; Kyle Rapp, Global Product Lead, Mobile Apps, Google
  • Summary: With a focused and valuable player base, strategy games are faced with unique challenges. Join this session to learn actionable tips and best practices to grow your strategy game while unlocking new monetization opportunities.

Activities

March 20 to 22

Explore new ways to level up your gaming business at the Google booth 

  • Time and location: 10:00 AM - 5:00 PM daily in the Central Hall of the Moscone Convention Center
  • What to expect:Come visit us in person at GDC to explore new products and learn about feature launches across Google products. From Google Ads, AdMob, Cloud, and Maps, learn about ways to take your game to the next level. 

Wednesday, March 20

Connect with the gaming community at the Google Mixer

  • Time and Location:6:00 - 10:00 PM at Mezzanine
  • What to expect: Join fellow game professionals from around the world at the Google Mixer to network, wind down, and have some fun. This is an invitation-only event so please contact your account manager at Google if you’re interested in attending. 

We’re excited to share new product innovations, industry insights, and best practices at this year’s GDC to help you take your mobile games business to the next level. We hope to see you there!

Follow us on Twitter to get live coverage from the event and more.

The latest AdMob updates: making more money with mobile app ads

We know app developers of all sizes need valuable and easy-to-use solutions to earn more from their apps. That’s why we’ve invested in providing tools that not only empower you to build sustainable revenue streams, but also make your job easier. 

Here are a few vital ways we help developers grow their businesses, along with a look at what’s new. 

Google’s advanced monetization technology

Earlier this year we introduced Open Bidding in beta, a new monetization model where all participating ad buyers compete simultaneously in one unified auction. Developers using Open Bidding are already seeing more ad revenue and less latency for their users. 

Today, we are excited to announce that the Open Bidding program now features eight advertising partners for mobile ad buying. In addition to OpenX, Index Exchange, Smaato, Tapjoy and AdColony, now Facebook Audience Network, AppLovin, and Rubicon Project are joining the ongoing beta. With these new partners, we're offering diverse sources of app advertising to compete for ad inventory in real time, driving even more revenue for app developers. 

"AdColony is excited to join forces with Google to move the app monetization ecosystem forward with Open Bidding. AdMob’s scale of advertiser demand and ease of integration provides a tremendous opportunity for app developers to drive more revenue and operational efficiency.”

- David Pokress, EVP Publishing & Account Management at AdColony

We’re continuing to add new features to Open Bidding based on feedback from our beta participants, including support for all ad formats like interstitial, rewarded, banner, which are all available today, and native, which will be added soon. 

In addition to asking for more formats and advertising demand, developers participating in our beta have also asked us for transparency into who is bidding on and buying their ad inventory. We’re pleased to announce that we'll be adding a new auction report that allows developers to understand how their different advertising partners are performing. Open Bidding Auction Reports will be available to beta participants early next year. 

google-admob-open-bidding-new-ads-partner

While we’re paving the way for the next era of monetization technology, we also know that waterfall mediation* isn’t going away anytime soon. That’s why we’ve built Open Bidding to work seamlessly with waterfall mediation to maximize the value of every impression and simplify operations. Beta participants have noted the compatibility as a meaningful value-add. 

Get set up quickly with developer-first tools

Regardless of whether developers use waterfall mediation, Open Bidding, or both, we’re committed to delivering the best experience on our platform. We know onboarding processes can be painful and create extra work—but we’ve got a few new tools to help with that. 

AdMob’s new Mediation Test Suite beta makes it easier to test if your app is set up correctly to display ads, so you don’t miss out on revenue. Now, if you hit a snag with the SDK integration, you can test each individual network and instantly identify the source of the issue (e.g. SDK, adapter, credentials, etc.)—no more blindly troubleshooting issues and searching for the source. Once everything checks out, you’ll see an ad in the testing environment to confirm that the pipes are ready.

Another new beta feature is the ability to “warm up” your SDK adapters to reduce timeouts on the first ad request. Soon, you'll be able to initialize all SDK adapters in a single call to AdMob, ensuring all adapters are ready to go when the first ad is requested. 

Our goal is to make setup easier. And if you do get stuck, we have the resources and global support to help you move fast.

In addition to building better tools, we’re partnering with players across the ecosystem and moving to a more efficient model that enables developers to earn more from their apps. Stay tuned for more exciting announcements over the next few months. 


*Waterfall mediation uses historical revenue data to prioritize networks and call them one at a time. 

Announcing v17.0.0 of the Android Google Mobile Ads SDK

Google Mobile Ads SDK v17.0.0 for Android has just been released, and it comes with two important changes that you should be aware of:

  1. A tag is now required in AndroidManifest.xml.
  2. NativeAppInstallAd and NativeContentAd APIs are deprecated in favor of UnifiedNativeAd.

Required AndroidManifest.xml changes

Starting in version 17.0.0, if you are an AdMob publisher you are now required to add your AdMob app ID in your AndroidManifest.xml file. Once you find your AdMob app ID in the AdMob UI, add it to your manifest adding the following tag:

<manifest>
<application>
<!-- TODO: Replace with your real AdMob app ID -->
<meta-data
android:name="com.google.android.gms.ads.APPLICATION_ID"
android:value="ca-app-pub-################/##########"/>
</application>
</manifest>

Failure to add this tag will result in the app crashing at app launch with a message starting with "The Google Mobile Ads SDK was initialized incorrectly."

What if I'm using Google Ad Manager instead of AdMob?

Publishers using Google Ad Manager will need to declare themselves as an Ad Manager app with a different tag to avoid the same crash:

<manifest>
<application>
<meta-data
android:name="com.google.android.gms.ads.AD_MANAGER_APP"
android:value="true"/>
</application>
</manifest>

See the getting started guide (AdMob | Ad Manager) for additional details on how to make this change.

NativeAppInstallAd and NativeContentAd APIs are deprecated

This release also officially deprecates the NativeAppInstallAd and NativeContentAd APIs in favor of the previously released UnifiedNativeAd API. The UnifiedNativeAd APIs offer a consolidated way to render any type of native ad, reducing the number of lines of code needed to integrate native ads by up to 50%.

The following example shows how to load both app install and content ads using the new unified API:

AdLoader adLoader = new AdLoader.Builder(context, "ca-app-pub-3940256099942544/2247696110")
.forUnifiedNativeAd(new UnifiedNativeAd.OnUnifiedNativeAdLoadedListener() {
@Override
public void onUnifiedNativeAdLoaded(UnifiedNativeAd unifiedNativeAd) {
// Show the ad.
}
})
.build();
adLoader.loadAd(new AdRequest.Builder().build());

Check out the native ads guide to get started with the unified API.

What else changed?

See the release notes for a full list of changes. If you have any questions about the release, please reach out to us on the Google Mobile Ads SDK developer forum.

Announcing the Mediation Test Suite Beta

Today we're announcing the release of Mediation Test Suite Beta. Mediation Test Suite is a lightweight SDK that enables Google AdMob publishers to easily test mediation ad network integrations without having to make changes in the AdMob UI, saving you and your developers time. It is available on Android, iOS, and Unity.

Mediation Test Suite allows you to:

  • View a full list of mediation ad source configurations for your app
  • Automatically check your project for missing SDKs, adapters, and manifest changes required by partner ad sources
  • Load a banner, interstitial, rewarded, or native ad for any ad source using a certified Google Mobile Ads SDK implementation
  • Batch test multiple ad sources for the same ad unit
  • Test both open source mediation adapters and custom event adapters

Integrating Mediation Test Suite is easy -- once you have the SDK imported, it can be launched with just a single line of code. All you need is your AdMob app ID.

On Android, the launch code looks like this:

import com.google.android.ads.mediationtestsuite.MediationTestSuite;
...
String appId = "YOUR-ADMOB-APP-ID";
MediationTestSuite.launch(MainActivity.this, appId);

On iOS, all that's required is importing the correct header and launching the Test Suite:

#import "GoogleMobileAdsMediationTestSuite.h"
...
NSString* appId = @"YOUR-ADMOB-APP-ID"
[GoogleMobileAdsMediationTestSuite presentWithAppID:appId
onViewController:self delegate:nil];

Unity is just as simple, but please note that you need to use the appropriate app ID for your platform:

using GoogleMobileAdsMediationTestSuite.Api;
...
#if UNITY_ANDROID
string appId = "YOUR-ANDROID-ADMOB-APP-ID";
#elif UNITY_IPHONE
string appId = "YOUR-iOS-ADMOB-APP-ID";
#else
string appId = "";
#endif
MediationTestSuite.Show(appId);

Including Mediation Test Suite in production builds is optional

You are not required to keep the Mediation Test Suite library in the production release of your app; however, you may choose to leave it in and hide it behind a debug gesture. Doing so enables you to launch Mediation Test Suite within your production build.

You can find more information about how to use Mediation Test Suite in the developer guide (Android | iOS | Unity). Remember that Mediation Test Suite is a beta product, so if you have any questions or feedback, please contact us on the developer forum.

Consent SDK removes limit of 12 ad technology providers

To support publishers in meeting their duties under the Google EU User Consent Policy, Google offers a Consent SDK. The Consent SDK is an open-source library that provides utility functions for collecting consent from your users. The full source code is available on GitHub.

With the latest release of the Consent SDK (v1.0.5 for Android or v1.0.2 for iOS), the Google-rendered consent form is now compatible with any number of ad technology partners, including the full list of commonly used partners. Apps that update to the latest version of the Consent SDK can start taking advantage of this additional flexibility immediately.

You can find additional documentation for the Consent SDK on the Google Mobile Ads Android and iOS developer docs. If you have any questions about implementing the Consent SDKs, you can reach us on our forum.