@react-native-google-mobile-ads/yandex 16.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +32 -0
- package/README.md +98 -0
- package/RNGoogleMobileAdsAdapterYandex.podspec +37 -0
- package/android/build.gradle +66 -0
- package/android/src/main/AndroidManifest.xml +6 -0
- package/android/src/main/java/io/invertase/googlemobileads/adapters/yandex/AdapterPackageMarker.java +10 -0
- package/app.plugin.js +1 -0
- package/ios/RNGoogleMobileAdsAdapterYandexMarker.m +12 -0
- package/lib/commonjs/index.js +48 -0
- package/lib/commonjs/index.js.map +1 -0
- package/lib/commonjs/package.json +1 -0
- package/lib/module/index.js +44 -0
- package/lib/module/index.js.map +1 -0
- package/lib/module/package.json +1 -0
- package/lib/typescript/commonjs/index.d.ts +40 -0
- package/lib/typescript/commonjs/index.d.ts.map +1 -0
- package/lib/typescript/commonjs/package.json +1 -0
- package/lib/typescript/module/index.d.ts +40 -0
- package/lib/typescript/module/index.d.ts.map +1 -0
- package/lib/typescript/module/package.json +1 -0
- package/package.json +138 -0
- package/plugin/build/index.d.ts +15 -0
- package/plugin/build/index.js +25 -0
- package/plugin/src/index.ts +52 -0
- package/plugin/tsconfig.json +9 -0
- package/plugin/tsconfig.tsbuildinfo +1 -0
- package/react-native.config.js +13 -0
- package/src/index.ts +51 -0
package/LICENSE
ADDED
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
Apache-2.0 License
|
|
2
|
+
------------------
|
|
3
|
+
|
|
4
|
+
Copyright (c) 2021-present Invertase Limited <oss@invertase.io>
|
|
5
|
+
|
|
6
|
+
Licensed under the Apache License, Version 2.0 (the "License");
|
|
7
|
+
you may not use this library except in compliance with the License.
|
|
8
|
+
|
|
9
|
+
You may obtain a copy of the Apache-2.0 License at
|
|
10
|
+
|
|
11
|
+
http://www.apache.org/licenses/LICENSE-2.0
|
|
12
|
+
|
|
13
|
+
Unless required by applicable law or agreed to in writing, software
|
|
14
|
+
distributed under the License is distributed on an "AS IS" BASIS,
|
|
15
|
+
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
16
|
+
See the License for the specific language governing permissions and
|
|
17
|
+
limitations under the License.
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
Creative Commons Attribution 3.0 License
|
|
21
|
+
----------------------------------------
|
|
22
|
+
|
|
23
|
+
Copyright (c) 2016-present Invertase Limited <oss@invertase.io>
|
|
24
|
+
|
|
25
|
+
Documentation and other instructional materials provided for this project
|
|
26
|
+
(including on a separate documentation repository or it's documentation website) are
|
|
27
|
+
licensed under the Creative Commons Attribution 3.0 License. Code samples/blocks
|
|
28
|
+
contained therein are licensed under the Apache License, Version 2.0 (the "License"), as above.
|
|
29
|
+
|
|
30
|
+
You may obtain a copy of the Creative Commons Attribution 3.0 License at
|
|
31
|
+
|
|
32
|
+
https://creativecommons.org/licenses/by/3.0/
|
package/README.md
ADDED
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
# `@react-native-google-mobile-ads/yandex`
|
|
2
|
+
|
|
3
|
+
Yandex **Google Ad Manager / AdMob mediation** adapter package for [`react-native-google-mobile-ads`](https://github.com/invertase/react-native-google-mobile-ads).
|
|
4
|
+
|
|
5
|
+
## Platform disposition: iOS-only
|
|
6
|
+
|
|
7
|
+
Google does **not** publish an open-source / versioned Yandex mediation adapter:
|
|
8
|
+
|
|
9
|
+
- No CocoaPods `GoogleMobileAdsMediationYandex` ([CocoaPods 404](https://cocoapods.org/pods/GoogleMobileAdsMediationYandex))
|
|
10
|
+
- No Maven `com.google.ads.mediation:yandex` (Google Maven 404)
|
|
11
|
+
- Yandex is absent from AdMob / GAM [choose ad sources](https://developers.google.com/admob/ios/choose-networks) lists
|
|
12
|
+
- Google’s `/mediation/yandex` guide URLs return 404 (AdMob + GAM, Android + iOS)
|
|
13
|
+
|
|
14
|
+
Character inventory treats the **Yandex GAM adapter as iOS-focused** (Android none), consistent with the Google publication gaps above.
|
|
15
|
+
|
|
16
|
+
This package therefore ships **iOS only**, linking Yandex’s own published AdMob custom-event adapters — **not** Yandex Mobile Mediation as a host (`GoogleYandexMobileAdsAdapters` / MAX / CloudX are out of scope).
|
|
17
|
+
|
|
18
|
+
Yandex does publish an Android AdMob adapter (`com.yandex.ads.adapter:admob-mobileads` on Maven Central). It is **not** linked here because Google has no official Android Yandex GAM mediation artifact and Character lists Android coverage for this network as none.
|
|
19
|
+
|
|
20
|
+
## Install
|
|
21
|
+
|
|
22
|
+
```bash
|
|
23
|
+
yarn add @react-native-google-mobile-ads/yandex
|
|
24
|
+
# peer: react-native-google-mobile-ads
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
Autolinking pulls in the iOS mediation pod. Rebuild the app after install. Android autolinking is disabled for this package.
|
|
28
|
+
|
|
29
|
+
## Native adapter class names (AdMob / GAM UI — custom events)
|
|
30
|
+
|
|
31
|
+
Yandex is added to AdMob / GAM mediation as a **custom event** (not a single `GADMediationAdapter*` class). Paste the class name for the ad format:
|
|
32
|
+
|
|
33
|
+
| Platform | Format | Class name |
|
|
34
|
+
| -------- | ------ | ---------- |
|
|
35
|
+
| iOS | Banner | `YMAAdMobCustomEventBanner` |
|
|
36
|
+
| iOS | Interstitial | `YMAAdMobCustomEventInterstitial` |
|
|
37
|
+
| iOS | Rewarded | `YMAAdMobCustomEventRewarded` |
|
|
38
|
+
| iOS | Native | `YMAAdMobCustomEventNative` |
|
|
39
|
+
| Android | — | **not shipped** |
|
|
40
|
+
|
|
41
|
+
Also exported from JS:
|
|
42
|
+
|
|
43
|
+
```ts
|
|
44
|
+
import {
|
|
45
|
+
nativeAdapterClassName,
|
|
46
|
+
networkSlug,
|
|
47
|
+
} from '@react-native-google-mobile-ads/yandex';
|
|
48
|
+
|
|
49
|
+
// nativeAdapterClassName.android === null
|
|
50
|
+
// nativeAdapterClassName.ios.banner === 'YMAAdMobCustomEventBanner'
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
Custom-event parameter JSON (Yandex Ad Unit ID) must still be configured in the AdMob / GAM UI per Yandex’s guide, e.g. `{"adUnitId": "R-M-XXXXXX-X"}`.
|
|
54
|
+
|
|
55
|
+
## Mediation dependencies (pinned in this package)
|
|
56
|
+
|
|
57
|
+
| Platform | Coordinate | Version pin |
|
|
58
|
+
| -------- | ---------- | ----------- |
|
|
59
|
+
| iOS | CocoaPods `YandexMobileAdsAdMobAdapters` | `8.4.0.0` |
|
|
60
|
+
| Android | — | **not linked** |
|
|
61
|
+
|
|
62
|
+
Citations (verify at upgrade time):
|
|
63
|
+
|
|
64
|
+
- iOS AdMob (Yandex → Google mediation): https://ads.yandex.com/helpcenter/en/dev/ios/admob-third (`pod 'YandexMobileAdsAdMobAdapters', '8.0.0.0'` example; pin uses current CocoaPods Trunk latest)
|
|
65
|
+
- CocoaPods: https://cocoapods.org/pods/YandexMobileAdsAdMobAdapters (Trunk latest `8.4.0.0` as of 2026-09-04)
|
|
66
|
+
- CocoaPods Specs podspec `8.4.0.0`: depends on `YandexMobileAds ~> 8.4.0`, `Google-Mobile-Ads-SDK ~> 13.6.0`, `platforms.ios` `13.0`
|
|
67
|
+
- Android AdMob adapter exists at Maven Central but is **not** used here: https://central.sonatype.com/artifact/com.yandex.ads.adapter/admob-mobileads (`8.4.0.0`); Yandex guide: https://ads.yandex.com/helpcenter/en/dev/android/admob-third
|
|
68
|
+
- Do **not** use `GoogleYandexMobileAdsAdapters` — that enables Google **inside Yandex Mobile Mediation** (Yandex-as-host), which is out of RNGMA adapter scope
|
|
69
|
+
|
|
70
|
+
Core continues to own `play-services-ads` / `Google-Mobile-Ads-SDK`. This package does not re-pin the GMA SDK.
|
|
71
|
+
|
|
72
|
+
`YandexMobileAdsAdMobAdapters@8.4.0.0` requires `Google-Mobile-Ads-SDK ~> 13.6.0`, which matches the core package's iOS GMA pin.
|
|
73
|
+
|
|
74
|
+
Platform floors align with core: iOS **15.1** and Android minSdk **24**. The mediation integration remains iOS-only.
|
|
75
|
+
|
|
76
|
+
> Google’s mediation guides permit Android minSdk 23 upstream; this product advertises 24 to match core.
|
|
77
|
+
|
|
78
|
+
## Expo (optional)
|
|
79
|
+
|
|
80
|
+
```js
|
|
81
|
+
// app.json / app.config.js plugins
|
|
82
|
+
[
|
|
83
|
+
'@react-native-google-mobile-ads/yandex',
|
|
84
|
+
{
|
|
85
|
+
// Pass Yandex SKAdNetwork IDs from Yandex’s current docs
|
|
86
|
+
skAdNetworkItems: [/* ... */],
|
|
87
|
+
},
|
|
88
|
+
]
|
|
89
|
+
```
|
|
90
|
+
|
|
91
|
+
App IDs stay in the core Expo plugin.
|
|
92
|
+
|
|
93
|
+
## Out of scope
|
|
94
|
+
|
|
95
|
+
- Yandex Mobile Mediation **host** SDK (`YandexMobileAdsMediation`, `GoogleYandexMobileAdsAdapters`)
|
|
96
|
+
- AppLovin MAX host SDK
|
|
97
|
+
- CloudX / other non-GAM hosts
|
|
98
|
+
- Inventing a Google-published Android Yandex GAM artifact
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
require 'json'
|
|
2
|
+
|
|
3
|
+
package = JSON.parse(File.read(File.join(__dir__, 'package.json')))
|
|
4
|
+
gam_adapter = package['gamAdapter']
|
|
5
|
+
mediation_pod = gam_adapter['iosPod']
|
|
6
|
+
mediation_version = package['sdkVersions']['ios']['googleMobileAdsMediation']
|
|
7
|
+
|
|
8
|
+
Pod::Spec.new do |s|
|
|
9
|
+
s.name = "RNGoogleMobileAdsAdapterYandex"
|
|
10
|
+
s.version = package["version"]
|
|
11
|
+
s.summary = package["description"]
|
|
12
|
+
s.description = package["description"]
|
|
13
|
+
s.homepage = "https://github.com/invertase/react-native-google-mobile-ads"
|
|
14
|
+
s.license = package["license"]
|
|
15
|
+
s.authors = "Invertase Limited"
|
|
16
|
+
s.source = {
|
|
17
|
+
:git => "#{package["repository"]["url"]}.git",
|
|
18
|
+
:tag => "v#{s.version}"
|
|
19
|
+
}
|
|
20
|
+
# Yandex AdMob adapters require iOS 13.0+ (CocoaPods podspec platforms.ios).
|
|
21
|
+
# https://ads.yandex.com/helpcenter/en/dev/ios/admob-third
|
|
22
|
+
# https://cocoapods.org/pods/YandexMobileAdsAdMobAdapters
|
|
23
|
+
s.platforms = { :ios => "15.1" }
|
|
24
|
+
s.source_files = "ios/**/*.{h,m,mm,swift}"
|
|
25
|
+
|
|
26
|
+
if respond_to?(:install_modules_dependencies, true)
|
|
27
|
+
install_modules_dependencies(s)
|
|
28
|
+
else
|
|
29
|
+
s.dependency "React-Core"
|
|
30
|
+
end
|
|
31
|
+
|
|
32
|
+
# Yandex-published AdMob custom-event adapters (Google does not publish
|
|
33
|
+
# GoogleMobileAdsMediationYandex). Not GoogleYandexMobileAdsAdapters (Yandex-as-host).
|
|
34
|
+
# https://ads.yandex.com/helpcenter/en/dev/ios/admob-third
|
|
35
|
+
# https://cocoapods.org/pods/YandexMobileAdsAdMobAdapters
|
|
36
|
+
s.dependency mediation_pod, mediation_version
|
|
37
|
+
end
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
import groovy.json.JsonSlurper
|
|
2
|
+
|
|
3
|
+
buildscript {
|
|
4
|
+
ext.getExtOrDefault = { name, fallback ->
|
|
5
|
+
return rootProject.ext.has(name) ? rootProject.ext.get(name) : fallback
|
|
6
|
+
}
|
|
7
|
+
|
|
8
|
+
// AGP is only required when opening this android/ folder stand-alone.
|
|
9
|
+
if (project == rootProject) {
|
|
10
|
+
repositories {
|
|
11
|
+
google()
|
|
12
|
+
mavenCentral()
|
|
13
|
+
}
|
|
14
|
+
dependencies {
|
|
15
|
+
classpath("com.android.tools.build:gradle:8.6.0")
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
apply plugin: "com.android.library"
|
|
21
|
+
|
|
22
|
+
def packageJson = new JsonSlurper().parseText(file("${projectDir}/../package.json").text)
|
|
23
|
+
def gamAdapter = packageJson.gamAdapter
|
|
24
|
+
def sdkVersions = packageJson.sdkVersions.android
|
|
25
|
+
|
|
26
|
+
android {
|
|
27
|
+
// A-0 layout stub only: this package is iOS-only (see package.json gamAdapter.platforms).
|
|
28
|
+
// Google publishes no com.google.ads.mediation:yandex; Android autolinking is disabled.
|
|
29
|
+
namespace "io.invertase.googlemobileads.adapters.yandex"
|
|
30
|
+
|
|
31
|
+
compileSdkVersion sdkVersions.compileSdk as Integer
|
|
32
|
+
buildToolsVersion sdkVersions.buildTools
|
|
33
|
+
|
|
34
|
+
defaultConfig {
|
|
35
|
+
minSdkVersion sdkVersions.minSdk as Integer
|
|
36
|
+
targetSdkVersion sdkVersions.targetSdk as Integer
|
|
37
|
+
buildConfigField "String", "GAM_ADAPTER_NETWORK", "\"${gamAdapter.network}\""
|
|
38
|
+
buildConfigField "String", "GAM_ADAPTER_ANDROID_SHIPPED", "\"false\""
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
compileOptions {
|
|
42
|
+
sourceCompatibility JavaVersion.VERSION_1_8
|
|
43
|
+
targetCompatibility JavaVersion.VERSION_1_8
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
buildFeatures {
|
|
47
|
+
buildConfig true
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
sourceSets {
|
|
51
|
+
main {
|
|
52
|
+
java.srcDirs = ["src/main/java"]
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
repositories {
|
|
58
|
+
google()
|
|
59
|
+
mavenCentral()
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
dependencies {
|
|
63
|
+
// Intentionally empty: no Android Yandex GAM mediation artifact is linked.
|
|
64
|
+
// Yandex publishes com.yandex.ads.adapter:admob-mobileads, but Google has no
|
|
65
|
+
// official Android Yandex GAM adapter and Character inventory is iOS-only.
|
|
66
|
+
}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="utf-8"?>
|
|
2
|
+
<!--
|
|
3
|
+
iOS-only Yandex GAM/AdMob adapter package. Android module is an A-0 layout stub;
|
|
4
|
+
autolinking is disabled (react-native.config.js). No mediation artifact linked.
|
|
5
|
+
-->
|
|
6
|
+
<manifest xmlns:android="http://schemas.android.com/apk/res/android" />
|
package/android/src/main/java/io/invertase/googlemobileads/adapters/yandex/AdapterPackageMarker.java
ADDED
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
package io.invertase.googlemobileads.adapters.yandex;
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Package marker so the Android library module has a compilable source root.
|
|
5
|
+
* This package does not expose a TurboModule and does <strong>not</strong> link
|
|
6
|
+
* an Android mediation artifact (iOS-only Yandex AdMob adapters).
|
|
7
|
+
*/
|
|
8
|
+
public final class AdapterPackageMarker {
|
|
9
|
+
private AdapterPackageMarker() {}
|
|
10
|
+
}
|
package/app.plugin.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
module.exports = require('./plugin/build');
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
#import <Foundation/Foundation.h>
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Package marker so the podspec has a compilable source file.
|
|
5
|
+
* Mediation is linked via the YandexMobileAdsAdMobAdapters pod dependency
|
|
6
|
+
* (Yandex-published AdMob custom-event adapters; iOS-only).
|
|
7
|
+
*/
|
|
8
|
+
@interface RNGoogleMobileAdsAdapterYandexMarker : NSObject
|
|
9
|
+
@end
|
|
10
|
+
|
|
11
|
+
@implementation RNGoogleMobileAdsAdapterYandexMarker
|
|
12
|
+
@end
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.networkSlug = exports.nativeAdapterClassName = void 0;
|
|
7
|
+
/**
|
|
8
|
+
* Yandex GAM / AdMob mediation adapter package public surface.
|
|
9
|
+
*
|
|
10
|
+
* Exports adapter class-name constants for AdMob / GAM UI paste / docs only.
|
|
11
|
+
* Does **not** add JS ad APIs — core `initialize()` adapter statuses remain the
|
|
12
|
+
* discovery signal (API design §5.3).
|
|
13
|
+
*
|
|
14
|
+
* **iOS-only:** Google does not publish `GoogleMobileAdsMediationYandex` /
|
|
15
|
+
* `com.google.ads.mediation:yandex`. Character’s GAM adapter inventory is
|
|
16
|
+
* iOS-focused. This package links Yandex’s published AdMob custom-event pod
|
|
17
|
+
* `YandexMobileAdsAdMobAdapters` (not Yandex-as-host / `GoogleYandexMobileAdsAdapters`).
|
|
18
|
+
*
|
|
19
|
+
* @see https://ads.yandex.com/helpcenter/en/dev/ios/admob-third
|
|
20
|
+
* @see https://cocoapods.org/pods/YandexMobileAdsAdMobAdapters
|
|
21
|
+
*/
|
|
22
|
+
|
|
23
|
+
/** Per-format iOS custom-event class names for AdMob / GAM console paste. */
|
|
24
|
+
|
|
25
|
+
/**
|
|
26
|
+
* Native adapter class names for this package.
|
|
27
|
+
* `android` is `null` — no Android mediation artifact is linked (see README).
|
|
28
|
+
*/
|
|
29
|
+
|
|
30
|
+
/** Network slug for this Character GAM adapter package. */
|
|
31
|
+
const networkSlug = exports.networkSlug = 'yandex';
|
|
32
|
+
|
|
33
|
+
/**
|
|
34
|
+
* Fully-qualified native mediation adapter class names for AdMob / GAM console.
|
|
35
|
+
* Yandex integrates as **custom events** (not a single `GADMediationAdapter*` class).
|
|
36
|
+
*
|
|
37
|
+
* @see https://ads.yandex.com/helpcenter/en/dev/ios/admob-third
|
|
38
|
+
*/
|
|
39
|
+
const nativeAdapterClassName = exports.nativeAdapterClassName = {
|
|
40
|
+
android: null,
|
|
41
|
+
ios: {
|
|
42
|
+
banner: 'YMAAdMobCustomEventBanner',
|
|
43
|
+
interstitial: 'YMAAdMobCustomEventInterstitial',
|
|
44
|
+
rewarded: 'YMAAdMobCustomEventRewarded',
|
|
45
|
+
native: 'YMAAdMobCustomEventNative'
|
|
46
|
+
}
|
|
47
|
+
};
|
|
48
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["networkSlug","exports","nativeAdapterClassName","android","ios","banner","interstitial","rewarded","native"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":";;;;;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAQA;AACA;AACA;AACA;;AAMA;AACO,MAAMA,WAAW,GAAAC,OAAA,CAAAD,WAAA,GAAG,QAAiB;;AAE5C;AACA;AACA;AACA;AACA;AACA;AACO,MAAME,sBAA8C,GAAAD,OAAA,CAAAC,sBAAA,GAAG;EAC5DC,OAAO,EAAE,IAAI;EACbC,GAAG,EAAE;IACHC,MAAM,EAAE,2BAA2B;IACnCC,YAAY,EAAE,iCAAiC;IAC/CC,QAAQ,EAAE,6BAA6B;IACvCC,MAAM,EAAE;EACV;AACF,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"type":"commonjs"}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Yandex GAM / AdMob mediation adapter package public surface.
|
|
5
|
+
*
|
|
6
|
+
* Exports adapter class-name constants for AdMob / GAM UI paste / docs only.
|
|
7
|
+
* Does **not** add JS ad APIs — core `initialize()` adapter statuses remain the
|
|
8
|
+
* discovery signal (API design §5.3).
|
|
9
|
+
*
|
|
10
|
+
* **iOS-only:** Google does not publish `GoogleMobileAdsMediationYandex` /
|
|
11
|
+
* `com.google.ads.mediation:yandex`. Character’s GAM adapter inventory is
|
|
12
|
+
* iOS-focused. This package links Yandex’s published AdMob custom-event pod
|
|
13
|
+
* `YandexMobileAdsAdMobAdapters` (not Yandex-as-host / `GoogleYandexMobileAdsAdapters`).
|
|
14
|
+
*
|
|
15
|
+
* @see https://ads.yandex.com/helpcenter/en/dev/ios/admob-third
|
|
16
|
+
* @see https://cocoapods.org/pods/YandexMobileAdsAdMobAdapters
|
|
17
|
+
*/
|
|
18
|
+
|
|
19
|
+
/** Per-format iOS custom-event class names for AdMob / GAM console paste. */
|
|
20
|
+
|
|
21
|
+
/**
|
|
22
|
+
* Native adapter class names for this package.
|
|
23
|
+
* `android` is `null` — no Android mediation artifact is linked (see README).
|
|
24
|
+
*/
|
|
25
|
+
|
|
26
|
+
/** Network slug for this Character GAM adapter package. */
|
|
27
|
+
export const networkSlug = 'yandex';
|
|
28
|
+
|
|
29
|
+
/**
|
|
30
|
+
* Fully-qualified native mediation adapter class names for AdMob / GAM console.
|
|
31
|
+
* Yandex integrates as **custom events** (not a single `GADMediationAdapter*` class).
|
|
32
|
+
*
|
|
33
|
+
* @see https://ads.yandex.com/helpcenter/en/dev/ios/admob-third
|
|
34
|
+
*/
|
|
35
|
+
export const nativeAdapterClassName = {
|
|
36
|
+
android: null,
|
|
37
|
+
ios: {
|
|
38
|
+
banner: 'YMAAdMobCustomEventBanner',
|
|
39
|
+
interstitial: 'YMAAdMobCustomEventInterstitial',
|
|
40
|
+
rewarded: 'YMAAdMobCustomEventRewarded',
|
|
41
|
+
native: 'YMAAdMobCustomEventNative'
|
|
42
|
+
}
|
|
43
|
+
};
|
|
44
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["networkSlug","nativeAdapterClassName","android","ios","banner","interstitial","rewarded","native"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":";;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAQA;AACA;AACA;AACA;;AAMA;AACA,OAAO,MAAMA,WAAW,GAAG,QAAiB;;AAE5C;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMC,sBAA8C,GAAG;EAC5DC,OAAO,EAAE,IAAI;EACbC,GAAG,EAAE;IACHC,MAAM,EAAE,2BAA2B;IACnCC,YAAY,EAAE,iCAAiC;IAC/CC,QAAQ,EAAE,6BAA6B;IACvCC,MAAM,EAAE;EACV;AACF,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"type":"module"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Yandex GAM / AdMob mediation adapter package public surface.
|
|
3
|
+
*
|
|
4
|
+
* Exports adapter class-name constants for AdMob / GAM UI paste / docs only.
|
|
5
|
+
* Does **not** add JS ad APIs — core `initialize()` adapter statuses remain the
|
|
6
|
+
* discovery signal (API design §5.3).
|
|
7
|
+
*
|
|
8
|
+
* **iOS-only:** Google does not publish `GoogleMobileAdsMediationYandex` /
|
|
9
|
+
* `com.google.ads.mediation:yandex`. Character’s GAM adapter inventory is
|
|
10
|
+
* iOS-focused. This package links Yandex’s published AdMob custom-event pod
|
|
11
|
+
* `YandexMobileAdsAdMobAdapters` (not Yandex-as-host / `GoogleYandexMobileAdsAdapters`).
|
|
12
|
+
*
|
|
13
|
+
* @see https://ads.yandex.com/helpcenter/en/dev/ios/admob-third
|
|
14
|
+
* @see https://cocoapods.org/pods/YandexMobileAdsAdMobAdapters
|
|
15
|
+
*/
|
|
16
|
+
/** Per-format iOS custom-event class names for AdMob / GAM console paste. */
|
|
17
|
+
export type YandexIosCustomEventClassNames = {
|
|
18
|
+
banner: string;
|
|
19
|
+
interstitial: string;
|
|
20
|
+
rewarded: string;
|
|
21
|
+
native: string;
|
|
22
|
+
};
|
|
23
|
+
/**
|
|
24
|
+
* Native adapter class names for this package.
|
|
25
|
+
* `android` is `null` — no Android mediation artifact is linked (see README).
|
|
26
|
+
*/
|
|
27
|
+
export type NativeAdapterClassName = {
|
|
28
|
+
android: null;
|
|
29
|
+
ios: YandexIosCustomEventClassNames;
|
|
30
|
+
};
|
|
31
|
+
/** Network slug for this Character GAM adapter package. */
|
|
32
|
+
export declare const networkSlug: "yandex";
|
|
33
|
+
/**
|
|
34
|
+
* Fully-qualified native mediation adapter class names for AdMob / GAM console.
|
|
35
|
+
* Yandex integrates as **custom events** (not a single `GADMediationAdapter*` class).
|
|
36
|
+
*
|
|
37
|
+
* @see https://ads.yandex.com/helpcenter/en/dev/ios/admob-third
|
|
38
|
+
*/
|
|
39
|
+
export declare const nativeAdapterClassName: NativeAdapterClassName;
|
|
40
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,6EAA6E;AAC7E,MAAM,MAAM,8BAA8B,GAAG;IAC3C,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF;;;GAGG;AACH,MAAM,MAAM,sBAAsB,GAAG;IACnC,OAAO,EAAE,IAAI,CAAC;IACd,GAAG,EAAE,8BAA8B,CAAC;CACrC,CAAC;AAEF,2DAA2D;AAC3D,eAAO,MAAM,WAAW,EAAG,QAAiB,CAAC;AAE7C;;;;;GAKG;AACH,eAAO,MAAM,sBAAsB,EAAE,sBAQpC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"type":"commonjs"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Yandex GAM / AdMob mediation adapter package public surface.
|
|
3
|
+
*
|
|
4
|
+
* Exports adapter class-name constants for AdMob / GAM UI paste / docs only.
|
|
5
|
+
* Does **not** add JS ad APIs — core `initialize()` adapter statuses remain the
|
|
6
|
+
* discovery signal (API design §5.3).
|
|
7
|
+
*
|
|
8
|
+
* **iOS-only:** Google does not publish `GoogleMobileAdsMediationYandex` /
|
|
9
|
+
* `com.google.ads.mediation:yandex`. Character’s GAM adapter inventory is
|
|
10
|
+
* iOS-focused. This package links Yandex’s published AdMob custom-event pod
|
|
11
|
+
* `YandexMobileAdsAdMobAdapters` (not Yandex-as-host / `GoogleYandexMobileAdsAdapters`).
|
|
12
|
+
*
|
|
13
|
+
* @see https://ads.yandex.com/helpcenter/en/dev/ios/admob-third
|
|
14
|
+
* @see https://cocoapods.org/pods/YandexMobileAdsAdMobAdapters
|
|
15
|
+
*/
|
|
16
|
+
/** Per-format iOS custom-event class names for AdMob / GAM console paste. */
|
|
17
|
+
export type YandexIosCustomEventClassNames = {
|
|
18
|
+
banner: string;
|
|
19
|
+
interstitial: string;
|
|
20
|
+
rewarded: string;
|
|
21
|
+
native: string;
|
|
22
|
+
};
|
|
23
|
+
/**
|
|
24
|
+
* Native adapter class names for this package.
|
|
25
|
+
* `android` is `null` — no Android mediation artifact is linked (see README).
|
|
26
|
+
*/
|
|
27
|
+
export type NativeAdapterClassName = {
|
|
28
|
+
android: null;
|
|
29
|
+
ios: YandexIosCustomEventClassNames;
|
|
30
|
+
};
|
|
31
|
+
/** Network slug for this Character GAM adapter package. */
|
|
32
|
+
export declare const networkSlug: "yandex";
|
|
33
|
+
/**
|
|
34
|
+
* Fully-qualified native mediation adapter class names for AdMob / GAM console.
|
|
35
|
+
* Yandex integrates as **custom events** (not a single `GADMediationAdapter*` class).
|
|
36
|
+
*
|
|
37
|
+
* @see https://ads.yandex.com/helpcenter/en/dev/ios/admob-third
|
|
38
|
+
*/
|
|
39
|
+
export declare const nativeAdapterClassName: NativeAdapterClassName;
|
|
40
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,6EAA6E;AAC7E,MAAM,MAAM,8BAA8B,GAAG;IAC3C,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF;;;GAGG;AACH,MAAM,MAAM,sBAAsB,GAAG;IACnC,OAAO,EAAE,IAAI,CAAC;IACd,GAAG,EAAE,8BAA8B,CAAC;CACrC,CAAC;AAEF,2DAA2D;AAC3D,eAAO,MAAM,WAAW,EAAG,QAAiB,CAAC;AAE7C;;;;;GAKG;AACH,eAAO,MAAM,sBAAsB,EAAE,sBAQpC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"type":"module"}
|
package/package.json
ADDED
|
@@ -0,0 +1,138 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@react-native-google-mobile-ads/yandex",
|
|
3
|
+
"version": "16.5.0",
|
|
4
|
+
"description": "Yandex Google Mobile Ads (GAM/AdMob) mediation adapter for react-native-google-mobile-ads. Links Yandex’s published AdMob custom-event adapters on iOS only; does not add JS ad APIs. Not Yandex-as-host / MAX / CloudX.",
|
|
5
|
+
"author": "Invertase <oss@invertase.io> (http://invertase.io)",
|
|
6
|
+
"license": "Apache-2.0",
|
|
7
|
+
"repository": {
|
|
8
|
+
"type": "git",
|
|
9
|
+
"url": "https://github.com/invertase/react-native-google-mobile-ads",
|
|
10
|
+
"directory": "packages/yandex"
|
|
11
|
+
},
|
|
12
|
+
"keywords": [
|
|
13
|
+
"react-native",
|
|
14
|
+
"google-mobile-ads",
|
|
15
|
+
"admob",
|
|
16
|
+
"mediation",
|
|
17
|
+
"gam",
|
|
18
|
+
"yandex"
|
|
19
|
+
],
|
|
20
|
+
"main": "lib/commonjs/index.js",
|
|
21
|
+
"module": "lib/module/index.js",
|
|
22
|
+
"react-native": "src/index.ts",
|
|
23
|
+
"types": "lib/typescript/commonjs/index.d.ts",
|
|
24
|
+
"exports": {
|
|
25
|
+
".": {
|
|
26
|
+
"react-native": {
|
|
27
|
+
"types": "./lib/typescript/module/index.d.ts",
|
|
28
|
+
"default": "./src/index.ts"
|
|
29
|
+
},
|
|
30
|
+
"source": {
|
|
31
|
+
"types": "./lib/typescript/module/index.d.ts",
|
|
32
|
+
"default": "./src/index.ts"
|
|
33
|
+
},
|
|
34
|
+
"import": {
|
|
35
|
+
"types": "./lib/typescript/module/index.d.ts",
|
|
36
|
+
"default": "./lib/module/index.js"
|
|
37
|
+
},
|
|
38
|
+
"require": {
|
|
39
|
+
"types": "./lib/typescript/commonjs/index.d.ts",
|
|
40
|
+
"default": "./lib/commonjs/index.js"
|
|
41
|
+
},
|
|
42
|
+
"default": "./lib/commonjs/index.js"
|
|
43
|
+
},
|
|
44
|
+
"./app.plugin": "./app.plugin.js",
|
|
45
|
+
"./app.plugin.js": "./app.plugin.js",
|
|
46
|
+
"./package.json": "./package.json"
|
|
47
|
+
},
|
|
48
|
+
"files": [
|
|
49
|
+
"/android/",
|
|
50
|
+
"/ios/",
|
|
51
|
+
"/lib/",
|
|
52
|
+
"/plugin/",
|
|
53
|
+
"/src/",
|
|
54
|
+
"/LICENSE",
|
|
55
|
+
"/RNGoogleMobileAdsAdapterYandex.podspec",
|
|
56
|
+
"/app.plugin.js",
|
|
57
|
+
"/react-native.config.js"
|
|
58
|
+
],
|
|
59
|
+
"publishConfig": {
|
|
60
|
+
"access": "public"
|
|
61
|
+
},
|
|
62
|
+
"gamAdapter": {
|
|
63
|
+
"network": "yandex",
|
|
64
|
+
"platforms": [
|
|
65
|
+
"ios"
|
|
66
|
+
],
|
|
67
|
+
"androidArtifact": null,
|
|
68
|
+
"androidAdapterClassName": null,
|
|
69
|
+
"iosPod": "YandexMobileAdsAdMobAdapters",
|
|
70
|
+
"iosAdapterClassNames": {
|
|
71
|
+
"banner": "YMAAdMobCustomEventBanner",
|
|
72
|
+
"interstitial": "YMAAdMobCustomEventInterstitial",
|
|
73
|
+
"rewarded": "YMAAdMobCustomEventRewarded",
|
|
74
|
+
"native": "YMAAdMobCustomEventNative"
|
|
75
|
+
},
|
|
76
|
+
"publisher": "yandex",
|
|
77
|
+
"integration": "custom-event"
|
|
78
|
+
},
|
|
79
|
+
"sdkVersions": {
|
|
80
|
+
"ios": {
|
|
81
|
+
"googleMobileAdsMediation": "8.4.0.0"
|
|
82
|
+
},
|
|
83
|
+
"android": {
|
|
84
|
+
"minSdk": 24,
|
|
85
|
+
"targetSdk": 36,
|
|
86
|
+
"compileSdk": 36,
|
|
87
|
+
"buildTools": "36.0.0"
|
|
88
|
+
}
|
|
89
|
+
},
|
|
90
|
+
"react-native-builder-bob": {
|
|
91
|
+
"source": "src",
|
|
92
|
+
"output": "lib",
|
|
93
|
+
"targets": [
|
|
94
|
+
[
|
|
95
|
+
"commonjs",
|
|
96
|
+
{
|
|
97
|
+
"esm": true
|
|
98
|
+
}
|
|
99
|
+
],
|
|
100
|
+
[
|
|
101
|
+
"module",
|
|
102
|
+
{
|
|
103
|
+
"esm": true
|
|
104
|
+
}
|
|
105
|
+
],
|
|
106
|
+
"typescript"
|
|
107
|
+
]
|
|
108
|
+
},
|
|
109
|
+
"scripts": {
|
|
110
|
+
"prepare": "yarn build && yarn build:plugin",
|
|
111
|
+
"build": "bob build",
|
|
112
|
+
"build:clean": "rimraf android/build && rimraf ios/build && rimraf lib && rimraf plugin/build",
|
|
113
|
+
"build:plugin": "yarn tsc --build plugin"
|
|
114
|
+
},
|
|
115
|
+
"peerDependencies": {
|
|
116
|
+
"@expo/config-plugins": ">=5.0.0",
|
|
117
|
+
"expo": ">=47.0.0",
|
|
118
|
+
"react": "*",
|
|
119
|
+
"react-native": ">=0.76",
|
|
120
|
+
"react-native-google-mobile-ads": ">=17.0.0"
|
|
121
|
+
},
|
|
122
|
+
"peerDependenciesMeta": {
|
|
123
|
+
"@expo/config-plugins": {
|
|
124
|
+
"optional": true
|
|
125
|
+
},
|
|
126
|
+
"expo": {
|
|
127
|
+
"optional": true
|
|
128
|
+
}
|
|
129
|
+
},
|
|
130
|
+
"devDependencies": {
|
|
131
|
+
"@expo/config-plugins": "^54.0.4",
|
|
132
|
+
"react-native-builder-bob": "^0.40.13",
|
|
133
|
+
"react-native-google-mobile-ads": "16.5.0",
|
|
134
|
+
"rimraf": "^6.0.1",
|
|
135
|
+
"typescript": "^5.9.3"
|
|
136
|
+
},
|
|
137
|
+
"gitHead": "5229e2daf94d943a9aa6c8501dd31bf9c554cd0b"
|
|
138
|
+
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { ConfigPlugin } from '@expo/config-plugins';
|
|
2
|
+
type PluginParameters = {
|
|
3
|
+
/**
|
|
4
|
+
* Yandex SKAdNetwork identifiers to merge into Info.plist.
|
|
5
|
+
* Core's Expo plugin owns app IDs; this adapter only merges mediation network rows.
|
|
6
|
+
* Pass identifiers from Yandex’s current SKAdNetwork documentation at integrate time.
|
|
7
|
+
*/
|
|
8
|
+
skAdNetworkItems?: string[];
|
|
9
|
+
};
|
|
10
|
+
/**
|
|
11
|
+
* Optional Expo config plugin for `@react-native-google-mobile-ads/yandex`.
|
|
12
|
+
* Does not set GMA app IDs (core plugin).
|
|
13
|
+
*/
|
|
14
|
+
declare const withRNGoogleMobileAdsAdapterYandex: ConfigPlugin<PluginParameters>;
|
|
15
|
+
export default withRNGoogleMobileAdsAdapterYandex;
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const config_plugins_1 = require("@expo/config-plugins");
|
|
4
|
+
const withAdapterSkAdNetworkItems = (config, skAdNetworkItems) => {
|
|
5
|
+
if (skAdNetworkItems === undefined || skAdNetworkItems.length === 0) {
|
|
6
|
+
return config;
|
|
7
|
+
}
|
|
8
|
+
return (0, config_plugins_1.withInfoPlist)(config, config => {
|
|
9
|
+
config.modResults.SKAdNetworkItems = config.modResults.SKAdNetworkItems ?? [];
|
|
10
|
+
const existingIdentifiers = config.modResults.SKAdNetworkItems.map((item) => item.SKAdNetworkIdentifier);
|
|
11
|
+
const missingIdentifiers = skAdNetworkItems.filter(identifier => !existingIdentifiers.includes(identifier));
|
|
12
|
+
config.modResults.SKAdNetworkItems.push(...missingIdentifiers.map(identifier => ({
|
|
13
|
+
SKAdNetworkIdentifier: identifier,
|
|
14
|
+
})));
|
|
15
|
+
return config;
|
|
16
|
+
});
|
|
17
|
+
};
|
|
18
|
+
/**
|
|
19
|
+
* Optional Expo config plugin for `@react-native-google-mobile-ads/yandex`.
|
|
20
|
+
* Does not set GMA app IDs (core plugin).
|
|
21
|
+
*/
|
|
22
|
+
const withRNGoogleMobileAdsAdapterYandex = (config, { skAdNetworkItems } = {}) => {
|
|
23
|
+
return (0, config_plugins_1.withPlugins)(config, [[withAdapterSkAdNetworkItems, skAdNetworkItems]]);
|
|
24
|
+
};
|
|
25
|
+
exports.default = withRNGoogleMobileAdsAdapterYandex;
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import { ConfigPlugin, withInfoPlist, withPlugins } from '@expo/config-plugins';
|
|
2
|
+
|
|
3
|
+
type PluginParameters = {
|
|
4
|
+
/**
|
|
5
|
+
* Yandex SKAdNetwork identifiers to merge into Info.plist.
|
|
6
|
+
* Core's Expo plugin owns app IDs; this adapter only merges mediation network rows.
|
|
7
|
+
* Pass identifiers from Yandex’s current SKAdNetwork documentation at integrate time.
|
|
8
|
+
*/
|
|
9
|
+
skAdNetworkItems?: string[];
|
|
10
|
+
};
|
|
11
|
+
|
|
12
|
+
const withAdapterSkAdNetworkItems: ConfigPlugin<PluginParameters['skAdNetworkItems']> = (
|
|
13
|
+
config,
|
|
14
|
+
skAdNetworkItems,
|
|
15
|
+
) => {
|
|
16
|
+
if (skAdNetworkItems === undefined || skAdNetworkItems.length === 0) {
|
|
17
|
+
return config;
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
return withInfoPlist(config, config => {
|
|
21
|
+
config.modResults.SKAdNetworkItems = config.modResults.SKAdNetworkItems ?? [];
|
|
22
|
+
|
|
23
|
+
const existingIdentifiers = config.modResults.SKAdNetworkItems.map(
|
|
24
|
+
(item: { SKAdNetworkIdentifier: string }) => item.SKAdNetworkIdentifier,
|
|
25
|
+
);
|
|
26
|
+
|
|
27
|
+
const missingIdentifiers = skAdNetworkItems.filter(
|
|
28
|
+
identifier => !existingIdentifiers.includes(identifier),
|
|
29
|
+
);
|
|
30
|
+
|
|
31
|
+
config.modResults.SKAdNetworkItems.push(
|
|
32
|
+
...missingIdentifiers.map(identifier => ({
|
|
33
|
+
SKAdNetworkIdentifier: identifier,
|
|
34
|
+
})),
|
|
35
|
+
);
|
|
36
|
+
|
|
37
|
+
return config;
|
|
38
|
+
});
|
|
39
|
+
};
|
|
40
|
+
|
|
41
|
+
/**
|
|
42
|
+
* Optional Expo config plugin for `@react-native-google-mobile-ads/yandex`.
|
|
43
|
+
* Does not set GMA app IDs (core plugin).
|
|
44
|
+
*/
|
|
45
|
+
const withRNGoogleMobileAdsAdapterYandex: ConfigPlugin<PluginParameters> = (
|
|
46
|
+
config,
|
|
47
|
+
{ skAdNetworkItems } = {},
|
|
48
|
+
) => {
|
|
49
|
+
return withPlugins(config, [[withAdapterSkAdNetworkItems, skAdNetworkItems]]);
|
|
50
|
+
};
|
|
51
|
+
|
|
52
|
+
export default withRNGoogleMobileAdsAdapterYandex;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"root":["./src/index.ts"],"version":"5.9.3"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Autolinking entry for the Yandex GAM adapter package.
|
|
3
|
+
* iOS-only: Android is disabled (Google has no official Android Yandex GAM artifact;
|
|
4
|
+
* Character inventory is iOS-focused). No TurboModule / Fabric view.
|
|
5
|
+
*/
|
|
6
|
+
module.exports = {
|
|
7
|
+
dependency: {
|
|
8
|
+
platforms: {
|
|
9
|
+
android: null,
|
|
10
|
+
ios: {},
|
|
11
|
+
},
|
|
12
|
+
},
|
|
13
|
+
};
|
package/src/index.ts
ADDED
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Yandex GAM / AdMob mediation adapter package public surface.
|
|
3
|
+
*
|
|
4
|
+
* Exports adapter class-name constants for AdMob / GAM UI paste / docs only.
|
|
5
|
+
* Does **not** add JS ad APIs — core `initialize()` adapter statuses remain the
|
|
6
|
+
* discovery signal (API design §5.3).
|
|
7
|
+
*
|
|
8
|
+
* **iOS-only:** Google does not publish `GoogleMobileAdsMediationYandex` /
|
|
9
|
+
* `com.google.ads.mediation:yandex`. Character’s GAM adapter inventory is
|
|
10
|
+
* iOS-focused. This package links Yandex’s published AdMob custom-event pod
|
|
11
|
+
* `YandexMobileAdsAdMobAdapters` (not Yandex-as-host / `GoogleYandexMobileAdsAdapters`).
|
|
12
|
+
*
|
|
13
|
+
* @see https://ads.yandex.com/helpcenter/en/dev/ios/admob-third
|
|
14
|
+
* @see https://cocoapods.org/pods/YandexMobileAdsAdMobAdapters
|
|
15
|
+
*/
|
|
16
|
+
|
|
17
|
+
/** Per-format iOS custom-event class names for AdMob / GAM console paste. */
|
|
18
|
+
export type YandexIosCustomEventClassNames = {
|
|
19
|
+
banner: string;
|
|
20
|
+
interstitial: string;
|
|
21
|
+
rewarded: string;
|
|
22
|
+
native: string;
|
|
23
|
+
};
|
|
24
|
+
|
|
25
|
+
/**
|
|
26
|
+
* Native adapter class names for this package.
|
|
27
|
+
* `android` is `null` — no Android mediation artifact is linked (see README).
|
|
28
|
+
*/
|
|
29
|
+
export type NativeAdapterClassName = {
|
|
30
|
+
android: null;
|
|
31
|
+
ios: YandexIosCustomEventClassNames;
|
|
32
|
+
};
|
|
33
|
+
|
|
34
|
+
/** Network slug for this Character GAM adapter package. */
|
|
35
|
+
export const networkSlug = 'yandex' as const;
|
|
36
|
+
|
|
37
|
+
/**
|
|
38
|
+
* Fully-qualified native mediation adapter class names for AdMob / GAM console.
|
|
39
|
+
* Yandex integrates as **custom events** (not a single `GADMediationAdapter*` class).
|
|
40
|
+
*
|
|
41
|
+
* @see https://ads.yandex.com/helpcenter/en/dev/ios/admob-third
|
|
42
|
+
*/
|
|
43
|
+
export const nativeAdapterClassName: NativeAdapterClassName = {
|
|
44
|
+
android: null,
|
|
45
|
+
ios: {
|
|
46
|
+
banner: 'YMAAdMobCustomEventBanner',
|
|
47
|
+
interstitial: 'YMAAdMobCustomEventInterstitial',
|
|
48
|
+
rewarded: 'YMAAdMobCustomEventRewarded',
|
|
49
|
+
native: 'YMAAdMobCustomEventNative',
|
|
50
|
+
},
|
|
51
|
+
};
|