- User Guide
- Supported Services
- Supported Platforms
- Getting Started
- Code Examples
What is 'Enhance+'?
Enhance+ (Enhance-Plus) is an extended service for apps that have been proven to perform well. This service is offered on a per-app basis and offers a more 'hands-on' experience. We only accept certain apps into this program, but if you want to hear more about it then please contact us.
Can I try an Enhanced app before I Enhance mine?
We have lots of games in the Google Play and iTunes store that are already using Enhance to serve ads and other services in their games.
Vector Unit's Beach Buggy Racing on Android and iOS is a great example of one.
Is Enhance an ad mediation network?
Enhance offers ad mediation as a feature, but is not an ad mediation network. Enhance offers SDKs that have nothing to do with ads; crash reporting, analytics, user experience Enhancements and more. Of course, ads are an important offering for many SDKs, so naturally it’s important for Enhance to support easy ad network mediation! This can currently be done for you using the FGL Managed mediation option, or you can set up your own mediation with the "Set Up My Own Mediation" option. If you use an external mediation network SDK such as Appodeal or AdMob Mediation, mediation of ads will be handled by that.
Do you have a place where I can discuss Enhance with other developers?
Of course! Check out our developer community here.
Why am I not seeing any ads display?
This is most likely simply an issue of being unable to get ad fill for that particular SDK at that particular time at your location. Unfortunately there is no way to guarantee fill from any particular ad network. If the netwrok you are trying to implement offers a test code that guarantees fill (AdMob being an example of an SDK that does so), you could try providing that during the Enhance process. Another possible problem is SDK conflicts; Enhance works best if you remove as many SDK implementations as you can from your app to avoid any conflicts, especially if you have an old integration of the SDK you are trying to use Enhance to implement; it's best to remove those and let Enhance do its work "from scratch"! As always, if you have trouble, feel free to contact us!
I have Enhanced my application and I am seeing ads but still don't see income reports in my dashboard, why?
Many of our ad providers are CPI (Cost per Install), meaning the user must click and fully interact with the advertisement before it counts as an impression. Even then it can take at least 1000 of these type of impressions before any income is generated. Make sure your application is live in an app store like iTunes or Google Play so you can get a large amount of impressions. After enough impressions you should start to see income reports show up in the dashboard.
Can I control the maturity rating of the ads shown?
Some ad networks allow this. Currently, if you are using FGL Managed mediation you are not able to adjust these settings.
If you are not using FGL Managed mediation, you will have to go into each ad network account you create and adjust these settings. We recommend you set all maturity/content ratings to “medium” when going this route.
I need a "keystore" to "sign" my Android application. What is a keystore and signing?
In order for your Android application to be accepted to the Google Play store it must be signed with a keystore that you create. A "keystore" is simply a file that contains information about the creator of the application, usually containing the developers name, company name, etc. You will also be asked to create a password to protect this information. "Signing" is the process where you link the keystore to your Android application so it can be associated with the information inside of it. The Google Play store will only accept applications with a keystore linked so it can identify who the application belongs to; this is important because it stops third parties from hijacking your app on the storefront if they somehow gain access to your Google account (Google will not allow any update to your app to be published unless it is signed with the same keystore that signed the originally published version).
Check out the section of the docs explaining how you can create a keystore file and sign your Android application with it by clicking here.
I have Enhanced my Android application but the Google Play Store keeps rejecting it.
Make sure have properly signed your application with the correct keystore before you try to publish it. Enhance can do this for you if you upload your keystore during the Enhance process. If you do so, make sure it is the same certificate (keystore file) that was used to sign the version of your app that is currently on Google Play; you cannot update an app that is signed with a different keystore to the one that was originally used when publishing for the first time.
Certificate, Provisioning Profile, App ID, its all very confusing. What are they and why do I need them to create my iOS app?
Keep in mind before you can even use a certificate, app id or provisioning file you must be signed up for the Apple Developer Program. So make sure to do this before getting started with iOS development.
Every time an app starts up, the app is checked to make sure it was signed by Apple and that you have permission to run it. In order to run apps on any of Apple's devices you need a special file called a Certificate. In order to obtain this Apple sanctioned file you need to create a "Certificate Signing Request (CSR)" using the Keychain Access app (you can only do this on a computer running MacOS). After creating that file you install this file into your keychain by double clicking it, allowing XCode to use it to sign your app (and later, once you have exported a P12 file of this certificate from Keychain Access, Enhance can use it too). This is basically saying that Apple now trusts who you are and will let you create apps for their platforms.
If certificates are telling Apple who you are and that it's okay for you to upload apps you have created, then what is the point of a Provisioning Profile? Unless your app came from the App Store (i.e has been checked by Apple before it is put up), an iOS device does not know to trust it, and thus will not allow it to run. A provisioning profile contains a list of limited iOS device IDs that should be allowed to run your app without them having originated from the App Store. It also contains a reference to the certificate used to sign the app, as a way of proving that Apple has sanctioned this action. You will download this file from the Provisioning section within Apple's developer portal, you will use this file during the build process of your app.
When you create a provisioning file you will need to create an App ID which is a unique identifier for your app. It is created from the "Team ID" which is a unique string created by Apple plus the "Bundle ID" which is created by you the developer.
The App ID will be used as a way to identify your app along with the provisioning profile so the device knows that Apple has marked you as a trusted developer.
So to sum it all up certificates are created so Apple can trust you as a developer, provisioning files are created so that the iOS device you are running the app on allows the app to run without being published first, and finally the App ID is a unique identifier used by the provisioning profile to specify which app it pertains to.
Make sure to check out the docs to learn more about how to sign your iOS app for Enhancement. To get started, click here.
I have Enhanced my iOS application with the wrong certificate.
Make sure that when exporting your P12 from Keychain Access, you click the disclosure triangle to the left of the certificate and export the private key (as below). For more information, check out the iOS (Objective-C) signing instructions on our Signing your app page.
How does Enhance make money?
We have deals with the service providers so that we make money when apps implement their services through Enhance. This is a win all around as developers and publishers are not charged to use Enhance and service providers get a chance to have their services implemented easily.
How can I make money with mobile apps using Enhance?
Enhance makes it easy to find and implement all different types of services and their SDKs. Some of these services allow you to directly make money such as ads, surveys, and rewards. Other services allow you to indirectly make money by improving your app and allowing you to track and market your app better such as analytics, attribution, and push notifications.
Enhance itself doesn't make you money, but the services you implement and manage with Enhance do. Ultimately it is up to you to decide which services you want to try and how you'd like to use them within your app.
When you start the Enhance process you'll see the wide variety of services that can help improve your app and its ability to monetize. We also encourage you to check out our forums and blog to see how other developers and publishers are making money with Enhance.
When will I see income stats for my app?
You should see reports about your app’s performance as soon as we detect your app has earned revenue. Note that even if you are getting ad impressions, that doesn’t necessarily mean you have revenue yet. Many ad networks only pay out on a Cost Per Install basis (when a user actually installs an advertised app) so it may take many impressions before someone actually installs an advertised app. Sometimes it takes a couple thousand impressions before any revenue is generated. Also, it sometimes takes reports up to 24 hours to update. If you think you should be seeing revenue stats, but aren’t, please feel free to reach out to us.
How much will my app make?
If you're choosing "Handle Everything For Me" then US Play cpms are around $4 for interstitial and $9 for rewarded. Some apps see much higher cpms depending on the game and number of impressions. And, if your app is getting more than 10,000 ad impressions a day we can look into bumping you up to Enhance+ where we can get even more ad networks in for you and cpms will jump even higher.
I have problems with crashes when I launch my app. Why?
If you have already implemented an SDK we support there is a chance that an existing implementation will conflict with Enhance's implementation of the same SDK, possibly causing errors or result in your app crashing.
Before using Enhance it is advised to remove any code implementing an SDK we support, and making sure that if you have an SDK in your app that uses Google Game Services (e.g MilkMan's Adobe AIR extensions), it is fully up to date. If you continue to have issues, please contact us.
My app upload failed, saying "The package name belongs to a non-Enhance game or another user". Why?
Make sure you haven't already previously uploaded the app with another FGL account. Always be sure to log in with the original account that you uploaded an app with. If you are sure you are using the correct account, you might need to change the package name of your app, as another user is using it.
My app upload failed, saying "Drag and Drop Library not found". Why?
If you have chosen to use an SDK that is not ZeroCode, then you will need to add the Enhance Drag and Drop library for your development platform.
No matches were found…