Android SDK Initialization
Initialization Timing
UJU Ad SDK must be initialized in the onCreate() method of the Application class to ensure initialization is completed when the application starts, preparing for subsequent ad loading.
Basic Initialization
1. Create Application Class and Add Initialization Method
If your application doesn't have a custom Application class yet, create one:
kotlin
class MyApplication : Application() {
val appViewModel: AppViewModel by lazy {
AppViewModel(this)
}
companion object {
// Singleton instance
lateinit var instance: MyApplication
private set
}
override fun onCreate() {
super.onCreate()
// Save singleton instance
instance = this
// Initialize SDK, network permission is a normal permission, no dynamic request needed
initializeSdk()
}
/**
* Initialize SDK
*/
private fun initializeSdk() {
// Create configuration object
val config = UjuAdInitConfig(
appId = "YOUR_APP_ID", // Required, application ID
appKey = "YOUR_APP_KEY",// Required, application KEY
isDebug = true, // Debug mode, recommended only during development
wxAppId = "wx_xxxxx" // WeChat AppId, used for WeChat ad channel
)
// Initialize
UjuAdSdk.init(this, config)
// Start SDK and listen for callbacks
UjuAdSdk.start(object : BaseInitListener {
override fun onInitSuccess() {
// SDK started successfully, can start loading ads now
appViewModel.sdkInitialized.value = true
}
override fun onInitFailed(error: UjuException) {
appViewModel.sdkInitialized.value = false
DemoLogUtils.e("SDK initialization failed: ${error.message}")
}
})
}
}Initialization Status Check
You can check the initialization status of the SDK at any time:
kotlin
// Check if SDK is initialized successfully
if (UjuAdSdk.isInitialized()) {
// SDK is initialized, can load ads
}Common Questions
Q: What to do if initialization fails?
A: Possible reasons for initialization failure:
- Network issues: Check if network connection is normal
- App ID/Key error: Confirm if App ID and App Key are correct
- Device restrictions: Some devices may be restricted from accessing
- Version issues: Check if SDK version is compatible
Q: How to improve initialization success rate?
A: Recommendations:
- Initialize as early as possible when the application starts
- Ensure stable network connection
- Avoid time-consuming operations during initialization
- Properly handle initialization failure cases
Best Practices
- Initialize early: Initialize in Application onCreate
- Handle failure cases: Add failure callback to ensure application runs normally
- Test mode: Use test devices and test ads during development
- Monitor initialization: Monitor initialization success rate in production environment
- Version management: Update SDK version in a timely manner
Next Steps
After completing SDK initialization, you can start integrating specific ad types:
