Before You Begin
SDK Initialization Required Load or render all ad formats only after SDK initialization completes. Rendering ad widgets before initialization will cause ads not to display properly. Applies to all formats: banner, native, interstitial, rewarded, app open, light popup.
The Daro Flutter SDK currently supports Non-reward apps only .
Check requirements before integration.
Requirements
Flutter SDK ^3.24.0
Dart ^3.5.0
Android minSdkVersion: 23
iOS 13.0 or higher
App Setup
Add Package
Add daro_flutter to your pubspec.yaml:
dependencies :
daro_flutter : ^1.0.0
Install the package:
Android Project Setup
Android minSdkVersion: 23
Desugaring required : Configure desugaring if minSdk is below 26.android {
.. .
compileOptions {
isCoreLibraryDesugaringEnabled = true
sourceCompatibility = JavaVersion.VERSION_1_8
targetCompatibility = JavaVersion.VERSION_1_8
}
.. .
}
.. .
dependencies {
.. .
coreLibraryDesugaring ( "com.android.tools:desugar_jdk_libs:2.0.4" )
.. .
}
Project-level Build Configuration
Add maven repositories to the allprojects block in the build.gradle(root) file.
allprojects {
repositories {
google ()
mavenCentral ()
maven { url = uri ( "https://artifact.bytedance.com/repository/pangle" ) }
maven { url = uri ( "https://verve.jfrog.io/artifactory/verve-gradle-release" ) }
maven { url = uri ( "https://cboost.jfrog.io/artifactory/chartboost-ads/" ) }
maven { url = uri ( "https://repo.premiumads.net/artifactory/mobile-ads-sdk/" ) }
maven { url = uri ( "https://repo.pubmatic.com/artifactory/public-repos" ) }
maven { url = uri ( "https://s3.amazonaws.com/smaato-sdk-releases/" ) }
maven { url = uri ( "https://android-sdk.is.com/" ) }
maven { url = uri ( "https://dl-maven-android.mintegral.com/repository/mbridge_android_sdk_oversea" ) }
}
}
Add the DARO plugin to build.gradle(root)
Add the DARO plugin to the build.gradle(root) file.
buildscript {
repositories {
google ()
mavenCentral ()
}
dependencies {
classpath ( "so.daro:daro-plugin:1.0.13" )
}
}
Add Daro SDK
Add the Daro SDK to android/app/build.gradle.
dependencies {
.. .
implementation ( "so.daro:daro-a:1.4.2" )
.. .
}
Add android-daro-key.txt file
Add the android-daro-key.txt file.
android/app/
└── android-daro-key.txt
android/app/
└── src/
├── EnvA/
│ └── android-daro-key.txt
└── EnvB/
└── android-daro-key.txt
android-daro-key.txt can be downloaded from the DARO dashboard.
Configure daroAppKey
Configure the daroAppKey.
Show Configure in gradle.properties
android.useAndroidX =true
android.enableJetifier =true
daroAppKey ={APP_KEY}
Show Configure directly in app module gradle
Configure the following in the app module build.gradle. buildscript {
extra[ "daroAppKey" ] = "APP_KEY"
}
Show Configure in gradle.properties
android.useAndroidX =true
android.enableJetifier =true
daroAppKey.EnvA ={APP_KEY}
daroAppKey.EnvB ={APP_KEY}
Show Configure directly in app module gradle
Configure the following in the app module build.gradle. buildscript {
extra[ "daroAppKey.EnvA" ] = "APP_KEY"
extra[ "daroAppKey.EnvB" ] = "APP_KEY"
}
Please capitalize the first letter of Flavor
The daroAppKey can be found in the DARO dashboard.
Apply the DARO plugin in build.gradle(app)
Apply the DARO plugin in build.gradle(app).
plugins {
.. .
id ( "so.daro.a" )
.. .
}
iOS Project Setup
iOS 13.0 or higher
Xcode 14.0 or higher
Install Pods
Run pod install in the ios/ directory of your Flutter project.
Add ios-daro-key.txt file
Open ios/Runner.xcworkspace and add the ios-daro-key.txt file by drag and drop.
The ios-daro-key.txt file must be included in the project to initialize the SDK.
ios-daro-key.txt can be downloaded from the DARO dashboard.
Info.plist Configuration
Add the following IDs to Info.plist.
GADApplicationIdentifier, DaroAppKey can be found in the DARO dashboard (AdMob Key, App Key).
❗ Please copy the SKAdNetworkItems from Info.plist to your app’s Info.plist. If not registered, ad networks cannot receive conversion performance reports, which will reduce advertising efficiency. This has a significant impact on ad performance, so please add it!
< key > GADApplicationIdentifier </ key >
< string > /* Add the Admob Key issued from the DARO dashboard */ </ string >
< key > DaroAppKey </ key >
< string > /* Add the Daro App Key issued from the DARO dashboard */ </ string >
< key > SKAdNetworkItems </ key >
< array >
< dict >
< key > SKAdNetworkIdentifier </ key >
< string > cstr6suwn9.skadnetwork </ string >
</ dict >
< dict >
< key > SKAdNetworkIdentifier </ key >
< string > 4fzdc2evr5.skadnetwork </ string >
</ dict >
< dict >
< key > SKAdNetworkIdentifier </ key >
< string > 4pfyvq9l8r.skadnetwork </ string >
</ dict >
< dict >
< key > SKAdNetworkIdentifier </ key >
< string > 2fnua5tdw4.skadnetwork </ string >
</ dict >
< dict >
< key > SKAdNetworkIdentifier </ key >
< string > ydx93a7ass.skadnetwork </ string >
</ dict >
< dict >
< key > SKAdNetworkIdentifier </ key >
< string > 5a6flpkh64.skadnetwork </ string >
</ dict >
< dict >
< key > SKAdNetworkIdentifier </ key >
< string > p78axxw29g.skadnetwork </ string >
</ dict >
< dict >
< key > SKAdNetworkIdentifier </ key >
< string > v72qych5uu.skadnetwork </ string >
</ dict >
< dict >
< key > SKAdNetworkIdentifier </ key >
< string > ludvb6z3bs.skadnetwork </ string >
</ dict >
< dict >
< key > SKAdNetworkIdentifier </ key >
< string > cp8zw746q7.skadnetwork </ string >
</ dict >
< dict >
< key > SKAdNetworkIdentifier </ key >
< string > 3sh42y64q3.skadnetwork </ string >
</ dict >
< dict >
< key > SKAdNetworkIdentifier </ key >
< string > c6k4g5qg8m.skadnetwork </ string >
</ dict >
< dict >
< key > SKAdNetworkIdentifier </ key >
< string > s39g8k73mm.skadnetwork </ string >
</ dict >
< dict >
< key > SKAdNetworkIdentifier </ key >
< string > 3qy4746246.skadnetwork </ string >
</ dict >
< dict >
< key > SKAdNetworkIdentifier </ key >
< string > f38h382jlk.skadnetwork </ string >
</ dict >
< dict >
< key > SKAdNetworkIdentifier </ key >
< string > hs6bdukanm.skadnetwork </ string >
</ dict >
< dict >
< key > SKAdNetworkIdentifier </ key >
< string > v4nxqhlyqp.skadnetwork </ string >
</ dict >
< dict >
< key > SKAdNetworkIdentifier </ key >
< string > wzmmz9fp6w.skadnetwork </ string >
</ dict >
< dict >
< key > SKAdNetworkIdentifier </ key >
< string > yclnxrl5pm.skadnetwork </ string >
</ dict >
< dict >
< key > SKAdNetworkIdentifier </ key >
< string > t38b2kh725.skadnetwork </ string >
</ dict >
< dict >
< key > SKAdNetworkIdentifier </ key >
< string > 7ug5zh24hu.skadnetwork </ string >
</ dict >
< dict >
< key > SKAdNetworkIdentifier </ key >
< string > gta9lk7p23.skadnetwork </ string >
</ dict >
< dict >
< key > SKAdNetworkIdentifier </ key >
< string > vutu7akeur.skadnetwork </ string >
</ dict >
< dict >
< key > SKAdNetworkIdentifier </ key >
< string > y5ghdn5j9k.skadnetwork </ string >
</ dict >
< dict >
< key > SKAdNetworkIdentifier </ key >
< string > n6fk4nfna4.skadnetwork </ string >
</ dict >
< dict >
< key > SKAdNetworkIdentifier </ key >
< string > v9wttpbfk9.skadnetwork </ string >
</ dict >
< dict >
< key > SKAdNetworkIdentifier </ key >
< string > n38lu8286q.skadnetwork </ string >
</ dict >
< dict >
< key > SKAdNetworkIdentifier </ key >
< string > 47vhws6wlr.skadnetwork </ string >
</ dict >
< dict >
< key > SKAdNetworkIdentifier </ key >
< string > kbd757ywx3.skadnetwork </ string >
</ dict >
< dict >
< key > SKAdNetworkIdentifier </ key >
< string > 9t245vhmpl.skadnetwork </ string >
</ dict >
< dict >
< key > SKAdNetworkIdentifier </ key >
< string > eh6m2bh4zr.skadnetwork </ string >
</ dict >
< dict >
< key > SKAdNetworkIdentifier </ key >
< string > a2p9lx4jpn.skadnetwork </ string >
</ dict >
< dict >
< key > SKAdNetworkIdentifier </ key >
< string > 22mmun2rn5.skadnetwork </ string >
</ dict >
< dict >
< key > SKAdNetworkIdentifier </ key >
< string > 4468km3ulz.skadnetwork </ string >
</ dict >
< dict >
< key > SKAdNetworkIdentifier </ key >
< string > 2u9pt9hc89.skadnetwork </ string >
</ dict >
< dict >
< key > SKAdNetworkIdentifier </ key >
< string > 8s468mfl3y.skadnetwork </ string >
</ dict >
< dict >
< key > SKAdNetworkIdentifier </ key >
< string > klf5c3l5u5.skadnetwork </ string >
</ dict >
< dict >
< key > SKAdNetworkIdentifier </ key >
< string > ppxm28t8ap.skadnetwork </ string >
</ dict >
< dict >
< key > SKAdNetworkIdentifier </ key >
< string > ecpz2srf59.skadnetwork </ string >
</ dict >
< dict >
< key > SKAdNetworkIdentifier </ key >
< string > uw77j35x4d.skadnetwork </ string >
</ dict >
< dict >
< key > SKAdNetworkIdentifier </ key >
< string > pwa73g5rt2.skadnetwork </ string >
</ dict >
< dict >
< key > SKAdNetworkIdentifier </ key >
< string > mlmmfzh3r3.skadnetwork </ string >
</ dict >
< dict >
< key > SKAdNetworkIdentifier </ key >
< string > 578prtvx9j.skadnetwork </ string >
</ dict >
< dict >
< key > SKAdNetworkIdentifier </ key >
< string > 4dzt52r2t5.skadnetwork </ string >
</ dict >
< dict >
< key > SKAdNetworkIdentifier </ key >
< string > e5fvkxwrpn.skadnetwork </ string >
</ dict >
< dict >
< key > SKAdNetworkIdentifier </ key >
< string > 8c4e2ghe7u.skadnetwork </ string >
</ dict >
< dict >
< key > SKAdNetworkIdentifier </ key >
< string > zq492l623r.skadnetwork </ string >
</ dict >
< dict >
< key > SKAdNetworkIdentifier </ key >
< string > 3rd42ekr43.skadnetwork </ string >
</ dict >
< dict >
< key > SKAdNetworkIdentifier </ key >
< string > 3qcr597p9d.skadnetwork </ string >
</ dict >
< dict >
< key > SKAdNetworkIdentifier </ key >
< string > mj797d8u6f.skadnetwork </ string >
</ dict >
< dict >
< key > SKAdNetworkIdentifier </ key >
< string > 55644vm79v.skadnetwork </ string >
</ dict >
< dict >
< key > SKAdNetworkIdentifier </ key >
< string > 6yxyv74ff7.skadnetwork </ string >
</ dict >
< dict >
< key > SKAdNetworkIdentifier </ key >
< string > 55y65gfgn7.skadnetwork </ string >
</ dict >
< dict >
< key > SKAdNetworkIdentifier </ key >
< string > cwn433xbcr.skadnetwork </ string >
</ dict >
< dict >
< key > SKAdNetworkIdentifier </ key >
< string > nu4557a4je.skadnetwork </ string >
</ dict >
< dict >
< key > SKAdNetworkIdentifier </ key >
< string > w7jznl3r6g.skadnetwork </ string >
</ dict >
< dict >
< key > SKAdNetworkIdentifier </ key >
< string > 577p5t736z.skadnetwork </ string >
</ dict >
< dict >
< key > SKAdNetworkIdentifier </ key >
< string > 6rd35atwn8.skadnetwork </ string >
</ dict >
< dict >
< key > SKAdNetworkIdentifier </ key >
< string > 7bxrt786m8.skadnetwork </ string >
</ dict >
< dict >
< key > SKAdNetworkIdentifier </ key >
< string > 7fbxrn65az.skadnetwork </ string >
</ dict >
< dict >
< key > SKAdNetworkIdentifier </ key >
< string > dt3cjx1a9i.skadnetwork </ string >
</ dict >
< dict >
< key > SKAdNetworkIdentifier </ key >
< string > fz2k2k5tej.skadnetwork </ string >
</ dict >
< dict >
< key > SKAdNetworkIdentifier </ key >
< string > jk2fsx2rgz.skadnetwork </ string >
</ dict >
< dict >
< key > SKAdNetworkIdentifier </ key >
< string > r8lj5b58b5.skadnetwork </ string >
</ dict >
< dict >
< key > SKAdNetworkIdentifier </ key >
< string > tmhh9296z4.skadnetwork </ string >
</ dict >
< dict >
< key > SKAdNetworkIdentifier </ key >
< string > k6y4y55b64.skadnetwork </ string >
</ dict >
< dict >
< key > SKAdNetworkIdentifier </ key >
< string > qwpu75vrh2.skadnetwork </ string >
</ dict >
</ array >
Initialize SDK
Initialize the SDK using the code below:
import 'package:daro_flutter/daro_flutter.dart' ;
void main () async {
WidgetsFlutterBinding . ensureInitialized ();
// Enable debug mode (for testing before release)
DaroFlutter .isDebugMode = true ;
// Initialize SDK
await DaroFlutter . initialize ();
runApp ( const MyApp ());
}
Best Practices
SDK Initialization Management
Recommended practices to manage SDK efficiently and prevent errors.
Call initialize() in the main() function
Initialize at the app entry point in the main() function
Render ads after initialization completes
Render ad widgets only after await DaroFlutter.initialize() completes
Display banner and native ad widgets after initialization
Ensure ad widgets don’t render before initialization completes