Skip to content

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

  1. Initialize early: Initialize in Application onCreate
  2. Handle failure cases: Add failure callback to ensure application runs normally
  3. Test mode: Use test devices and test ads during development
  4. Monitor initialization: Monitor initialization success rate in production environment
  5. Version management: Update SDK version in a timely manner

Next Steps

After completing SDK initialization, you can start integrating specific ad types: