Quick Start
Start Monetizing
UjuAd Aggregation Platform Monetization Flow
| Step | Main Action | Sub-action |
|---|---|---|
| 1 | Create UjuAd account | Contact business team to activate permissions |
| 2 | Create UjuAd app | Create app in dashboard and bind to aggregation platform |
| 3 | Create ad placements | Select ad type, create placements |
| 4 | Integrate UjuAd SDK | Download SDK, add dependencies, initialize SDK |
| 5 | Aggregation management | Bind third-party ad networks, set up waterfall |
| 6 | SDK integration testing | Test with test ad placements |
| 7 | View data reports | View ad data in developer dashboard |
Detailed Steps
1. Create UjuAd Account
Contact the UjuAd business team to activate a developer account and platform permissions.
2. Create App
In UjuAd Developer Dashboard > Traffic Management > App Preview, click "New App", fill in the app information, and complete the creation.
Note: After creating a UjuAd app, the app status will be "Under Review" or "Offline".
3. Create Ad Placements
3.1 Add/Edit Ad Placements
UjuAd platform supports the following ad formats:
- Banner Ad
- Rewarded Video
- Native Ad
- Interstitial Ad
- Splash Ad
3.2 Create Ad Sources for Placements
- Up to 30 ad placements per app by default
- Within the same app, placement names must be unique for the same ad type
3.3 A/B Testing
You can configure A/B testing for your ad placements to compare performance.
4. Integrate UjuAd SDK
4.1 Get Integration Parameters
Required parameters: App ID, Placement ID — available in the developer dashboard.
4.2 Get the SDK
You can obtain the UjuAd SDK via:
- Manual download: Contact the business team
- Gradle remote dependency: Get the SDK from the Gradle repository
4.3 Android Integration Steps
Add Dependencies
Option 1: Gradle Remote Dependency (Recommended)
groovy// Add dependencies in app-level build.gradle dependencies { // Core SDK (required) implementation "com.ujusdk:uju-ad-core:3.4.2" // ADX self-owned ad sources (recommended for extra ad budget) implementation "com.ujusdk:uju-ad-ext:1.3.1" // CSJ (Pangolin) adapter (optional) implementation "com.ujusdk:uju-csj-adapter:7.5.1.1" // Tencent YLH adapter (optional) implementation "com.ujusdk:uju-ylh-adapter:4.680.1551" // Baidu adapter (optional) implementation "com.ujusdk:uju-bd-adapter:9.45.2" // Kuaishou adapter (optional) implementation "com.ujusdk:uju-ks-adapter:5.3.20.3" }Option 2: Local AAR Files
groovy// Add local dependencies in app-level build.gradle dependencies { // Core SDK (required) implementation files("libs/uju-ad-core-3.4.2.aar") // ADX self-owned ad sources (recommended) implementation files("libs/uju-ad-ext-1.3.1.aar") // Add third-party adapters as needed implementation files("libs/uju-csj-adapter-7.5.1.1.aar") implementation files("libs/uju-ylh-adapter-4.680.1551.aar") implementation files("libs/uju-bd-adapter-9.45.2.aar") implementation files("libs/uju-ks-adapter-5.3.20.3.aar") }Configure Permissions
Add required permissions in AndroidManifest.xml:
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />- Initialize SDK
Initialize the SDK in your Application class's onCreate method:
/**
* Initialize SDK
*/
private fun initializeSdk() {
val config = UjuAdInitConfig(
appId = "YOUR_APP_ID",
appKey = "YOUR_APP_KEY", // appKey is the RSA public key from UjuAd dashboard
channel = "YOUR_CHANNEL", // Required, channel ID for stats and revenue allocation
isDebug = true, // Set to false before release
wxAppId = "wx"
)
UjuAdSdk.init(this, config)
UjuAdSdk.start(object : BaseInitListener {
override fun onInitSuccess() {
// SDK initialized successfully
}
override fun onInitFailed(error: UjuException) {
// SDK initialization failed
}
})
}5. Load Ads
Example with Banner Ad:
class BannerAdHelper(private val activity: Activity, private val logger: PrintLogger) {
private var bannerAdObject: UjuAdObject? = null // Create banner ad object via UjuAdObject factory method
fun load() {
val adConfig = UjuAdConfig(
placementId = DemoConfig.BANNER_ID,
adViewSize = AdViewSize(width = 320, height = 100)
)
bannerAdObject = UjuAdObject.getBannerObject(activity, adConfig)
bannerAdObject?.setAdObjectListener(object : FeedAdObjectListener {
override fun onLoadSuccess(placementId: String) {
// Ad loaded successfully, check isReady() before showing
logger.add("Banner: onLoadSuccess")
}
override fun onLoadError(
error: UjuException,
placementId: String
) {
logger.add("Banner: onLoadError: ${error.message}")
}
override fun onAdError(
error: UjuException
) {
logger.add("Banner: onAdError: ${error.message}")
}
override fun onAdShow() {
val adInfo = bannerAdObject?.getAdInfo()
logger.add("Banner: onAdShow: ecpm:${adInfo?.ecpm}")
}
override fun onAdClicked() {
logger.add("Banner: onAdClicked")
}
override fun onAdClosed() {
logger.add("Banner: onAdClosed")
}
override fun onLpClosed() {
logger.add("Banner: onLpClosed")
}
})
bannerAdObject?.load()
}
fun show(viewGroup: ViewGroup) {
if (bannerAdObject?.isReady() == true) {
bannerAdObject?.show(activity, viewGroup)
} else {
logger.add("Banner: Ad not ready")
}
}
fun isLoaded(): Boolean {
return bannerAdObject != null
}
fun destroy() {
bannerAdObject?.destroy()
bannerAdObject = null
}
}6. SDK Integration Testing
During development, use test ad placement IDs to avoid invalid clicks. Ensure:
- Network connection is normal
- SDK initialization succeeded
- Ad placement ID is correct
- At least one ad source is configured
7. View Data Reports
In the UjuAd developer dashboard, you can view detailed ad data reports including:
- Ad requests
- Ad impressions
- Ad clicks
- Click-through rate (CTR)
- Effective cost per mille (eCPM)
- Total revenue
FAQ
Q: Why is the ad not showing?
A: Please check:
- Is the network connection normal?
- Is the ad placement ID correct?
- Did SDK initialization succeed?
- Is an ad source configured?
- Is test mode enabled?
Q: How to increase ad revenue?
A: Recommendations:
- Optimize ad placement positions
- Set reasonable ad refresh frequency
- Test different ad type combinations
- Adjust waterfall priority
- Ensure app traffic quality
Q: How to add a new ad network?
A: In Aggregation Tools > Aggregation Management > Ad Network Management, click "Add Ad Network", fill in the account parameters, and complete the binding.
Technical Support
If you encounter issues during integration:
- Documentation: Detailed API docs and sample code
- Email: marco@ujuad.com
- Online support: Contact via official website
- Business cooperation: Contact business team for monetization advice
