teads-react-native 6.0.2
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 +20 -0
- package/README.md +93 -0
- package/android/bin/build/generated/source/buildConfig/debug/com/outbrainreactnative/BuildConfig.class +0 -0
- package/android/bin/build/intermediates/aapt_friendly_merged_manifests/debug/aapt/AndroidManifest.xml +7 -0
- package/android/bin/build/intermediates/aapt_friendly_merged_manifests/debug/aapt/output-metadata.json +18 -0
- package/android/bin/build/intermediates/aar_metadata/debug/aar-metadata.properties +6 -0
- package/android/bin/build/intermediates/annotation_processor_list/debug/annotationProcessors.json +1 -0
- package/android/bin/build/intermediates/compile_library_classes_jar/debug/classes.jar +0 -0
- package/android/bin/build/intermediates/compile_r_class_jar/debug/R.jar +0 -0
- package/android/bin/build/intermediates/compile_symbol_list/debug/R.txt +0 -0
- package/android/bin/build/intermediates/incremental/debug/packageDebugResources/compile-file-map.properties +1 -0
- package/android/bin/build/intermediates/incremental/debug/packageDebugResources/merger.xml +2 -0
- package/android/bin/build/intermediates/incremental/mergeDebugJniLibFolders/merger.xml +2 -0
- package/android/bin/build/intermediates/incremental/mergeDebugShaders/merger.xml +2 -0
- package/android/bin/build/intermediates/incremental/packageDebugAssets/merger.xml +2 -0
- package/android/bin/build/intermediates/local_only_symbol_list/debug/R-def.txt +2 -0
- package/android/bin/build/intermediates/manifest_merge_blame_file/debug/manifest-merger-blame-debug-report.txt +7 -0
- package/android/bin/build/intermediates/merged_manifest/debug/AndroidManifest.xml +7 -0
- package/android/bin/build/intermediates/navigation_json/debug/navigation.json +1 -0
- package/android/bin/build/intermediates/runtime_library_classes_jar/debug/classes.jar +0 -0
- package/android/bin/build/intermediates/symbol_list_with_package_name/debug/package-aware-r.txt +1 -0
- package/android/bin/build/outputs/logs/manifest-merger-debug-report.txt +16 -0
- package/android/bin/build/tmp/compileDebugJavaWithJavac/previous-compilation-data.bin +0 -0
- package/android/bin/build.gradle +101 -0
- package/android/bin/gradle/wrapper/gradle-wrapper.jar +0 -0
- package/android/bin/gradle/wrapper/gradle-wrapper.properties +7 -0
- package/android/bin/gradle.properties +5 -0
- package/android/bin/gradlew +249 -0
- package/android/bin/gradlew.bat +92 -0
- package/android/bin/src/main/AndroidManifest.xml +3 -0
- package/android/bin/src/main/AndroidManifestNew.xml +2 -0
- package/android/bin/src/main/java/com/outbrainreactnative/OutbrainNativePackage.class +0 -0
- package/android/bin/src/main/java/com/outbrainreactnative/SFWebViewWidgetManager.class +0 -0
- package/android/bin/src/main/java/com/outbrainreactnative/SFWebViewWidgetWrapper.class +0 -0
- package/android/bin/src/main/java/com/outbrainreactnative/Utils.class +0 -0
- package/android/build.gradle +129 -0
- package/android/generated/java/com/facebook/react/viewmanagers/TeadsAdPlacementFeedManagerDelegate.java +62 -0
- package/android/generated/java/com/facebook/react/viewmanagers/TeadsAdPlacementFeedManagerInterface.java +28 -0
- package/android/generated/java/com/facebook/react/viewmanagers/TeadsAdPlacementMediaManagerDelegate.java +44 -0
- package/android/generated/java/com/facebook/react/viewmanagers/TeadsAdPlacementMediaManagerInterface.java +22 -0
- package/android/generated/jni/CMakeLists.txt +36 -0
- package/android/generated/jni/RNTeadsReactNativeViewSpec-generated.cpp +22 -0
- package/android/generated/jni/RNTeadsReactNativeViewSpec.h +24 -0
- package/android/generated/jni/react/renderer/components/RNTeadsReactNativeViewSpec/ComponentDescriptors.cpp +23 -0
- package/android/generated/jni/react/renderer/components/RNTeadsReactNativeViewSpec/ComponentDescriptors.h +25 -0
- package/android/generated/jni/react/renderer/components/RNTeadsReactNativeViewSpec/EventEmitters.cpp +17 -0
- package/android/generated/jni/react/renderer/components/RNTeadsReactNativeViewSpec/EventEmitters.h +30 -0
- package/android/generated/jni/react/renderer/components/RNTeadsReactNativeViewSpec/Props.cpp +46 -0
- package/android/generated/jni/react/renderer/components/RNTeadsReactNativeViewSpec/Props.h +51 -0
- package/android/generated/jni/react/renderer/components/RNTeadsReactNativeViewSpec/RNTeadsReactNativeViewSpecJSI-generated.cpp +17 -0
- package/android/generated/jni/react/renderer/components/RNTeadsReactNativeViewSpec/RNTeadsReactNativeViewSpecJSI.h +19 -0
- package/android/generated/jni/react/renderer/components/RNTeadsReactNativeViewSpec/ShadowNodes.cpp +18 -0
- package/android/generated/jni/react/renderer/components/RNTeadsReactNativeViewSpec/ShadowNodes.h +43 -0
- package/android/generated/jni/react/renderer/components/RNTeadsReactNativeViewSpec/States.cpp +16 -0
- package/android/generated/jni/react/renderer/components/RNTeadsReactNativeViewSpec/States.h +41 -0
- package/android/gradle.properties +5 -0
- package/android/src/main/AndroidManifest.xml +3 -0
- package/android/src/main/AndroidManifestNew.xml +2 -0
- package/android/src/main/java/tv/teads/reactnative/SFWidgetContainer.java +19 -0
- package/android/src/main/java/tv/teads/reactnative/TeadsAdPlacementFeedManager.java +109 -0
- package/android/src/main/java/tv/teads/reactnative/TeadsFeedPackage.java +53 -0
- package/android/src/main/java/tv/teads/reactnative/TeadsMediaPlacementManager.java +76 -0
- package/android/src/main/java/tv/teads/reactnative/TeadsPlacementContainer.java +327 -0
- package/android/src/main/java/tv/teads/reactnative/Utils.java +65 -0
- package/ios/RCTTeadsAdPlacementFeed.h +22 -0
- package/ios/RCTTeadsAdPlacementFeed.mm +114 -0
- package/ios/RCTTeadsAdPlacementMedia.h +23 -0
- package/ios/RCTTeadsAdPlacementMedia.mm +91 -0
- package/ios/TeadsAdContainer.swift +212 -0
- package/ios/TeadsEventModule.h +16 -0
- package/ios/TeadsEventModule.mm +52 -0
- package/ios/TeadsReactNative.h +8 -0
- package/ios/generated/RNTeadsReactNativeViewSpec/ComponentDescriptors.cpp +23 -0
- package/ios/generated/RNTeadsReactNativeViewSpec/ComponentDescriptors.h +25 -0
- package/ios/generated/RNTeadsReactNativeViewSpec/EventEmitters.cpp +17 -0
- package/ios/generated/RNTeadsReactNativeViewSpec/EventEmitters.h +30 -0
- package/ios/generated/RNTeadsReactNativeViewSpec/Props.cpp +46 -0
- package/ios/generated/RNTeadsReactNativeViewSpec/Props.h +51 -0
- package/ios/generated/RNTeadsReactNativeViewSpec/RCTComponentViewHelpers.h +24 -0
- package/ios/generated/RNTeadsReactNativeViewSpec/RNTeadsReactNativeViewSpec-generated.mm +16 -0
- package/ios/generated/RNTeadsReactNativeViewSpec/RNTeadsReactNativeViewSpec.h +38 -0
- package/ios/generated/RNTeadsReactNativeViewSpec/ShadowNodes.cpp +18 -0
- package/ios/generated/RNTeadsReactNativeViewSpec/ShadowNodes.h +43 -0
- package/ios/generated/RNTeadsReactNativeViewSpec/States.cpp +16 -0
- package/ios/generated/RNTeadsReactNativeViewSpec/States.h +41 -0
- package/ios/generated/RNTeadsReactNativeViewSpecJSI-generated.cpp +17 -0
- package/ios/generated/RNTeadsReactNativeViewSpecJSI.h +19 -0
- package/lib/commonjs/DefaultTeadsWidgetHandler.js +21 -0
- package/lib/commonjs/DefaultTeadsWidgetHandler.js.map +1 -0
- package/lib/commonjs/TeadsAdPlacementFeed.js +131 -0
- package/lib/commonjs/TeadsAdPlacementFeed.js.map +1 -0
- package/lib/commonjs/TeadsAdPlacementMedia.js +115 -0
- package/lib/commonjs/TeadsAdPlacementMedia.js.map +1 -0
- package/lib/commonjs/TeadsInAppBrowser.js +48 -0
- package/lib/commonjs/TeadsInAppBrowser.js.map +1 -0
- package/lib/commonjs/TeadsMediaNativeComponent.ts +15 -0
- package/lib/commonjs/WebViewNativeComponent.ts +21 -0
- package/lib/commonjs/constants.js +9 -0
- package/lib/commonjs/constants.js.map +1 -0
- package/lib/commonjs/index.js +20 -0
- package/lib/commonjs/index.js.map +1 -0
- package/lib/commonjs/package.json +1 -0
- package/lib/commonjs/types.d.js +2 -0
- package/lib/commonjs/types.d.js.map +1 -0
- package/lib/commonjs/version.js +8 -0
- package/lib/commonjs/version.js.map +1 -0
- package/lib/module/DefaultTeadsWidgetHandler.js +17 -0
- package/lib/module/DefaultTeadsWidgetHandler.js.map +1 -0
- package/lib/module/TeadsAdPlacementFeed.js +126 -0
- package/lib/module/TeadsAdPlacementFeed.js.map +1 -0
- package/lib/module/TeadsAdPlacementMedia.js +110 -0
- package/lib/module/TeadsAdPlacementMedia.js.map +1 -0
- package/lib/module/TeadsInAppBrowser.js +44 -0
- package/lib/module/TeadsInAppBrowser.js.map +1 -0
- package/lib/module/TeadsMediaNativeComponent.ts +15 -0
- package/lib/module/WebViewNativeComponent.ts +21 -0
- package/lib/module/constants.js +5 -0
- package/lib/module/constants.js.map +1 -0
- package/lib/module/index.js +5 -0
- package/lib/module/index.js.map +1 -0
- package/lib/module/package.json +1 -0
- package/lib/module/types.d.js +2 -0
- package/lib/module/types.d.js.map +1 -0
- package/lib/module/version.js +4 -0
- package/lib/module/version.js.map +1 -0
- package/lib/typescript/commonjs/package.json +1 -0
- package/lib/typescript/commonjs/src/DefaultTeadsWidgetHandler.d.ts +4 -0
- package/lib/typescript/commonjs/src/DefaultTeadsWidgetHandler.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/TeadsAdPlacementFeed.d.ts +3 -0
- package/lib/typescript/commonjs/src/TeadsAdPlacementFeed.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/TeadsAdPlacementMedia.d.ts +3 -0
- package/lib/typescript/commonjs/src/TeadsAdPlacementMedia.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/TeadsInAppBrowser.d.ts +4 -0
- package/lib/typescript/commonjs/src/TeadsInAppBrowser.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/TeadsMediaNativeComponent.d.ts +12 -0
- package/lib/typescript/commonjs/src/TeadsMediaNativeComponent.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/WebViewNativeComponent.d.ts +18 -0
- package/lib/typescript/commonjs/src/WebViewNativeComponent.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/constants.d.ts +3 -0
- package/lib/typescript/commonjs/src/constants.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/index.d.ts +4 -0
- package/lib/typescript/commonjs/src/index.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/version.d.ts +2 -0
- package/lib/typescript/commonjs/src/version.d.ts.map +1 -0
- package/lib/typescript/module/package.json +1 -0
- package/lib/typescript/module/src/DefaultTeadsWidgetHandler.d.ts +4 -0
- package/lib/typescript/module/src/DefaultTeadsWidgetHandler.d.ts.map +1 -0
- package/lib/typescript/module/src/TeadsAdPlacementFeed.d.ts +3 -0
- package/lib/typescript/module/src/TeadsAdPlacementFeed.d.ts.map +1 -0
- package/lib/typescript/module/src/TeadsAdPlacementMedia.d.ts +3 -0
- package/lib/typescript/module/src/TeadsAdPlacementMedia.d.ts.map +1 -0
- package/lib/typescript/module/src/TeadsInAppBrowser.d.ts +4 -0
- package/lib/typescript/module/src/TeadsInAppBrowser.d.ts.map +1 -0
- package/lib/typescript/module/src/TeadsMediaNativeComponent.d.ts +12 -0
- package/lib/typescript/module/src/TeadsMediaNativeComponent.d.ts.map +1 -0
- package/lib/typescript/module/src/WebViewNativeComponent.d.ts +18 -0
- package/lib/typescript/module/src/WebViewNativeComponent.d.ts.map +1 -0
- package/lib/typescript/module/src/constants.d.ts +3 -0
- package/lib/typescript/module/src/constants.d.ts.map +1 -0
- package/lib/typescript/module/src/index.d.ts +4 -0
- package/lib/typescript/module/src/index.d.ts.map +1 -0
- package/lib/typescript/module/src/version.d.ts +2 -0
- package/lib/typescript/module/src/version.d.ts.map +1 -0
- package/package.json +227 -0
- package/src/DefaultTeadsWidgetHandler.ts +17 -0
- package/src/TeadsAdPlacementFeed.tsx +142 -0
- package/src/TeadsAdPlacementMedia.tsx +127 -0
- package/src/TeadsInAppBrowser.ts +42 -0
- package/src/TeadsMediaNativeComponent.ts +15 -0
- package/src/WebViewNativeComponent.ts +21 -0
- package/src/constants.ts +11 -0
- package/src/index.tsx +9 -0
- package/src/types.d.ts +32 -0
- package/src/version.ts +1 -0
- package/teads-react-native.podspec +42 -0
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* This code was generated by [react-native-codegen](https://www.npmjs.com/package/react-native-codegen).
|
|
3
|
+
*
|
|
4
|
+
* Do not edit this file as changes may cause incorrect behavior and will be lost
|
|
5
|
+
* once the code is regenerated.
|
|
6
|
+
*
|
|
7
|
+
* @generated by codegen project: GenerateModuleCpp.js
|
|
8
|
+
*/
|
|
9
|
+
|
|
10
|
+
#include "RNTeadsReactNativeViewSpecJSI.h"
|
|
11
|
+
|
|
12
|
+
namespace facebook::react {
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
} // namespace facebook::react
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* This code was generated by [react-native-codegen](https://www.npmjs.com/package/react-native-codegen).
|
|
3
|
+
*
|
|
4
|
+
* Do not edit this file as changes may cause incorrect behavior and will be lost
|
|
5
|
+
* once the code is regenerated.
|
|
6
|
+
*
|
|
7
|
+
* @generated by codegen project: GenerateModuleH.js
|
|
8
|
+
*/
|
|
9
|
+
|
|
10
|
+
#pragma once
|
|
11
|
+
|
|
12
|
+
#include <ReactCommon/TurboModule.h>
|
|
13
|
+
#include <react/bridging/Bridging.h>
|
|
14
|
+
|
|
15
|
+
namespace facebook::react {
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
} // namespace facebook::react
|
package/android/generated/jni/react/renderer/components/RNTeadsReactNativeViewSpec/ShadowNodes.cpp
ADDED
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
|
|
2
|
+
/**
|
|
3
|
+
* This code was generated by [react-native-codegen](https://www.npmjs.com/package/react-native-codegen).
|
|
4
|
+
*
|
|
5
|
+
* Do not edit this file as changes may cause incorrect behavior and will be lost
|
|
6
|
+
* once the code is regenerated.
|
|
7
|
+
*
|
|
8
|
+
* @generated by codegen project: GenerateShadowNodeCpp.js
|
|
9
|
+
*/
|
|
10
|
+
|
|
11
|
+
#include "ShadowNodes.h"
|
|
12
|
+
|
|
13
|
+
namespace facebook::react {
|
|
14
|
+
|
|
15
|
+
extern const char TeadsAdPlacementMediaComponentName[] = "TeadsAdPlacementMedia";
|
|
16
|
+
extern const char TeadsAdPlacementFeedComponentName[] = "TeadsAdPlacementFeed";
|
|
17
|
+
|
|
18
|
+
} // namespace facebook::react
|
package/android/generated/jni/react/renderer/components/RNTeadsReactNativeViewSpec/ShadowNodes.h
ADDED
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
|
|
2
|
+
/**
|
|
3
|
+
* This code was generated by [react-native-codegen](https://www.npmjs.com/package/react-native-codegen).
|
|
4
|
+
*
|
|
5
|
+
* Do not edit this file as changes may cause incorrect behavior and will be lost
|
|
6
|
+
* once the code is regenerated.
|
|
7
|
+
*
|
|
8
|
+
* @generated by codegen project: GenerateShadowNodeH.js
|
|
9
|
+
*/
|
|
10
|
+
|
|
11
|
+
#pragma once
|
|
12
|
+
|
|
13
|
+
#include "EventEmitters.h"
|
|
14
|
+
#include "Props.h"
|
|
15
|
+
#include "States.h"
|
|
16
|
+
#include <react/renderer/components/view/ConcreteViewShadowNode.h>
|
|
17
|
+
#include <jsi/jsi.h>
|
|
18
|
+
|
|
19
|
+
namespace facebook::react {
|
|
20
|
+
|
|
21
|
+
JSI_EXPORT extern const char TeadsAdPlacementMediaComponentName[];
|
|
22
|
+
|
|
23
|
+
/*
|
|
24
|
+
* `ShadowNode` for <TeadsAdPlacementMedia> component.
|
|
25
|
+
*/
|
|
26
|
+
using TeadsAdPlacementMediaShadowNode = ConcreteViewShadowNode<
|
|
27
|
+
TeadsAdPlacementMediaComponentName,
|
|
28
|
+
TeadsAdPlacementMediaProps,
|
|
29
|
+
TeadsAdPlacementMediaEventEmitter,
|
|
30
|
+
TeadsAdPlacementMediaState>;
|
|
31
|
+
|
|
32
|
+
JSI_EXPORT extern const char TeadsAdPlacementFeedComponentName[];
|
|
33
|
+
|
|
34
|
+
/*
|
|
35
|
+
* `ShadowNode` for <TeadsAdPlacementFeed> component.
|
|
36
|
+
*/
|
|
37
|
+
using TeadsAdPlacementFeedShadowNode = ConcreteViewShadowNode<
|
|
38
|
+
TeadsAdPlacementFeedComponentName,
|
|
39
|
+
TeadsAdPlacementFeedProps,
|
|
40
|
+
TeadsAdPlacementFeedEventEmitter,
|
|
41
|
+
TeadsAdPlacementFeedState>;
|
|
42
|
+
|
|
43
|
+
} // namespace facebook::react
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
|
|
2
|
+
/**
|
|
3
|
+
* This code was generated by [react-native-codegen](https://www.npmjs.com/package/react-native-codegen).
|
|
4
|
+
*
|
|
5
|
+
* Do not edit this file as changes may cause incorrect behavior and will be lost
|
|
6
|
+
* once the code is regenerated.
|
|
7
|
+
*
|
|
8
|
+
* @generated by codegen project: GenerateStateCpp.js
|
|
9
|
+
*/
|
|
10
|
+
#include "States.h"
|
|
11
|
+
|
|
12
|
+
namespace facebook::react {
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
} // namespace facebook::react
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* This code was generated by [react-native-codegen](https://www.npmjs.com/package/react-native-codegen).
|
|
3
|
+
*
|
|
4
|
+
* Do not edit this file as changes may cause incorrect behavior and will be lost
|
|
5
|
+
* once the code is regenerated.
|
|
6
|
+
*
|
|
7
|
+
* @generated by codegen project: GenerateStateH.js
|
|
8
|
+
*/
|
|
9
|
+
#pragma once
|
|
10
|
+
|
|
11
|
+
#ifdef ANDROID
|
|
12
|
+
#include <folly/dynamic.h>
|
|
13
|
+
#endif
|
|
14
|
+
|
|
15
|
+
namespace facebook::react {
|
|
16
|
+
|
|
17
|
+
class TeadsAdPlacementMediaState {
|
|
18
|
+
public:
|
|
19
|
+
TeadsAdPlacementMediaState() = default;
|
|
20
|
+
|
|
21
|
+
#ifdef ANDROID
|
|
22
|
+
TeadsAdPlacementMediaState(TeadsAdPlacementMediaState const &previousState, folly::dynamic data){};
|
|
23
|
+
folly::dynamic getDynamic() const {
|
|
24
|
+
return {};
|
|
25
|
+
};
|
|
26
|
+
#endif
|
|
27
|
+
};
|
|
28
|
+
|
|
29
|
+
class TeadsAdPlacementFeedState {
|
|
30
|
+
public:
|
|
31
|
+
TeadsAdPlacementFeedState() = default;
|
|
32
|
+
|
|
33
|
+
#ifdef ANDROID
|
|
34
|
+
TeadsAdPlacementFeedState(TeadsAdPlacementFeedState const &previousState, folly::dynamic data){};
|
|
35
|
+
folly::dynamic getDynamic() const {
|
|
36
|
+
return {};
|
|
37
|
+
};
|
|
38
|
+
#endif
|
|
39
|
+
};
|
|
40
|
+
|
|
41
|
+
} // namespace facebook::react
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
package tv.teads.reactnative;
|
|
2
|
+
|
|
3
|
+
import android.annotation.SuppressLint;
|
|
4
|
+
import com.facebook.react.bridge.ReactContext;
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* Internal alias for TeadsPlacementContainer to maintain backward compatibility with the SDK.
|
|
8
|
+
* The SDK's visibility handler looks for a class named "SFWidgetContainer" to properly
|
|
9
|
+
* calculate visibility in React Native's view hierarchy.
|
|
10
|
+
*
|
|
11
|
+
* This class is package-private (not part of public API) and will be removed
|
|
12
|
+
* once the SDK is updated to recognize TeadsPlacementContainer directly.
|
|
13
|
+
*/
|
|
14
|
+
@SuppressLint("ViewConstructor")
|
|
15
|
+
class SFWidgetContainer extends TeadsPlacementContainer {
|
|
16
|
+
SFWidgetContainer(ReactContext context) {
|
|
17
|
+
super(context);
|
|
18
|
+
}
|
|
19
|
+
}
|
|
@@ -0,0 +1,109 @@
|
|
|
1
|
+
package tv.teads.reactnative;
|
|
2
|
+
|
|
3
|
+
import android.util.Log;
|
|
4
|
+
|
|
5
|
+
import com.facebook.react.module.annotations.ReactModule;
|
|
6
|
+
import com.facebook.react.uimanager.SimpleViewManager;
|
|
7
|
+
import com.facebook.react.uimanager.ThemedReactContext;
|
|
8
|
+
import com.facebook.react.uimanager.ViewManagerDelegate;
|
|
9
|
+
|
|
10
|
+
// Codegen generated files matching the spec given component
|
|
11
|
+
import com.facebook.react.viewmanagers.TeadsAdPlacementFeedManagerInterface;
|
|
12
|
+
import com.facebook.react.viewmanagers.TeadsAdPlacementFeedManagerDelegate;
|
|
13
|
+
|
|
14
|
+
@ReactModule(name = TeadsAdPlacementFeedManager.REACT_CLASS)
|
|
15
|
+
public class TeadsAdPlacementFeedManager extends SimpleViewManager<TeadsPlacementContainer> implements TeadsAdPlacementFeedManagerInterface<TeadsPlacementContainer> {
|
|
16
|
+
// Codegen component name
|
|
17
|
+
public static final String REACT_CLASS = "TeadsAdPlacementFeed";
|
|
18
|
+
// uses the Codegen generated delegate
|
|
19
|
+
private final TeadsAdPlacementFeedManagerDelegate<TeadsPlacementContainer, TeadsAdPlacementFeedManager> delegate =
|
|
20
|
+
new TeadsAdPlacementFeedManagerDelegate<>(this);
|
|
21
|
+
|
|
22
|
+
@Override
|
|
23
|
+
public ViewManagerDelegate<TeadsPlacementContainer> getDelegate() {
|
|
24
|
+
return delegate;
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
@Override
|
|
28
|
+
public String getName() {
|
|
29
|
+
return REACT_CLASS;
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
@Override
|
|
33
|
+
public TeadsPlacementContainer createViewInstance(ThemedReactContext context) {
|
|
34
|
+
// Use SFWidgetContainer (extends TeadsPlacementContainer) so SDK's visibility handler can find it by class name
|
|
35
|
+
return new SFWidgetContainer(context);
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
// ViewManager needs to define how all the React's components props will update the native view
|
|
39
|
+
@Override
|
|
40
|
+
public void setWidgetId(TeadsPlacementContainer view, String value) {
|
|
41
|
+
view.getInitParams().putString("widgetId", value);
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
@Override
|
|
45
|
+
public void setWidgetRandomId(TeadsPlacementContainer view, int value) {
|
|
46
|
+
view.getInitParams().putInt("widgetRandomId", value);
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
@Override
|
|
50
|
+
public void setWidgetIndex(TeadsPlacementContainer view, int value) {
|
|
51
|
+
view.getInitParams().putInt("widgetIndex", value);
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
@Override
|
|
55
|
+
public void setUrl(TeadsPlacementContainer view, String value) {
|
|
56
|
+
view.getInitParams().putString("articleUrl", value);
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
@Override
|
|
60
|
+
public void setInstallationKey(TeadsPlacementContainer view, String value) {
|
|
61
|
+
view.getInitParams().putString("partnerKey", value);
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
@Override
|
|
65
|
+
public void setPackageVersion(TeadsPlacementContainer view, String value) {
|
|
66
|
+
view.getInitParams().putString("packageVersion", value);
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
@Override
|
|
70
|
+
public void setDarkMode(TeadsPlacementContainer view, boolean value) {
|
|
71
|
+
view.getInitParams().putBoolean("darkMode", value);
|
|
72
|
+
view.toggleDarkMode(value);
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
@Override
|
|
76
|
+
public void setExtId(TeadsPlacementContainer view, String value) {
|
|
77
|
+
view.getInitParams().putString("extId", value);
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
@Override
|
|
81
|
+
public void setExtSecondaryId(TeadsPlacementContainer view, String value) {
|
|
82
|
+
view.getInitParams().putString("extSecondaryId", value);
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
@Override
|
|
86
|
+
public void setPubImpId(TeadsPlacementContainer view, String value) {
|
|
87
|
+
view.getInitParams().putString("pubImpId", value);
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
// If userId is required in native:
|
|
91
|
+
@Override
|
|
92
|
+
public void setUserId(TeadsPlacementContainer view, String value) {
|
|
93
|
+
view.getInitParams().putString("userId", value);
|
|
94
|
+
}
|
|
95
|
+
|
|
96
|
+
@Override
|
|
97
|
+
public void onAfterUpdateTransaction(TeadsPlacementContainer view) {
|
|
98
|
+
super.onAfterUpdateTransaction(view);
|
|
99
|
+
view.initialize(view.getInitParams());
|
|
100
|
+
}
|
|
101
|
+
|
|
102
|
+
@Override
|
|
103
|
+
public void onDropViewInstance(TeadsPlacementContainer view) {
|
|
104
|
+
Log.d("TeadsAdPlacementFeedManager", "onDropViewInstance called");
|
|
105
|
+
view.cleanup();
|
|
106
|
+
super.onDropViewInstance(view);
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
package tv.teads.reactnative;
|
|
2
|
+
|
|
3
|
+
import com.facebook.react.BaseReactPackage;
|
|
4
|
+
import com.facebook.react.bridge.NativeModule;
|
|
5
|
+
import com.facebook.react.bridge.ReactApplicationContext;
|
|
6
|
+
import com.facebook.react.module.model.ReactModuleInfo;
|
|
7
|
+
import com.facebook.react.module.model.ReactModuleInfoProvider;
|
|
8
|
+
import com.facebook.react.uimanager.ViewManager;
|
|
9
|
+
|
|
10
|
+
import java.util.Arrays;
|
|
11
|
+
import java.util.Collections;
|
|
12
|
+
import java.util.HashMap;
|
|
13
|
+
import java.util.List;
|
|
14
|
+
import java.util.Map;
|
|
15
|
+
|
|
16
|
+
public class TeadsFeedPackage extends BaseReactPackage {
|
|
17
|
+
|
|
18
|
+
@Override
|
|
19
|
+
public List<ViewManager> createViewManagers(ReactApplicationContext reactContext) {
|
|
20
|
+
return Arrays.asList(
|
|
21
|
+
new TeadsAdPlacementFeedManager(),
|
|
22
|
+
new TeadsMediaPlacementManager()
|
|
23
|
+
);
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
@Override
|
|
27
|
+
public NativeModule getModule(String s, ReactApplicationContext reactApplicationContext) {
|
|
28
|
+
if (TeadsAdPlacementFeedManager.REACT_CLASS.equals(s)) {
|
|
29
|
+
return new TeadsAdPlacementFeedManager();
|
|
30
|
+
}
|
|
31
|
+
return null;
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
@Override
|
|
35
|
+
public ReactModuleInfoProvider getReactModuleInfoProvider() {
|
|
36
|
+
return new ReactModuleInfoProvider() {
|
|
37
|
+
@Override
|
|
38
|
+
public Map<String, ReactModuleInfo> getReactModuleInfos() {
|
|
39
|
+
Map<String, ReactModuleInfo> map = new HashMap<>();
|
|
40
|
+
map.put(TeadsAdPlacementFeedManager.REACT_CLASS, new ReactModuleInfo(
|
|
41
|
+
TeadsAdPlacementFeedManager.REACT_CLASS, // name
|
|
42
|
+
TeadsAdPlacementFeedManager.REACT_CLASS, // className
|
|
43
|
+
false, // canOverrideExistingModule
|
|
44
|
+
false, // needsEagerInit
|
|
45
|
+
false, // isCxxModule
|
|
46
|
+
true // isTurboModule
|
|
47
|
+
));
|
|
48
|
+
return map;
|
|
49
|
+
}
|
|
50
|
+
};
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
package tv.teads.reactnative;
|
|
2
|
+
|
|
3
|
+
import android.util.Log;
|
|
4
|
+
|
|
5
|
+
import com.facebook.react.module.annotations.ReactModule;
|
|
6
|
+
import com.facebook.react.uimanager.SimpleViewManager;
|
|
7
|
+
import com.facebook.react.uimanager.ThemedReactContext;
|
|
8
|
+
import com.facebook.react.uimanager.ViewManagerDelegate;
|
|
9
|
+
|
|
10
|
+
// Codegen generated files matching the spec given component
|
|
11
|
+
import com.facebook.react.viewmanagers.TeadsAdPlacementMediaManagerDelegate;
|
|
12
|
+
import com.facebook.react.viewmanagers.TeadsAdPlacementMediaManagerInterface;
|
|
13
|
+
|
|
14
|
+
@ReactModule(name = TeadsMediaPlacementManager.REACT_CLASS)
|
|
15
|
+
public class TeadsMediaPlacementManager extends SimpleViewManager<TeadsPlacementContainer> implements TeadsAdPlacementMediaManagerInterface<TeadsPlacementContainer> {
|
|
16
|
+
// Codegen component name
|
|
17
|
+
public static final String REACT_CLASS = "TeadsAdPlacementMedia";
|
|
18
|
+
// uses the Codegen generated delegate
|
|
19
|
+
private final TeadsAdPlacementMediaManagerDelegate<TeadsPlacementContainer, TeadsMediaPlacementManager> delegate =
|
|
20
|
+
new TeadsAdPlacementMediaManagerDelegate<>(this);
|
|
21
|
+
|
|
22
|
+
@Override
|
|
23
|
+
public ViewManagerDelegate<TeadsPlacementContainer> getDelegate() {
|
|
24
|
+
return delegate;
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
@Override
|
|
28
|
+
public String getName() {
|
|
29
|
+
return REACT_CLASS;
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
@Override
|
|
33
|
+
public TeadsPlacementContainer createViewInstance(ThemedReactContext context) {
|
|
34
|
+
// Use SFWidgetContainer (extends TeadsPlacementContainer) so SDK's visibility handler can find it by class name
|
|
35
|
+
return new SFWidgetContainer(context);
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
// ViewManager needs to define how all the React's components props will update the native view
|
|
39
|
+
@Override
|
|
40
|
+
public void setPid(TeadsPlacementContainer view, String value) {
|
|
41
|
+
view.getInitParams().putString("pid", value);
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
@Override
|
|
45
|
+
public void setWidgetRandomId(TeadsPlacementContainer view, int value) {
|
|
46
|
+
view.getInitParams().putInt("widgetRandomId", value);
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
@Override
|
|
50
|
+
public void setUrl(TeadsPlacementContainer view, String value) {
|
|
51
|
+
view.getInitParams().putString("articleUrl", value);
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
@Override
|
|
55
|
+
public void setInstallationKey(TeadsPlacementContainer view, String value) {
|
|
56
|
+
view.getInitParams().putString("partnerKey", value);
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
@Override
|
|
60
|
+
public void setPackageVersion(TeadsPlacementContainer view, String value) {
|
|
61
|
+
view.getInitParams().putString("packageVersion", value);
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
@Override
|
|
65
|
+
public void onAfterUpdateTransaction(TeadsPlacementContainer view) {
|
|
66
|
+
super.onAfterUpdateTransaction(view);
|
|
67
|
+
view.initialize(view.getInitParams());
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
@Override
|
|
71
|
+
public void onDropViewInstance(TeadsPlacementContainer view) {
|
|
72
|
+
Log.d("TeadsMediaPlacementManager", "onDropViewInstance called");
|
|
73
|
+
view.cleanup();
|
|
74
|
+
super.onDropViewInstance(view);
|
|
75
|
+
}
|
|
76
|
+
}
|