最后更新于
July 15, 2022
The actual SDK package download file may be significantly larger because it includes sample code and the full Chartboost framework. Many of these files can be removed after compiling.
The best practice would be to create a brand new app in your Chartboost dashboard.
Your app's iOS bundle ID is in its iTunes Connect record under App Information > General Information.
Google Play bundle IDs are in your app's Google Play Store URL.
Amazon Standard Identification Numbers (ASINs) are available publicly on your app's Amazon Appstore page in the Product Details section.
“Chartboost Integration Warning: your account has been set to advertiser only. %s has been disabled. Please contact support if you expect this call to function.”
Here's why you got this error:
It's possible that your browser isn't updating your cache or cookies. Try removing your browser cache and cookies. For instructions, click on the browser you're using:
Still not working? Let us know!
Linker errors are likely to appear when you've forgotten to link one or more frameworks to your project. Please review the frameworks required by the latest SDK in the iOS integration documentation and make sure your project is linking to all of them. If you still see linker errors, it may be that you are missing the -ObjC linker flag in your XCode project's build settings and need to add it back to the Other Linker Flags field.
Interstitials can appear large or "zoomed in" on an iPad 2 Simulator. This is because the Simulator is not passing back a real device model to Chartboost. If you use a different Simulator or an actual device, you will not experience this behavior.
Yes. The Chartboost SDK and all links are compatible with App Transport Security. If you'd like to run cross-promotion campaigns that link to your company website, or otherwise have ads that direct to locations outside the app store, make sure you use https, have a valid SSL certificate, and follow other methods to ensure your custom URL links remain ATS compliant.
To avoid this warning, you will need to make sure that when using the Chartboost method [Chartboost startWithAppId:@"..." appSignature:@"..." delegate:self] the class of the object you're passing in as the delegate conforms to the ChartboostDelegate protocol.
Check your AppDelegate.h file and make sure the interface contains the proper delegate references: @interface AppDelegate : UIResponder <UIApplicationDelegate, ChartboostDelegate>
Refer to the Conforming to Protocols section of Apple's documentation for a more detailed explanation.
There may be a problem with your Android app's manifest settings. Any activities that show Chartboost ads must have the value android:hardwareAccelerated="true" in their activity entry on the Android Manifest, or the video might not display properly.
If you're developing on Android outside of Unity, check your Android Manifest files to ensure that the following is included. If not, add this and retest:
<activity android:name="com.chartboost.sdk.CBImpressionActivity"
android:excludeFromRecents="true"
android:hardwareAccelerated="true"
android:theme="@android:style/Theme.Translucent.NoTitleBar.Fullscreen"
android:configChanges="keyboardHidden|orientation|screenSize" />
Instead of enabling hardware acceleration for individual activities that show ads, you can apply hardware acceleration across your entire app by adding android:hardwareAccelerated='true' inside your top-level application entry in AndroidManifest.xml
If you're developing on Android through Unity, and you are NOT using the official Chartboost plugin, make this call immediately after calling the startWithAppId method:
Chartboost.setFramework(CBFramework.CBFrameworkUnity, unityVersion);
unityVersion is the value returned by Application.unityVersion If you are still having problems, feel free to contact us. Please also tell us...
Please also include a .apk build of your game so we can test it.
In some cases, it may be preferable for native Android or Unity Android developers to use an activity instead of a view to display Chartboost ads. While activities may work better in games built with certain game engines, we encourage you to experiment with both, as there can be both upsides and downsides to either method.
If you wish, you can also bypass the requirement to include the Google Play Services library in your Unity build. If you remove the following from the manifest:
<meta-data android:name="com.google.android.gms.version" android:value="@integer/google_play_services_version"/>
then you will no longer be prompted to run the setup dialog, and your app should be able to proceed as usual.
Exception in thread "main" java.lang.Error: Unable to find named traits: com.chartboost.plugin.air::Chartboost
If you get an error similar to this while building your application, it usually indicates that the AIR native extension was not packaged properly. Make sure you've included this plugin's extension ID in your application descriptor XML file. Also verify that when you export a build, the Chartboost ANE is being packaged with your application.
The Chartboost initialization call must be made during hard and soft bootups within the first few seconds of your app launching, regardless of any other actions or user interaction within your app.
Please check the SDK integration guide for more specific requirements.
You can find which version of the SDK you're running by calling the following methods:
Alternatively, you can also...
We support native Objective-C, Java, Unity, and Adobe AIR.
Yes, you can still integrate the Chartboost SDK and run tests if your app isn't yet live in the App Store, Google Play Store, or Amazon Appstore for Android. Just add your app to the dashboard and after your game is live, follow the steps on that page to add your market URL or ASIN.
If you've integrated the Chartboost SDK and finalized your build, you're ready to submit to the App Store! Before you do this however, here are a few tips and recommendations we have:
As of June 1, 2016, Apple requires that all submitted apps must support IPv6.
It’s the best way to ensure that we’re accurately tracking analytics and capturing conversions. Because a single network call can fail for any number of reasons, it’s smart to insure against that by initializing Chartboost every time your app becomes active.
Please read our Terms & Conditions to learn more.
We use the IFA (Identifier for Advertising) for iOS games; Android ID and Google Play Services Advertising ID for Google Play games. Learn more
Yes, but there are a few things you should keep in mind while doing so:
Because Apple’s Game Center view can override Chartboost activity, you can use the rootView to show interstitials in a separate view. (SDK version 3.2+.) For example: Let’s say we have a two-view loading sequence with a loading view and a menu view of type MenuView. We can set the Chartboost rootView to an instance of MenuView. After that, the interstitial will prerender for the MenuView view only, regardless of when showInterstitial was called. No interstitials will appear until the MenuView view is displayed. It’s as simple as [Chartboost sharedChartboost].rootView = gameMenu; where gameMenu is an already initialized instance of MenuView.
Be sure to set the rootView to ‘nil’ once you switch away from the view currently set as the rootView. If you miss this step, interstitials will NOT display anywhere else in your game! Setting the rootView to nil is as easy as [Chartboost sharedChartboost].rootView = nil;
Notes:
If you do not want Moat enabled, then simply delete CHAMoatMobileAppKit.framework and don’t link it with your Xcode project. If you’re not using Moat, you don’t need the -ObjC entry in the Other Linker Flags property of your XCode project’s Build Settings section.