Skip to content

Commit 2dd2524

Browse files
authored
Merge pull request #163 from appodeal/release/4.1.0
Release/4.1.0: Update Appodeal React Native Plugin
2 parents 96cb8d2 + 1e0bf77 commit 2dd2524

12 files changed

Lines changed: 261 additions & 344 deletions

File tree

CHANGELOG.md

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,14 @@
11
# Changelog
22

3+
## 4.1.0
4+
5+
- **Android SDK now uses individual adapter dependencies instead of a single umbrella SDK**
6+
7+
### Updated SDKs
8+
9+
- Updated Appodeal iOS SDK to [4.1.0](https://docs.appodeal.com/ios/get-started)
10+
- Updated Appodeal Android SDK to [4.1.0](https://docs.appodeal.com/android/get-started)
11+
312
## 3.10.1
413

514
### Features

README.md

Lines changed: 32 additions & 224 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
Official Appodeal React Native Plugin for your React Native application.
44

5-
## Appodeal SDK 3.10.1
5+
## Appodeal SDK 4.1.0
66

77
- **Google CMP and TCF v2 Support**
88
- To enhance the relevance of ads for your users and comply with regulations like GDPR and CCPA,
@@ -37,17 +37,15 @@ Official Appodeal React Native Plugin for your React Native application.
3737
## Migration Guide
3838

3939
> [!IMPORTANT]
40-
> **Migrating from version 3.5.0 to 3.10.1** This is a major update with breaking changes.
40+
> **Migrating from version 3.10.1 to 4.1.0** This is a major update with breaking changes.
4141
> Please read our [Migration Guide](MIGRATION_GUIDE.md) carefully before updating.
4242
43-
**Key Changes in 3.10.1:**
44-
- Updated to Appodeal SDK 3.10.0
45-
- Migrated to React Native Turbo Modules
46-
- New Architecture support (Fabric + TurboModules)
47-
- Updated TypeScript definitions
48-
- New event system with better type safety
49-
- 💥 **Breaking changes in API methods and event names**
50-
- 🛠️ **Updated Kotlin to version 2.1.0** — this may be a ⚠️ *breaking change* for projects still using Kotlin < 2.0.0
43+
**Key Changes in 4.1.0:**
44+
- Updated to Appodeal SDK 4.1.0
45+
- iOS minimum deployment target raised to 15.0
46+
- Updated all ad network adapters to latest versions
47+
- New adapter naming convention (iOS: `Appodeal*Adapter` instead of `APD*Adapter`)
48+
- Android dependencies switched from monolithic SDK to individual adapters
5149

5250

5351
## Table of Contents
@@ -57,10 +55,6 @@ Official Appodeal React Native Plugin for your React Native application.
5755
- [Android](#android)
5856
- [AdMob configuration](#admob-configuration)
5957
- [Services](#services)
60-
- [Adjust](#adjust)
61-
- [AppsFlyer](#appsflyer)
62-
- [Firebase](#firebase)
63-
- [Meta](#meta)
6458
- [Tracking In-App Purchases](#tracking-in-app-purchases)
6559
- [Event tracking](#event-tracking)
6660
- [Usage](#usage)
@@ -88,7 +82,8 @@ yarn add react-native-appodeal
8882
### iOS
8983

9084
> [!IMPORTANT]
91-
> - iOS 13.0 and above for Firebase, IronSource, LevelPlay, DTExchange, Unity, and Yandex. iOS 12.4 for MyTarget. In all other cases, iOS 12.0 is sufficient. You still can integrate Appodeal SDK into a project with a lower value of minimum iOS version. However, on devices that don't support the required iOS version our SDK will just be disabled.
85+
> - iOS 13.0 or higher for using the Appodeal React Native plugin (base SDK).
86+
> - If you integrate the optional Firebase service, your iOS deployment target must be 15.0 or higher.
9287
> - Appodeal SDK is compatible with both ARC and non-ARC projects.
9388
> - Xcode 16.1 or higher.
9489
@@ -98,100 +93,17 @@ yarn add react-native-appodeal
9893
```ruby
9994
source 'https://cdn.cocoapods.org'
10095
source 'https://github.com/appodeal/CocoaPods.git'
101-
source 'https://github.com/bidon-io/CocoaPods_Specs.git'
96+
source 'https://github.com/bidon-io/CocoaPods-Specs.git'
10297

10398
platform :ios, '13.0'
10499

105100
use_frameworks!
106101

107102
def appodeal
108-
pod 'Appodeal', '3.10.0'
109-
pod 'APDAmazonAdapter', '3.10.0.0'
110-
pod 'APDAppLovinAdapter', '3.10.0.0'
111-
pod 'APDAppLovinMAXAdapter', '3.10.0.0'
112-
pod 'APDBidMachineAdapter', '3.10.0.0'
113-
pod 'APDBidonAdapter', '3.10.0.0'
114-
pod 'APDBigoAdsAdapter', '3.10.0.0'
115-
pod 'APDDTExchangeAdapter', '3.10.0.0'
116-
pod 'APDGoogleAdMobAdapter', '3.10.0.0'
117-
pod 'APDIABAdapter', '3.10.0.0'
118-
pod 'APDInMobiAdapter', '3.10.0.0'
119-
pod 'APDIronSourceAdapter', '3.10.0.0'
120-
pod 'APDLevelPlayAdapter', '3.10.0.0'
121-
pod 'APDMetaAudienceNetworkAdapter', '3.10.0.0'
122-
pod 'APDMintegralAdapter', '3.10.0.0'
123-
pod 'APDMyTargetAdapter', '3.10.0.0'
124-
pod 'APDPangleAdapter', '3.10.0.0'
125-
pod 'APDSentryAdapter', '3.10.0.0'
126-
pod 'APDSmaatoAdapter', '3.10.0.0'
127-
pod 'APDUnityAdapter', '3.10.0.0'
128-
pod 'APDVungleAdapter', '3.10.0.0'
129-
pod 'APDYandexAdapter', '3.10.0.0'
130-
pod 'AppLovinMediationAmazonAdMarketplaceAdapter', '5.3.0.0'
131-
pod 'AppLovinMediationBidMachineAdapter', '3.4.0.0.0'
132-
pod 'AppLovinMediationBidonAdapter', '0.11.0.0'
133-
pod 'AppLovinMediationBigoAdsAdapter', '4.9.0.0'
134-
pod 'AppLovinMediationByteDanceAdapter', '7.4.1.1.0'
135-
pod 'AppLovinMediationChartboostAdapter', '9.9.2.1'
136-
pod 'AppLovinMediationFacebookAdapter', '6.20.1.0'
137-
pod 'AppLovinMediationFyberAdapter', '8.3.8.0'
138-
pod 'AppLovinMediationGoogleAdManagerAdapter', '12.8.0.0'
139-
pod 'AppLovinMediationGoogleAdapter', '12.8.0.0'
140-
pod 'AppLovinMediationInMobiAdapter', '10.8.6.0'
141-
pod 'AppLovinMediationIronSourceAdapter', '8.10.0.0.0'
142-
pod 'AppLovinMediationMintegralAdapter', '7.7.9.0.0'
143-
pod 'AppLovinMediationMobileFuseAdapter', '1.9.2.1'
144-
pod 'AppLovinMediationMolocoAdapter', '3.12.0.0'
145-
pod 'AppLovinMediationMyTargetAdapter', '5.33.0.0'
146-
pod 'AppLovinMediationOguryPresageAdapter', '5.0.2.0'
147-
pod 'AppLovinMediationPubMaticAdapter', '4.8.0.0'
148-
pod 'AppLovinMediationSmaatoAdapter', '22.9.3.1'
149-
pod 'AppLovinMediationUnityAdsAdapter', '4.16.0.0'
150-
pod 'AppLovinMediationVerveAdapter', '3.6.0.0'
151-
pod 'AppLovinMediationVungleAdapter', '7.5.2.0'
152-
pod 'AppLovinMediationYandexAdapter', '7.14.1.0'
153-
pod 'BidMachineAmazonAdapter', '3.4.0.0'
154-
pod 'BidMachineIronSourceCustomAdapter', '3.4.0.0'
155-
pod 'BidMachineMetaAudienceAdapter', '3.4.0.0'
156-
pod 'BidMachineMintegralAdapter', '3.4.0.0'
157-
pod 'BidMachineMyTargetAdapter', '3.4.0.0'
158-
pod 'BidMachinePangleAdapter', '3.4.0.0'
159-
pod 'BidMachineVungleAdapter', '3.4.0.0'
160-
pod 'BidonAdapterAmazon', '0.11.0.0'
161-
pod 'BidonAdapterBidMachine', '0.11.0.0'
162-
pod 'BidonAdapterBigoAds', '0.11.0.0'
163-
pod 'BidonAdapterChartboost', '0.11.0.0'
164-
pod 'BidonAdapterDTExchange', '0.11.0.0'
165-
pod 'BidonAdapterInMobi', '0.11.0.0'
166-
pod 'BidonAdapterIronSource', '0.11.0.0'
167-
pod 'BidonAdapterMetaAudienceNetwork', '0.11.0.0'
168-
pod 'BidonAdapterMintegral', '0.11.0.0'
169-
pod 'BidonAdapterMobileFuse', '0.11.0.0'
170-
pod 'BidonAdapterMoloco', '0.11.0.0'
171-
pod 'BidonAdapterMyTarget', '0.11.0.0'
172-
pod 'BidonAdapterUnityAds', '0.11.0.0'
173-
pod 'BidonAdapterVungle', '0.11.0.0'
174-
pod 'BidonAdapterYandex', '0.11.0.0'
175-
pod 'ISBidonCustomAdapter', '0.11.0.0'
176-
pod 'IronSourceAPSAdapter', '4.3.21.0'
177-
pod 'IronSourceAdMobAdapter', '4.3.69.0'
178-
pod 'IronSourceAppLovinAdapter', '4.3.56.0'
179-
pod 'IronSourceBidMachineAdapter', '4.3.20.0'
180-
pod 'IronSourceBigoAdapter', '4.3.8.0'
181-
pod 'IronSourceFacebookAdapter', '4.3.51.0'
182-
pod 'IronSourceFyberAdapter', '4.3.44.0'
183-
pod 'IronSourceInMobiAdapter', '4.3.30.0'
184-
pod 'IronSourceMintegralAdapter', '4.3.37.0'
185-
pod 'IronSourceMobileFuseAdapter', '4.3.8.1'
186-
pod 'IronSourceMolocoAdapter', '4.3.22.0'
187-
pod 'IronSourceMyTargetAdapter', '4.3.6.0'
188-
pod 'IronSourceOguryAdapter', '4.3.3.1'
189-
pod 'IronSourcePangleAdapter', '4.3.51.0'
190-
pod 'IronSourceSmaatoAdapter', '4.3.17.1'
191-
pod 'IronSourceUnityAdsAdapter', '4.3.54.0'
192-
pod 'IronSourceVerveAdapter', '4.3.6.1'
193-
pod 'IronSourceVungleAdapter', '4.3.46.0'
194-
pod 'IronSourceYandexAdapter', '4.3.21.0'
103+
pod 'Appodeal', '4.1.0'
104+
# Add adapter pods here.
105+
# Use the Appodeal Dependencies Wizard to generate an up-to-date list:
106+
# https://docs.appodeal.com/ios/advanced/configure-mediated-networks
195107
end
196108

197109
target 'YourAppName' do
@@ -204,8 +116,8 @@ target 'YourAppName' do
204116
end
205117
```
206118

207-
You can change following implementation to use custom mediation setup.
208-
See [docs](https://docs.appodeal.com/en/ios/get-started#getstarted-Step1.ImportSDK).
119+
> [!TIP]
120+
> Use the [Appodeal Dependencies Wizard](https://docs.appodeal.com/ios/advanced/configure-mediated-networks) to configure mediated networks and generate an always up-to-date dependency list for your Podfile.
209121
210122
> Note: Appodeal requires to use `use_frameworks!`. You need to remove Flipper dependency from Podfile and AppDelegate.
211123
@@ -278,7 +190,6 @@ To improve ad performance the following entries should be added:
278190

279191
> [!IMPORTANT]
280192
> - Android API level 23 (Android OS 6.0) or higher.
281-
> - Kotlin 2.1.0
282193
283194
1. Add Appodeal adapters.
284195

@@ -287,13 +198,11 @@ Add dependencies into `android/app/build.gradle`
287198
``` groovy
288199
dependencies {
289200
// ... other project dependencies
290-
implementation ('com.appodeal.ads:sdk:3.10.0.0') {
291-
exclude group: 'com.appodeal.ads.sdk.services', module: 'adjust'
292-
exclude group: 'com.appodeal.ads.sdk.services', module: 'appsflyer'
293-
exclude group: 'com.appodeal.ads.sdk.services', module: 'firebase'
294-
exclude group: 'com.appodeal.ads.sdk.services', module: 'facebook_analytics'
295-
}
296-
...
201+
// Appodeal SDK 4.1.0
202+
implementation("com.appodeal.ads.sdk:core:4.1.0")
203+
// Add adapter dependencies here.
204+
// Use the Appodeal Dependencies Wizard to generate an up-to-date list:
205+
// https://docs.appodeal.com/android/advanced/configure-mediated-networks
297206
}
298207
```
299208

@@ -303,15 +212,15 @@ Add repository into `android/build.gradle`
303212
allprojects {
304213
repositories {
305214
...
306-
jcenter()
307215
maven { url "https://artifactory.appodeal.com/appodeal" }
308216
...
309217
}
310218
}
311219
```
312220

313-
> Note: You can change following implementation to use custom mediation setup.
314-
> See [Docs](https://docs.appodeal.com/en/android/get-started#getstarted-ImportSDK).
221+
> [!TIP]
222+
> Starting from Appodeal SDK 4.1.0, Android uses individual adapter dependencies (same approach as iOS).
223+
> Use the [Appodeal Dependencies Wizard](https://docs.appodeal.com/android/advanced/configure-mediated-networks) to configure mediated networks and generate an always up-to-date dependency list for your `build.gradle`.
315224
316225
2. Build your project
317226

@@ -348,121 +257,20 @@ allprojects {
348257

349258
- **How to remove AdMob Ad Network from your project:**
350259

351-
Change next dependencies into `android/app/build.gradle`
352-
353-
```groovy
354-
dependencies {
355-
...
356-
// ... other project dependencies
357-
implementation('com.appodeal.ads:sdk:3.10.0.0') {
358-
// ad networks
359-
exclude group: "com.appodeal.ads.sdk.networks", module: "admob"
360-
exclude group: "com.applovin.mediation", module: "google-adapter"
361-
exclude group: "com.applovin.mediation", module: "google-ad-manager-adapter"
362-
exclude group: "com.unity3d.ads-mediation", module: "admob-adapter"
363-
// services
364-
exclude group: 'com.appodeal.ads.sdk.services', module: 'adjust'
365-
exclude group: 'com.appodeal.ads.sdk.services', module: 'appsflyer'
366-
exclude group: 'com.appodeal.ads.sdk.services', module: 'firebase'
367-
exclude group: 'com.appodeal.ads.sdk.services', module: 'facebook_analytics'
368-
}
369-
...
370-
}
371-
```
372-
373-
Remove next pods from `Podfile`:
374-
375-
```ruby
376-
pod 'APDGoogleAdMobAdapter'
377-
pod 'AppLovinMediationGoogleAdManagerAdapter'
378-
pod 'AppLovinMediationGoogleAdapter'
379-
pod 'IronSourceAdMobAdapter'
380-
```
260+
Starting from Appodeal SDK 4.1.0, dependencies are added individually.
261+
Simply do not include AdMob-related adapters in your `build.gradle` / `Podfile`.
262+
Use the [Dependencies Wizard](https://docs.appodeal.com/android/advanced/configure-mediated-networks) to generate the correct dependency list without AdMob.
381263

382264
## Services
383265

384266
Please, read iOS and Android docs at [wiki](https://docs.appodeal.com/) to get deeper understanding how
385267
Appodeal SDK Services works.
386268

387-
### Adjust
388-
389-
Add dependencies into `android/app/build.gradle`
390-
391-
```groovy
392-
dependencies {
393-
// ... other project dependencies
394-
implementation 'com.appodeal.ads.sdk.services:adjust:3.10.0.0'
395-
}
396-
```
397-
398-
Add dependencies into _Podfile_
399-
400-
```ruby
401-
def appodeal
402-
// ... other project pods
403-
pod 'APDAdjustAdapter', '3.10.0.0'
404-
end
405-
```
406-
407-
### AppsFlyer
269+
Appodeal SDK supports the following services: **Adjust**, **AppsFlyer**, **Firebase**, and **Meta**.
408270

409-
Add dependencies into `android/app/build.gradle`
410-
411-
```groovy
412-
dependencies {
413-
// ... other project dependencies
414-
implementation 'com.appodeal.ads.sdk.services:appsflyer:3.10.0.0'
415-
}
416-
```
417-
418-
Add dependencies into _Podfile_
419-
420-
```ruby
421-
def appodeal
422-
// ... other project pods
423-
pod 'APDAppsFlyerAdapter', '3.10.0.0'
424-
end
425-
```
426-
427-
### Firebase
428-
429-
Add dependencies into `android/app/build.gradle`
430-
431-
```groovy
432-
dependencies {
433-
// ... other project dependencies
434-
implementation 'com.appodeal.ads.sdk.services:firebase:3.10.0.0'
435-
}
436-
```
437-
438-
Add dependencies into _Podfile_
439-
440-
```ruby
441-
def appodeal
442-
// ... other project pods
443-
pod 'APDFirebaseAdapter', '3.10.0.0'
444-
end
445-
```
446-
447-
### Meta
448-
449-
Add dependencies into `android/app/build.gradle`
450-
451-
```groovy
452-
dependencies {
453-
// ... other project dependencies
454-
implementation 'com.appodeal.ads.sdk.services:facebook_analytics:3.10.0.0'
455-
}
456-
```
457-
458-
Add dependencies into _Podfile_
459-
460-
```ruby
461-
def appodeal
462-
// ... other project pods
463-
pod 'APDFacebookAdapter', '3.10.0.0'
464-
end
465-
```
271+
To add service adapters to your project, use the Dependencies Wizard:
272+
- [Android](https://docs.appodeal.com/android/advanced/configure-mediated-networks)
273+
- [iOS](https://docs.appodeal.com/ios/advanced/configure-mediated-networks)
466274

467275
#### Tracking In-App Purchases
468276

RNAppodeal.podspec

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,8 +17,8 @@ Pod::Spec.new do |s|
1717
s.private_header_files = "ios/*.h"
1818

1919
# Appodeal dependencies
20-
s.dependency "Appodeal", "3.10.0"
21-
s.dependency "APDIABAdapter", "3.10.0.0"
20+
s.dependency "Appodeal", "4.1.0"
21+
s.dependency "AppodealIABAdapter", "3.4.7.0"
2222

2323
# Use install_modules_dependencies helper to install the dependencies if React Native version >=0.71.0.
2424
# See https://github.com/facebook/react-native/blob/febf6b7f33fdb4904669f99d795eba4c0f95d7bf/scripts/cocoapods/new_architecture.rb#L79.

android/build.gradle

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -85,9 +85,9 @@ def kotlin_version = getExtOrDefault("kotlinVersion")
8585
dependencies {
8686
implementation "com.facebook.react:react-android"
8787
implementation "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version"
88-
// Appodeal SDK 3.10.0.0
89-
implementation "com.appodeal.ads.sdk:core:3.10.0"
90-
implementation "com.appodeal.ads.sdk.networks:iab:3.10.0.0"
88+
// Appodeal SDK 4.1.0
89+
implementation "com.appodeal.ads.sdk:core:4.1.0"
90+
implementation "com.appodeal.ads.sdk.adapters:iab:1.8.1.0"
9191
}
9292

9393
if (isNewArchitectureEnabled()) {

0 commit comments

Comments
 (0)