tapjoy-react-native-sdk 13.2.0 → 13.3.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/CODEOWNERS +1 -0
- package/android/build.gradle +1 -2
- package/android/src/main/java/com/tapjoyreactnativesdk/TJOfferwallDiscoverNativeView.kt +90 -0
- package/android/src/main/java/com/tapjoyreactnativesdk/TJOfferwallDiscoverNativeViewManager.kt +50 -0
- package/android/src/main/java/com/tapjoyreactnativesdk/TapjoyReactNativeSdkModule.kt +1 -0
- package/android/src/main/java/com/tapjoyreactnativesdk/TapjoyReactNativeSdkPackage.kt +1 -3
- package/example/android/app/build.gradle +1 -1
- package/example/android/app/src/main/AndroidManifest.xml +2 -2
- package/example/android/app/src/main/res/xml/network_security_config.xml +2 -0
- package/example/package.json +1 -1
- package/example/src/App.tsx +2 -0
- package/example/src/MainScreen.tsx +1 -1
- package/example/src/OfferwallDiscoverScreen.tsx +193 -0
- package/example/src/OfferwallScreen.tsx +1 -1
- package/example/src/Styles.ts +15 -1
- package/ios/TJOfferwallDiscoverNativeViewManager.m +10 -0
- package/ios/TJOfferwallDiscoverNativeViewManager.swift +81 -0
- package/ios/TapjoyOfferwallDiscoverNativeView.swift +23 -0
- package/ios/TapjoyReactNativeSdk-Bridging-Header.h +1 -0
- package/ios/TapjoyReactNativeSdk.xcodeproj/project.pbxproj +10 -4
- package/lib/commonjs/TJOfferwallDiscoverView.js +37 -0
- package/lib/commonjs/TJOfferwallDiscoverView.js.map +1 -0
- package/lib/commonjs/TJUtil.js +21 -0
- package/lib/commonjs/TJUtil.js.map +1 -0
- package/lib/commonjs/TJVersion.js +1 -1
- package/lib/commonjs/index.js +7 -0
- package/lib/commonjs/index.js.map +1 -1
- package/lib/module/TJOfferwallDiscoverView.js +29 -0
- package/lib/module/TJOfferwallDiscoverView.js.map +1 -0
- package/lib/module/TJUtil.js +14 -0
- package/lib/module/TJUtil.js.map +1 -0
- package/lib/module/TJVersion.js +1 -1
- package/lib/module/index.js +2 -1
- package/lib/module/index.js.map +1 -1
- package/lib/typescript/TJOfferwallDiscoverView.d.ts +18 -0
- package/lib/typescript/TJOfferwallDiscoverView.d.ts.map +1 -0
- package/lib/typescript/TJUtil.d.ts +5 -0
- package/lib/typescript/TJUtil.d.ts.map +1 -0
- package/lib/typescript/index.d.ts +2 -1
- package/lib/typescript/index.d.ts.map +1 -1
- package/package.json +3 -2
- package/src/TJOfferwallDiscoverView.tsx +57 -0
- package/src/TJUtil.ts +14 -0
- package/src/TJVersion.ts +1 -1
- package/src/index.ts +2 -1
- package/tapjoy-react-native-sdk.podspec +1 -1
package/CODEOWNERS
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
* @Tapjoy/sdk
|
package/android/build.gradle
CHANGED
|
@@ -22,7 +22,6 @@ def isNewArchitectureEnabled() {
|
|
|
22
22
|
apply plugin: "com.android.library"
|
|
23
23
|
apply plugin: "kotlin-android"
|
|
24
24
|
|
|
25
|
-
|
|
26
25
|
def appProject = rootProject.allprojects.find { it.plugins.hasPlugin('com.android.application') }
|
|
27
26
|
|
|
28
27
|
if (isNewArchitectureEnabled()) {
|
|
@@ -82,7 +81,7 @@ dependencies {
|
|
|
82
81
|
//noinspection GradleDynamicVersion
|
|
83
82
|
implementation 'com.facebook.react:react-native:0.71.4'
|
|
84
83
|
implementation "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version"
|
|
85
|
-
implementation 'com.tapjoy:tapjoy-android-sdk:13.
|
|
84
|
+
implementation 'com.tapjoy:tapjoy-android-sdk:13.3.0'
|
|
86
85
|
implementation "com.google.android.gms:play-services-ads-identifier:18.0.1"
|
|
87
86
|
}
|
|
88
87
|
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
package com.tapjoyreactnativesdk
|
|
2
|
+
|
|
3
|
+
import android.content.Context
|
|
4
|
+
import android.util.AttributeSet
|
|
5
|
+
import com.facebook.react.bridge.Arguments
|
|
6
|
+
import com.facebook.react.bridge.ReactContext
|
|
7
|
+
import com.facebook.react.bridge.WritableMap
|
|
8
|
+
import com.facebook.react.uimanager.UIManagerHelper
|
|
9
|
+
import com.tapjoy.TJError
|
|
10
|
+
import com.tapjoy.TJOfferwallDiscoverListener
|
|
11
|
+
import com.tapjoy.TJOfferwallDiscoverView
|
|
12
|
+
import com.facebook.react.uimanager.events.Event
|
|
13
|
+
|
|
14
|
+
class TJOfferwallDiscoverNativeView : TJOfferwallDiscoverView, TJOfferwallDiscoverListener {
|
|
15
|
+
|
|
16
|
+
constructor(context: Context) : super(context)
|
|
17
|
+
|
|
18
|
+
constructor(context: Context, attrs: AttributeSet) : super(context, attrs)
|
|
19
|
+
|
|
20
|
+
constructor(context: Context, attrs: AttributeSet, defStyleAttr: Int) : super(context, attrs, defStyleAttr)
|
|
21
|
+
|
|
22
|
+
/**
|
|
23
|
+
* Request OfferwallDiscover content.
|
|
24
|
+
*
|
|
25
|
+
* @Param placement: Placement name.
|
|
26
|
+
*/
|
|
27
|
+
fun requestContent(placement: String) {
|
|
28
|
+
super.setListener(this)
|
|
29
|
+
super.requestContent(context, placement)
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
// TJOfferwallDiscoverListener implementation.
|
|
33
|
+
private fun sendEvent(event: Event<*>) {
|
|
34
|
+
val reactContext = context as ReactContext
|
|
35
|
+
UIManagerHelper
|
|
36
|
+
.getEventDispatcherForReactTag(reactContext, id)
|
|
37
|
+
?.dispatchEvent(event)
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
override fun requestSuccess() {
|
|
41
|
+
val data = Arguments.createMap().apply {
|
|
42
|
+
putString("result", "requestSuccess")
|
|
43
|
+
}
|
|
44
|
+
sendEvent(OfferwallDiscoverEvent(UIManagerHelper.getSurfaceId(this), id, "onRequestSuccess", data))
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
override fun requestFailure(error: TJError) {
|
|
48
|
+
val data = Arguments.createMap().apply {
|
|
49
|
+
putInt("errorCode", error.code)
|
|
50
|
+
putString("errorMessage", error.message)
|
|
51
|
+
}
|
|
52
|
+
sendEvent(OfferwallDiscoverEvent(UIManagerHelper.getSurfaceId(this), id, "onRequestFailure", data))
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
override fun contentReady() {
|
|
56
|
+
val data = Arguments.createMap().apply {
|
|
57
|
+
putString("result", "contentReady")
|
|
58
|
+
}
|
|
59
|
+
sendEvent(OfferwallDiscoverEvent(UIManagerHelper.getSurfaceId(this), id, "onContentReady", data))
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
override fun contentError(error: TJError) {
|
|
63
|
+
val data = Arguments.createMap().apply {
|
|
64
|
+
putInt("errorCode", error.code)
|
|
65
|
+
putString("errorMessage", error.message)
|
|
66
|
+
}
|
|
67
|
+
sendEvent(OfferwallDiscoverEvent(UIManagerHelper.getSurfaceId(this), id, "onContentError", data))
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
override fun requestLayout() {
|
|
71
|
+
super.requestLayout()
|
|
72
|
+
post(measureAndLayout)
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
private val measureAndLayout = Runnable {
|
|
76
|
+
measure(MeasureSpec.makeMeasureSpec(width, MeasureSpec.EXACTLY),
|
|
77
|
+
MeasureSpec.makeMeasureSpec(height, MeasureSpec.EXACTLY))
|
|
78
|
+
layout(left, top, right, bottom)
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
class OfferwallDiscoverEvent(surfaceId: Int, viewId: Int, private val eventName: String, private val data: WritableMap) : Event<OfferwallDiscoverEvent>(surfaceId, viewId) {
|
|
83
|
+
override fun getEventName() = eventName
|
|
84
|
+
|
|
85
|
+
// All events for a given view can be coalesced.
|
|
86
|
+
override fun getCoalescingKey(): Short = 0
|
|
87
|
+
|
|
88
|
+
override fun getEventData(): WritableMap? = data
|
|
89
|
+
|
|
90
|
+
}
|
package/android/src/main/java/com/tapjoyreactnativesdk/TJOfferwallDiscoverNativeViewManager.kt
ADDED
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
package com.tapjoyreactnativesdk
|
|
2
|
+
|
|
3
|
+
import com.facebook.react.bridge.ReactApplicationContext
|
|
4
|
+
import com.facebook.react.bridge.ReadableArray
|
|
5
|
+
import com.facebook.react.common.MapBuilder
|
|
6
|
+
import com.facebook.react.uimanager.SimpleViewManager
|
|
7
|
+
import com.facebook.react.uimanager.ThemedReactContext
|
|
8
|
+
|
|
9
|
+
enum class Command(private val value:String) {
|
|
10
|
+
REQUEST_CONTENT("requestContent"),
|
|
11
|
+
CLEAR_CONTENT("clearContent");
|
|
12
|
+
|
|
13
|
+
fun getValue(): String {
|
|
14
|
+
return value
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
class TJOfferwallDiscoverNativeViewManager(
|
|
19
|
+
private val callerContext: ReactApplicationContext
|
|
20
|
+
) : SimpleViewManager<TJOfferwallDiscoverNativeView>() {
|
|
21
|
+
|
|
22
|
+
var view: TJOfferwallDiscoverNativeView? = null;
|
|
23
|
+
override fun getName() = REACT_CLASS
|
|
24
|
+
|
|
25
|
+
companion object {
|
|
26
|
+
const val REACT_CLASS = "TJOfferwallDiscoverNativeView"
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
override fun createViewInstance(context: ThemedReactContext): TJOfferwallDiscoverNativeView {
|
|
30
|
+
return TJOfferwallDiscoverNativeView(context)
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
override fun receiveCommand(view: TJOfferwallDiscoverNativeView, commandId: String, args: ReadableArray?) {
|
|
34
|
+
super.receiveCommand(view, commandId, args)
|
|
35
|
+
if (commandId == Command.REQUEST_CONTENT.getValue()) {
|
|
36
|
+
view.requestContent(args!!.getString(0))
|
|
37
|
+
} else if (commandId == Command.CLEAR_CONTENT.getValue()) {
|
|
38
|
+
view.clearContent()
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
override fun getExportedCustomDirectEventTypeConstants(): Map<String, Any?>? {
|
|
43
|
+
return MapBuilder.of<String, Any?>(
|
|
44
|
+
"onRequestSuccess", MapBuilder.of("registrationName", "onRequestSuccess"),
|
|
45
|
+
"onRequestFailure", MapBuilder.of("registrationName", "onRequestFailure"),
|
|
46
|
+
"onContentReady", MapBuilder.of("registrationName", "onContentReady"),
|
|
47
|
+
"onContentError", MapBuilder.of("registrationName", "onContentError")
|
|
48
|
+
)
|
|
49
|
+
}
|
|
50
|
+
}
|
|
@@ -10,7 +10,5 @@ class TapjoyReactNativeSdkPackage : ReactPackage {
|
|
|
10
10
|
return listOf(TapjoyReactNativeSdkModule(reactContext))
|
|
11
11
|
}
|
|
12
12
|
|
|
13
|
-
override fun createViewManagers(reactContext: ReactApplicationContext): List<ViewManager<*, *>>
|
|
14
|
-
return emptyList()
|
|
15
|
-
}
|
|
13
|
+
override fun createViewManagers(reactContext: ReactApplicationContext): List<ViewManager<*, *>> = listOf(TJOfferwallDiscoverNativeViewManager(reactContext))
|
|
16
14
|
}
|
|
@@ -167,7 +167,7 @@ dependencies {
|
|
|
167
167
|
}
|
|
168
168
|
|
|
169
169
|
implementation 'com.google.android.gms:play-services-appset:16.0.2'
|
|
170
|
-
implementation 'com.tapjoy:tapjoy-android-sdk:13.
|
|
170
|
+
implementation 'com.tapjoy:tapjoy-android-sdk:13.3.0'
|
|
171
171
|
implementation(platform("org.jetbrains.kotlin:kotlin-bom:1.8.0"))
|
|
172
172
|
}
|
|
173
173
|
|
|
@@ -7,8 +7,8 @@
|
|
|
7
7
|
android:label="@string/app_name"
|
|
8
8
|
android:icon="@mipmap/ic_launcher"
|
|
9
9
|
android:allowBackup="false"
|
|
10
|
-
android:
|
|
11
|
-
android:
|
|
10
|
+
android:networkSecurityConfig="@xml/network_security_config"
|
|
11
|
+
android:theme="@style/AppTheme">
|
|
12
12
|
<activity
|
|
13
13
|
android:name=".MainActivity"
|
|
14
14
|
android:label="@string/app_name"
|
|
@@ -8,5 +8,7 @@
|
|
|
8
8
|
<domain-config cleartextTrafficPermitted="true">
|
|
9
9
|
<domain includeSubdomains="true">127.0.0.1</domain>
|
|
10
10
|
<domain includeSubdomains="true">localhost</domain>
|
|
11
|
+
<domain includeSubdomains="true">10.0.2.2</domain>
|
|
12
|
+
<domain includeSubdomains="true">10.0.3.2</domain>
|
|
11
13
|
</domain-config>
|
|
12
14
|
</network-security-config>
|
package/example/package.json
CHANGED
package/example/src/App.tsx
CHANGED
|
@@ -3,6 +3,7 @@ import { createBottomTabNavigator } from '@react-navigation/bottom-tabs';
|
|
|
3
3
|
import { NavigationContainer } from '@react-navigation/native';
|
|
4
4
|
import MainScreen from './MainScreen';
|
|
5
5
|
import OfferwallScreen from './OfferwallScreen';
|
|
6
|
+
import OfferwallDiscoverScreen from './OfferwallDiscoverScreen';
|
|
6
7
|
import UserProperties from './UserProperties';
|
|
7
8
|
import styles from './Styles';
|
|
8
9
|
|
|
@@ -20,6 +21,7 @@ export default function App() {
|
|
|
20
21
|
>
|
|
21
22
|
<Tab.Screen name="Main" component={MainScreen} />
|
|
22
23
|
<Tab.Screen name="Offerwall" component={OfferwallScreen} />
|
|
24
|
+
<Tab.Screen name="Discover" component={OfferwallDiscoverScreen} />
|
|
23
25
|
<Tab.Screen name="User Properties" component={UserProperties} />
|
|
24
26
|
</Tab.Navigator>
|
|
25
27
|
</NavigationContainer>
|
|
@@ -0,0 +1,193 @@
|
|
|
1
|
+
import React, { useEffect, useRef, useState } from 'react';
|
|
2
|
+
import { useFocusEffect } from '@react-navigation/native';
|
|
3
|
+
import {
|
|
4
|
+
FlatList,
|
|
5
|
+
SafeAreaView,
|
|
6
|
+
ScrollView,
|
|
7
|
+
Text,
|
|
8
|
+
TextInput,
|
|
9
|
+
View,
|
|
10
|
+
Dimensions,
|
|
11
|
+
} from 'react-native';
|
|
12
|
+
import Tapjoy, { TJOfferwallDiscoverView } from 'tapjoy-react-native-sdk';
|
|
13
|
+
import AsyncStorage from '@react-native-async-storage/async-storage';
|
|
14
|
+
import dayjs from 'dayjs';
|
|
15
|
+
import Button from './Button';
|
|
16
|
+
import styles from './Styles';
|
|
17
|
+
|
|
18
|
+
const OfferwallDiscoverScreen: React.FC = () => {
|
|
19
|
+
const widthChangedManually = useRef(false);
|
|
20
|
+
const [width, setWidth] = useState<string>(
|
|
21
|
+
Math.floor(Dimensions.get('window').width) + ''
|
|
22
|
+
);
|
|
23
|
+
const [height, setHeight] = useState<string>('262');
|
|
24
|
+
|
|
25
|
+
const [offerwallPlacementName, _setOfferwallPlacementName] =
|
|
26
|
+
useState<string>('offerwall_discover');
|
|
27
|
+
const [isSdkConnected, setIsSdkConnected] = useState<boolean>(false);
|
|
28
|
+
|
|
29
|
+
const [logData, setLogData] = useState<Array<string>>([]);
|
|
30
|
+
const owdRef: React.MutableRefObject<TJOfferwallDiscoverView | null> =
|
|
31
|
+
useRef<TJOfferwallDiscoverView | null>(null);
|
|
32
|
+
|
|
33
|
+
useFocusEffect(
|
|
34
|
+
React.useCallback(() => {
|
|
35
|
+
setIsSdkConnected(Tapjoy.isConnected());
|
|
36
|
+
}, [])
|
|
37
|
+
);
|
|
38
|
+
|
|
39
|
+
useEffect(() => {
|
|
40
|
+
AsyncStorage.getItem('owdPlacementName').then((value) => {
|
|
41
|
+
if (value !== null) {
|
|
42
|
+
setOfferwallPlacementName(value).then();
|
|
43
|
+
}
|
|
44
|
+
});
|
|
45
|
+
}, []);
|
|
46
|
+
|
|
47
|
+
useEffect(() => {
|
|
48
|
+
Dimensions.addEventListener('change', () => {
|
|
49
|
+
if (!widthChangedManually.current) {
|
|
50
|
+
setWidth(Math.floor(Dimensions.get('window').width) + '');
|
|
51
|
+
}
|
|
52
|
+
});
|
|
53
|
+
}, []);
|
|
54
|
+
|
|
55
|
+
const handleClearInput = async () => {
|
|
56
|
+
await setOfferwallPlacementName('');
|
|
57
|
+
};
|
|
58
|
+
|
|
59
|
+
const loadContent = async () => {
|
|
60
|
+
try {
|
|
61
|
+
owdRef.current!.requestContent(offerwallPlacementName);
|
|
62
|
+
} catch (error: any) {
|
|
63
|
+
addLogItem(error);
|
|
64
|
+
}
|
|
65
|
+
};
|
|
66
|
+
|
|
67
|
+
const clearContent = () => {
|
|
68
|
+
addLogItem('cleared');
|
|
69
|
+
owdRef.current!.clearContent();
|
|
70
|
+
};
|
|
71
|
+
|
|
72
|
+
const setOfferwallPlacementName = async (placementName: string) => {
|
|
73
|
+
_setOfferwallPlacementName(placementName);
|
|
74
|
+
await AsyncStorage.setItem('owdPlacementName', placementName);
|
|
75
|
+
};
|
|
76
|
+
|
|
77
|
+
const addLogItem = (item: string) => {
|
|
78
|
+
setLogData([dayjs(new Date()).format('HH:mm:ss') + ' ' + item, ...logData]);
|
|
79
|
+
};
|
|
80
|
+
|
|
81
|
+
const stripNonNumericValue = (value: string) => {
|
|
82
|
+
value = value.replace(/\D/g, '');
|
|
83
|
+
if (value === '') value = '0';
|
|
84
|
+
let intValue = parseInt(value, 10);
|
|
85
|
+
return intValue + '';
|
|
86
|
+
};
|
|
87
|
+
|
|
88
|
+
const getViewStyle = () => {
|
|
89
|
+
return {
|
|
90
|
+
width: width ? parseInt(width, 10) : 0,
|
|
91
|
+
height: height ? parseInt(height, 10) : 0,
|
|
92
|
+
backgroundColor: '#999999',
|
|
93
|
+
};
|
|
94
|
+
};
|
|
95
|
+
|
|
96
|
+
return (
|
|
97
|
+
<View style={styles.mainContainer}>
|
|
98
|
+
<ScrollView style={styles.offerwallScrollContainer}>
|
|
99
|
+
<SafeAreaView style={styles.container}>
|
|
100
|
+
<View style={styles.inputContainer}>
|
|
101
|
+
<Text style={styles.textInputLabel}>Width</Text>
|
|
102
|
+
<TextInput
|
|
103
|
+
keyboardType="numeric"
|
|
104
|
+
style={styles.textInput}
|
|
105
|
+
onChangeText={(value) => {
|
|
106
|
+
value = stripNonNumericValue(value);
|
|
107
|
+
setWidth(value);
|
|
108
|
+
widthChangedManually.current = true;
|
|
109
|
+
}}
|
|
110
|
+
value={width}
|
|
111
|
+
autoCorrect={false}
|
|
112
|
+
placeholderTextColor="#888"
|
|
113
|
+
autoCapitalize="none"
|
|
114
|
+
/>
|
|
115
|
+
<Text style={[styles.textInputLabel, styles.leftSpacing]}>
|
|
116
|
+
Height
|
|
117
|
+
</Text>
|
|
118
|
+
<TextInput
|
|
119
|
+
keyboardType="numeric"
|
|
120
|
+
style={styles.textInput}
|
|
121
|
+
onChangeText={(value) => {
|
|
122
|
+
value = stripNonNumericValue(value);
|
|
123
|
+
setHeight(value);
|
|
124
|
+
}}
|
|
125
|
+
value={height.replace(/\D/g, '')}
|
|
126
|
+
autoCorrect={false}
|
|
127
|
+
placeholderTextColor="#888"
|
|
128
|
+
autoCapitalize="none"
|
|
129
|
+
/>
|
|
130
|
+
</View>
|
|
131
|
+
<View style={styles.inputContainer}>
|
|
132
|
+
<TextInput
|
|
133
|
+
style={styles.textInput}
|
|
134
|
+
value={offerwallPlacementName}
|
|
135
|
+
onChangeText={setOfferwallPlacementName}
|
|
136
|
+
autoCorrect={false}
|
|
137
|
+
placeholder="Enter Placement Name"
|
|
138
|
+
placeholderTextColor="#888"
|
|
139
|
+
autoCapitalize="none"
|
|
140
|
+
/>
|
|
141
|
+
<Button
|
|
142
|
+
style={styles.clearButton}
|
|
143
|
+
onPress={handleClearInput}
|
|
144
|
+
title={'\u2573'}
|
|
145
|
+
/>
|
|
146
|
+
</View>
|
|
147
|
+
<View style={styles.buttonContainer}>
|
|
148
|
+
<Button
|
|
149
|
+
onPress={loadContent}
|
|
150
|
+
disabled={!isSdkConnected}
|
|
151
|
+
title={'Request'}
|
|
152
|
+
/>
|
|
153
|
+
<View style={styles.buttonGap} />
|
|
154
|
+
<Button onPress={clearContent} title={'Clear'} />
|
|
155
|
+
</View>
|
|
156
|
+
<TJOfferwallDiscoverView
|
|
157
|
+
ref={owdRef}
|
|
158
|
+
style={getViewStyle()}
|
|
159
|
+
onRequestSuccess={(event: any) => {
|
|
160
|
+
addLogItem(event.nativeEvent.result);
|
|
161
|
+
}}
|
|
162
|
+
onRequestFailure={(event: any) =>
|
|
163
|
+
addLogItem(
|
|
164
|
+
`requestFailure: code:${event.nativeEvent.errorCode}, message:${event.nativeEvent.errorMessage}`
|
|
165
|
+
)
|
|
166
|
+
}
|
|
167
|
+
onContentReady={(event: any) =>
|
|
168
|
+
addLogItem(event.nativeEvent.result)
|
|
169
|
+
}
|
|
170
|
+
onContentError={(event: any) =>
|
|
171
|
+
addLogItem(
|
|
172
|
+
`contentError: code:${event.nativeEvent.errorCode}, message:${event.nativeEvent.errorMessage}`
|
|
173
|
+
)
|
|
174
|
+
}
|
|
175
|
+
/>
|
|
176
|
+
</SafeAreaView>
|
|
177
|
+
</ScrollView>
|
|
178
|
+
<View style={styles.owLogContainer}>
|
|
179
|
+
<FlatList
|
|
180
|
+
data={logData}
|
|
181
|
+
renderItem={({ item }) => (
|
|
182
|
+
<View>
|
|
183
|
+
<Text style={styles.logText}>{item}</Text>
|
|
184
|
+
</View>
|
|
185
|
+
)}
|
|
186
|
+
keyExtractor={(_item, index) => index.toString()}
|
|
187
|
+
/>
|
|
188
|
+
</View>
|
|
189
|
+
</View>
|
|
190
|
+
);
|
|
191
|
+
};
|
|
192
|
+
|
|
193
|
+
export default OfferwallDiscoverScreen;
|
package/example/src/Styles.ts
CHANGED
|
@@ -15,6 +15,13 @@ const styles = StyleSheet.create({
|
|
|
15
15
|
alignItems: 'center',
|
|
16
16
|
marginBottom: 20,
|
|
17
17
|
},
|
|
18
|
+
switchContainer: {
|
|
19
|
+
display: 'flex',
|
|
20
|
+
flexDirection: 'row',
|
|
21
|
+
alignItems: 'center',
|
|
22
|
+
marginBottom: 20,
|
|
23
|
+
justifyContent: 'flex-end',
|
|
24
|
+
},
|
|
18
25
|
clearButton: {
|
|
19
26
|
flex: 0,
|
|
20
27
|
width: 50,
|
|
@@ -22,6 +29,7 @@ const styles = StyleSheet.create({
|
|
|
22
29
|
borderRadius: 5,
|
|
23
30
|
padding: 10,
|
|
24
31
|
height: 40,
|
|
32
|
+
marginLeft: 10,
|
|
25
33
|
},
|
|
26
34
|
buttonContainer: {
|
|
27
35
|
flexDirection: 'row',
|
|
@@ -57,9 +65,14 @@ const styles = StyleSheet.create({
|
|
|
57
65
|
borderRadius: 10,
|
|
58
66
|
paddingLeft: 10,
|
|
59
67
|
paddingRight: 10,
|
|
60
|
-
marginRight: 10,
|
|
61
68
|
color: 'black',
|
|
62
69
|
},
|
|
70
|
+
textInputLabel: {
|
|
71
|
+
width: 50,
|
|
72
|
+
},
|
|
73
|
+
leftSpacing: {
|
|
74
|
+
marginLeft: 10,
|
|
75
|
+
},
|
|
63
76
|
statusText: {
|
|
64
77
|
color: 'black',
|
|
65
78
|
textAlign: 'center',
|
|
@@ -165,6 +178,7 @@ const styles = StyleSheet.create({
|
|
|
165
178
|
owLogContainer: {
|
|
166
179
|
height: '30%',
|
|
167
180
|
padding: 10,
|
|
181
|
+
backgroundColor: '#DDDDDD',
|
|
168
182
|
},
|
|
169
183
|
});
|
|
170
184
|
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
#import <React/RCTViewManager.h>
|
|
2
|
+
|
|
3
|
+
@interface RCT_EXTERN_MODULE(TJOfferwallDiscoverNativeViewManager, RCTViewManager)
|
|
4
|
+
RCT_EXTERN_METHOD(requestContent: (nonnull NSNumber *)tag : NSString)
|
|
5
|
+
RCT_EXTERN_METHOD(clearContent: (nonnull NSNumber *)tag)
|
|
6
|
+
RCT_EXPORT_VIEW_PROPERTY(onRequestSuccess, RCTBubblingEventBlock)
|
|
7
|
+
RCT_EXPORT_VIEW_PROPERTY(onRequestFailure, RCTBubblingEventBlock)
|
|
8
|
+
RCT_EXPORT_VIEW_PROPERTY(onContentReady, RCTBubblingEventBlock)
|
|
9
|
+
RCT_EXPORT_VIEW_PROPERTY(onContentError, RCTBubblingEventBlock)
|
|
10
|
+
@end
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
@objc (TJOfferwallDiscoverNativeViewManager)
|
|
2
|
+
class TJOfferwallDiscoverNativeViewManager: RCTViewManager, TJOfferwallDiscoverDelegate {
|
|
3
|
+
|
|
4
|
+
var owdView:TapjoyOfferwallDiscoverNativeView!
|
|
5
|
+
@objc var onRequestSuccess: RCTBubblingEventBlock?
|
|
6
|
+
@objc var onRequestFailure: RCTBubblingEventBlock?
|
|
7
|
+
@objc var onContentReady: RCTBubblingEventBlock?
|
|
8
|
+
@objc var onContentError: RCTBubblingEventBlock?
|
|
9
|
+
|
|
10
|
+
override static func requiresMainQueueSetup() -> Bool {
|
|
11
|
+
return true
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
override func view() -> UIView! {
|
|
15
|
+
owdView = TapjoyOfferwallDiscoverNativeView()
|
|
16
|
+
owdView.delegate = self
|
|
17
|
+
return owdView
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
/**
|
|
21
|
+
Show the OfferwallDiscover content.
|
|
22
|
+
*/
|
|
23
|
+
@objc func requestContent(_ tag: NSNumber, _ placement: String) {
|
|
24
|
+
DispatchQueue.main.async {
|
|
25
|
+
self.owdView.requestContent(placement)
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
/**
|
|
30
|
+
Show current content.
|
|
31
|
+
*/
|
|
32
|
+
@objc func clearContent(_ tag: NSNumber) {
|
|
33
|
+
DispatchQueue.main.async {
|
|
34
|
+
self.owdView.clearContent()
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
// MARK: - TJOfferwallDiscoverDelegate : The delegates method will call javascript event handlers.
|
|
39
|
+
func requestDidSucceed(for view: TJOfferwallDiscoverView) {
|
|
40
|
+
NSLog("requestDidSucceed")
|
|
41
|
+
|
|
42
|
+
guard let onRequestSuccess = self.owdView.onRequestSuccess else { return }
|
|
43
|
+
DispatchQueue.main.async {
|
|
44
|
+
let params: [String : Any] = ["result":"requestSuccess"]
|
|
45
|
+
onRequestSuccess(params)
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
func requestDidFail(for view: TJOfferwallDiscoverView, error: Error?) {
|
|
50
|
+
guard let error = error else { return }
|
|
51
|
+
NSLog("requestDidFail - \(error.localizedDescription) ")
|
|
52
|
+
|
|
53
|
+
guard let onRequestFailure = self.owdView.onRequestFailure else { return }
|
|
54
|
+
DispatchQueue.main.async {
|
|
55
|
+
let errorCode = (error as NSError).code
|
|
56
|
+
let params: [String : Any] = ["errorCode": errorCode, "errorMessage": error.localizedDescription]
|
|
57
|
+
onRequestFailure(params)
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
func contentIsReady(for view: TJOfferwallDiscoverView) {
|
|
62
|
+
NSLog("contentIsReady")
|
|
63
|
+
guard let onContentReady = self.owdView.onContentReady else { return }
|
|
64
|
+
DispatchQueue.main.async {
|
|
65
|
+
let params: [String : Any] = ["result":"contentReady"]
|
|
66
|
+
onContentReady(params)
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
func contentError(for view: TJOfferwallDiscoverView, error: Error?) {
|
|
71
|
+
guard let error = error else { return }
|
|
72
|
+
NSLog("contentError \(error.localizedDescription)")
|
|
73
|
+
|
|
74
|
+
guard let onContentError = self.owdView.onContentError else { return }
|
|
75
|
+
DispatchQueue.main.async {
|
|
76
|
+
let errorCode = (error as NSError).code
|
|
77
|
+
let params: [String : Any] = ["errorCode": errorCode, "errorMessage": error.localizedDescription]
|
|
78
|
+
onContentError(params)
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
class TapjoyOfferwallDiscoverNativeView: TJOfferwallDiscoverView {
|
|
2
|
+
|
|
3
|
+
// Event handlers
|
|
4
|
+
@objc var onRequestSuccess: RCTBubblingEventBlock?
|
|
5
|
+
@objc var onRequestFailure: RCTBubblingEventBlock?
|
|
6
|
+
@objc var onContentReady: RCTBubblingEventBlock?
|
|
7
|
+
@objc var onContentError: RCTBubblingEventBlock?
|
|
8
|
+
|
|
9
|
+
/**
|
|
10
|
+
Request content of placement.
|
|
11
|
+
- Parameter placement: Placement name.
|
|
12
|
+
*/
|
|
13
|
+
func requestContent(_ placement: String) {
|
|
14
|
+
request(placement)
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
/**
|
|
18
|
+
Clear displayed content.
|
|
19
|
+
*/
|
|
20
|
+
func clearContent() {
|
|
21
|
+
clear()
|
|
22
|
+
}
|
|
23
|
+
}
|
|
@@ -20,8 +20,11 @@
|
|
|
20
20
|
|
|
21
21
|
/* Begin PBXFileReference section */
|
|
22
22
|
134814201AA4EA6300B7C361 /* libTapjoyReactNativeSdk.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libTapjoyReactNativeSdk.a; sourceTree = BUILT_PRODUCTS_DIR; };
|
|
23
|
-
|
|
24
|
-
|
|
23
|
+
A1ABFAC92B023B9F00CA9B85 /* TapjoyPluginAPIModule.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = TapjoyPluginAPIModule.m; sourceTree = "<group>"; };
|
|
24
|
+
A1ABFACA2B023C3400CA9B85 /* TapjoyPluginAPIModule.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TapjoyPluginAPIModule.swift; sourceTree = "<group>"; };
|
|
25
|
+
A1ABFAD12B032C0400CA9B85 /* TJOfferwallDiscoverNativeViewManager.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TJOfferwallDiscoverNativeViewManager.swift; sourceTree = "<group>"; };
|
|
26
|
+
A1ABFAD22B032C0400CA9B85 /* TapjoyOfferwallDiscoverNativeView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TapjoyOfferwallDiscoverNativeView.swift; sourceTree = "<group>"; };
|
|
27
|
+
A1ABFAD32B032C0400CA9B85 /* TJOfferwallDiscoverNativeViewManager.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = TJOfferwallDiscoverNativeViewManager.m; sourceTree = "<group>"; };
|
|
25
28
|
B3E7B5891CC2AC0600A0062D /* TapjoyReactNativeSdk.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = TapjoyReactNativeSdk.m; sourceTree = "<group>"; };
|
|
26
29
|
F4FF95D5245B92E700C19C63 /* TapjoyReactNativeSdk-Bridging-Header.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "TapjoyReactNativeSdk-Bridging-Header.h"; sourceTree = "<group>"; };
|
|
27
30
|
F4FF95D6245B92E800C19C63 /* TapjoyReactNativeSdk.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TapjoyReactNativeSdk.swift; sourceTree = "<group>"; };
|
|
@@ -49,10 +52,13 @@
|
|
|
49
52
|
58B511D21A9E6C8500147676 = {
|
|
50
53
|
isa = PBXGroup;
|
|
51
54
|
children = (
|
|
52
|
-
|
|
53
|
-
|
|
55
|
+
A1ABFAD22B032C0400CA9B85 /* TapjoyOfferwallDiscoverNativeView.swift */,
|
|
56
|
+
A1ABFAD32B032C0400CA9B85 /* TJOfferwallDiscoverNativeViewManager.m */,
|
|
57
|
+
A1ABFAD12B032C0400CA9B85 /* TJOfferwallDiscoverNativeViewManager.swift */,
|
|
58
|
+
A1ABFACA2B023C3400CA9B85 /* TapjoyPluginAPIModule.swift */,
|
|
54
59
|
F4FF95D6245B92E800C19C63 /* TapjoyReactNativeSdk.swift */,
|
|
55
60
|
B3E7B5891CC2AC0600A0062D /* TapjoyReactNativeSdk.m */,
|
|
61
|
+
A1ABFAC92B023B9F00CA9B85 /* TapjoyPluginAPIModule.m */,
|
|
56
62
|
F4FF95D5245B92E700C19C63 /* TapjoyReactNativeSdk-Bridging-Header.h */,
|
|
57
63
|
134814211AA4EA7D00B7C361 /* Products */,
|
|
58
64
|
);
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = void 0;
|
|
7
|
+
var _reactNative = require("react-native");
|
|
8
|
+
var _react = _interopRequireDefault(require("react"));
|
|
9
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
10
|
+
function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
|
|
11
|
+
var Command = /*#__PURE__*/function (Command) {
|
|
12
|
+
Command["REQUEST_CONTENT"] = "requestContent";
|
|
13
|
+
Command["CLEAR_CONTENT"] = "clearContent";
|
|
14
|
+
return Command;
|
|
15
|
+
}(Command || {});
|
|
16
|
+
const TJOfferwallDiscoverNativeView = (0, _reactNative.requireNativeComponent)('TJOfferwallDiscoverNativeView');
|
|
17
|
+
class TJOfferwallDiscoverView extends _react.default.Component {
|
|
18
|
+
nativeCompHandle = null;
|
|
19
|
+
constructor(props) {
|
|
20
|
+
super(props);
|
|
21
|
+
}
|
|
22
|
+
render() {
|
|
23
|
+
return /*#__PURE__*/_react.default.createElement(TJOfferwallDiscoverNativeView, _extends({}, this.props, {
|
|
24
|
+
ref: ref => {
|
|
25
|
+
this.nativeCompHandle = (0, _reactNative.findNodeHandle)(ref);
|
|
26
|
+
}
|
|
27
|
+
}));
|
|
28
|
+
}
|
|
29
|
+
requestContent(placement) {
|
|
30
|
+
_reactNative.UIManager.dispatchViewManagerCommand(this.nativeCompHandle, Command.REQUEST_CONTENT, [placement]);
|
|
31
|
+
}
|
|
32
|
+
clearContent() {
|
|
33
|
+
_reactNative.UIManager.dispatchViewManagerCommand(this.nativeCompHandle, Command.CLEAR_CONTENT);
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
exports.default = TJOfferwallDiscoverView;
|
|
37
|
+
//# sourceMappingURL=TJOfferwallDiscoverView.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_reactNative","require","_react","_interopRequireDefault","obj","__esModule","default","_extends","Object","assign","bind","target","i","arguments","length","source","key","prototype","hasOwnProperty","call","apply","Command","TJOfferwallDiscoverNativeView","requireNativeComponent","TJOfferwallDiscoverView","React","Component","nativeCompHandle","constructor","props","render","createElement","ref","findNodeHandle","requestContent","placement","UIManager","dispatchViewManagerCommand","REQUEST_CONTENT","clearContent","CLEAR_CONTENT","exports"],"sourceRoot":"../../src","sources":["TJOfferwallDiscoverView.tsx"],"mappings":";;;;;;AAAA,IAAAA,YAAA,GAAAC,OAAA;AAMA,IAAAC,MAAA,GAAAC,sBAAA,CAAAF,OAAA;AAA0B,SAAAE,uBAAAC,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAAA,SAAAG,SAAA,IAAAA,QAAA,GAAAC,MAAA,CAAAC,MAAA,GAAAD,MAAA,CAAAC,MAAA,CAAAC,IAAA,eAAAC,MAAA,aAAAC,CAAA,MAAAA,CAAA,GAAAC,SAAA,CAAAC,MAAA,EAAAF,CAAA,UAAAG,MAAA,GAAAF,SAAA,CAAAD,CAAA,YAAAI,GAAA,IAAAD,MAAA,QAAAP,MAAA,CAAAS,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAJ,MAAA,EAAAC,GAAA,KAAAL,MAAA,CAAAK,GAAA,IAAAD,MAAA,CAAAC,GAAA,gBAAAL,MAAA,YAAAJ,QAAA,CAAAa,KAAA,OAAAP,SAAA;AAAA,IAErBQ,OAAO,0BAAPA,OAAO;EAAPA,OAAO;EAAPA,OAAO;EAAA,OAAPA,OAAO;AAAA,EAAPA,OAAO;AAKZ,MAAMC,6BAA6B,GAAG,IAAAC,mCAAsB,EAC1D,+BAA+B,CAChC;AAUc,MAAMC,uBAAuB,SAASC,cAAK,CAACC,SAAS,CAA+B;EACjGC,gBAAgB,GAAkB,IAAI;EACtCC,WAAWA,CAACC,KAAmC,EAAE;IAC/C,KAAK,CAACA,KAAK,CAAC;EACd;EAEAC,MAAMA,CAAA,EAAG;IACP,oBACE5B,MAAA,CAAAI,OAAA,CAAAyB,aAAA,CAACT,6BAA6B,EAAAf,QAAA,KACxB,IAAI,CAACsB,KAAK;MACdG,GAAG,EAAGA,GAAG,IAAK;QACZ,IAAI,CAACL,gBAAgB,GAAG,IAAAM,2BAAc,EAACD,GAAG,CAAC;MAC7C;IAAE,GACF;EAEN;EAEAE,cAAcA,CAACC,SAAiB,EAAE;IAChCC,sBAAS,CAACC,0BAA0B,CAClC,IAAI,CAACV,gBAAgB,EACrBN,OAAO,CAACiB,eAAe,EACvB,CAACH,SAAS,CAAC,CACZ;EACH;EAEAI,YAAYA,CAAA,EAAG;IACbH,sBAAS,CAACC,0BAA0B,CAClC,IAAI,CAACV,gBAAgB,EACrBN,OAAO,CAACmB,aAAa,CACtB;EACH;AACF;AAACC,OAAA,CAAAnC,OAAA,GAAAkB,uBAAA"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = void 0;
|
|
7
|
+
class TJUtil {
|
|
8
|
+
static isValidDimensionValue(value) {
|
|
9
|
+
if (typeof value !== 'number' && /[0-9]+%|auto/.test(value)) {
|
|
10
|
+
return true;
|
|
11
|
+
} else if (typeof value === 'number' && !isNaN(value)) {
|
|
12
|
+
return true;
|
|
13
|
+
}
|
|
14
|
+
return false;
|
|
15
|
+
}
|
|
16
|
+
static isValidNumber(value) {
|
|
17
|
+
return typeof value === 'number' && !isNaN(value);
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
exports.default = TJUtil;
|
|
21
|
+
//# sourceMappingURL=TJUtil.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["TJUtil","isValidDimensionValue","value","test","isNaN","isValidNumber","exports","default"],"sourceRoot":"../../src","sources":["TJUtil.ts"],"mappings":";;;;;;AAAe,MAAMA,MAAM,CAAC;EAC1B,OAAOC,qBAAqBA,CAACC,KAAU,EAAW;IAChD,IAAI,OAAOA,KAAK,KAAK,QAAQ,IAAI,cAAc,CAACC,IAAI,CAACD,KAAK,CAAC,EAAE;MAC3D,OAAO,IAAI;IACb,CAAC,MAAM,IAAI,OAAOA,KAAK,KAAK,QAAQ,IAAI,CAACE,KAAK,CAACF,KAAK,CAAC,EAAE;MACrD,OAAO,IAAI;IACb;IACA,OAAO,KAAK;EACd;EAEA,OAAOG,aAAaA,CAACH,KAAU,EAAW;IACxC,OAAO,OAAOA,KAAK,KAAK,QAAQ,IAAI,CAACE,KAAK,CAACF,KAAK,CAAC;EACnD;AACF;AAACI,OAAA,CAAAC,OAAA,GAAAP,MAAA"}
|
|
@@ -4,7 +4,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.default = exports.TJVersion = void 0;
|
|
7
|
-
const REACT_LIBRARY_VERSION = '13.
|
|
7
|
+
const REACT_LIBRARY_VERSION = '13.3.0';
|
|
8
8
|
const REACT_LIBRARY_VERSION_SUFFIX = '';
|
|
9
9
|
class TJVersion {
|
|
10
10
|
// Returns the version of the plugin - eg: 1.0.0-alpha-rc1
|
package/lib/commonjs/index.js
CHANGED
|
@@ -3,6 +3,12 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
+
Object.defineProperty(exports, "TJOfferwallDiscoverView", {
|
|
7
|
+
enumerable: true,
|
|
8
|
+
get: function () {
|
|
9
|
+
return _TJOfferwallDiscoverView.default;
|
|
10
|
+
}
|
|
11
|
+
});
|
|
6
12
|
Object.defineProperty(exports, "TJPlacement", {
|
|
7
13
|
enumerable: true,
|
|
8
14
|
get: function () {
|
|
@@ -40,6 +46,7 @@ var _TJPrivacyPolicy = _interopRequireDefault(require("./TJPrivacyPolicy"));
|
|
|
40
46
|
var _TJVersion = _interopRequireDefault(require("./TJVersion"));
|
|
41
47
|
var _TJStatus = _interopRequireDefault(require("./TJStatus"));
|
|
42
48
|
var _TJSegment = _interopRequireDefault(require("./TJSegment"));
|
|
49
|
+
var _TJOfferwallDiscoverView = _interopRequireDefault(require("./TJOfferwallDiscoverView"));
|
|
43
50
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
44
51
|
const LINKING_ERROR = `The package 'tapjoy-react-native-sdk' doesn't seem to be linked. Make sure: \n\n` + _reactNative.Platform.select({
|
|
45
52
|
ios: "- You have run 'pod install'\n",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_reactNative","require","_TJPlacement","_interopRequireDefault","_TJPrivacyPolicy","_TJVersion","_TJStatus","_TJSegment","obj","__esModule","default","LINKING_ERROR","Platform","select","ios","Tapjoy","NativeModules","TapjoyReactNativeSdk","Proxy","get","Error","exports","_default"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":"
|
|
1
|
+
{"version":3,"names":["_reactNative","require","_TJPlacement","_interopRequireDefault","_TJPrivacyPolicy","_TJVersion","_TJStatus","_TJSegment","_TJOfferwallDiscoverView","obj","__esModule","default","LINKING_ERROR","Platform","select","ios","Tapjoy","NativeModules","TapjoyReactNativeSdk","Proxy","get","Error","exports","_default"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,YAAA,GAAAC,OAAA;AACA,IAAAC,YAAA,GAAAC,sBAAA,CAAAF,OAAA;AACA,IAAAG,gBAAA,GAAAD,sBAAA,CAAAF,OAAA;AACA,IAAAI,UAAA,GAAAF,sBAAA,CAAAF,OAAA;AACA,IAAAK,SAAA,GAAAH,sBAAA,CAAAF,OAAA;AACA,IAAAM,UAAA,GAAAJ,sBAAA,CAAAF,OAAA;AACA,IAAAO,wBAAA,GAAAL,sBAAA,CAAAF,OAAA;AAAgE,SAAAE,uBAAAM,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAEhE,MAAMG,aAAa,GAChB,kFAAiF,GAClFC,qBAAQ,CAACC,MAAM,CAAC;EAAEC,GAAG,EAAE,gCAAgC;EAAEJ,OAAO,EAAE;AAAG,CAAC,CAAC,GACvE,sDAAsD,GACtD,+BAA+B;AAEjC,MAAMK,MAAM,GAAGC,0BAAa,CAACC,oBAAoB,GAC7CD,0BAAa,CAACC,oBAAoB,GAClC,IAAIC,KAAK,CACP,CAAC,CAAC,EACF;EACEC,GAAGA,CAAA,EAAG;IACJ,MAAM,IAAIC,KAAK,CAACT,aAAa,CAAC;EAChC;AACF,CAAC,CACF;AAACU,OAAA,CAAAN,MAAA,GAAAA,MAAA;AAAA,IAAAO,QAAA,GAGSP,MAAM;AAAAM,OAAA,CAAAX,OAAA,GAAAY,QAAA"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
|
|
2
|
+
import { findNodeHandle, requireNativeComponent, UIManager } from 'react-native';
|
|
3
|
+
import React from 'react';
|
|
4
|
+
var Command = /*#__PURE__*/function (Command) {
|
|
5
|
+
Command["REQUEST_CONTENT"] = "requestContent";
|
|
6
|
+
Command["CLEAR_CONTENT"] = "clearContent";
|
|
7
|
+
return Command;
|
|
8
|
+
}(Command || {});
|
|
9
|
+
const TJOfferwallDiscoverNativeView = requireNativeComponent('TJOfferwallDiscoverNativeView');
|
|
10
|
+
export default class TJOfferwallDiscoverView extends React.Component {
|
|
11
|
+
nativeCompHandle = null;
|
|
12
|
+
constructor(props) {
|
|
13
|
+
super(props);
|
|
14
|
+
}
|
|
15
|
+
render() {
|
|
16
|
+
return /*#__PURE__*/React.createElement(TJOfferwallDiscoverNativeView, _extends({}, this.props, {
|
|
17
|
+
ref: ref => {
|
|
18
|
+
this.nativeCompHandle = findNodeHandle(ref);
|
|
19
|
+
}
|
|
20
|
+
}));
|
|
21
|
+
}
|
|
22
|
+
requestContent(placement) {
|
|
23
|
+
UIManager.dispatchViewManagerCommand(this.nativeCompHandle, Command.REQUEST_CONTENT, [placement]);
|
|
24
|
+
}
|
|
25
|
+
clearContent() {
|
|
26
|
+
UIManager.dispatchViewManagerCommand(this.nativeCompHandle, Command.CLEAR_CONTENT);
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
//# sourceMappingURL=TJOfferwallDiscoverView.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["findNodeHandle","requireNativeComponent","UIManager","React","Command","TJOfferwallDiscoverNativeView","TJOfferwallDiscoverView","Component","nativeCompHandle","constructor","props","render","createElement","_extends","ref","requestContent","placement","dispatchViewManagerCommand","REQUEST_CONTENT","clearContent","CLEAR_CONTENT"],"sourceRoot":"../../src","sources":["TJOfferwallDiscoverView.tsx"],"mappings":";AAAA,SACEA,cAAc,EACdC,sBAAsB,EACtBC,SAAS,QAEJ,cAAc;AACrB,OAAOC,KAAK,MAAM,OAAO;AAAC,IAErBC,OAAO,0BAAPA,OAAO;EAAPA,OAAO;EAAPA,OAAO;EAAA,OAAPA,OAAO;AAAA,EAAPA,OAAO;AAKZ,MAAMC,6BAA6B,GAAGJ,sBAAsB,CAC1D,+BAA+B,CAChC;AAUD,eAAe,MAAMK,uBAAuB,SAASH,KAAK,CAACI,SAAS,CAA+B;EACjGC,gBAAgB,GAAkB,IAAI;EACtCC,WAAWA,CAACC,KAAmC,EAAE;IAC/C,KAAK,CAACA,KAAK,CAAC;EACd;EAEAC,MAAMA,CAAA,EAAG;IACP,oBACER,KAAA,CAAAS,aAAA,CAACP,6BAA6B,EAAAQ,QAAA,KACxB,IAAI,CAACH,KAAK;MACdI,GAAG,EAAGA,GAAG,IAAK;QACZ,IAAI,CAACN,gBAAgB,GAAGR,cAAc,CAACc,GAAG,CAAC;MAC7C;IAAE,GACF;EAEN;EAEAC,cAAcA,CAACC,SAAiB,EAAE;IAChCd,SAAS,CAACe,0BAA0B,CAClC,IAAI,CAACT,gBAAgB,EACrBJ,OAAO,CAACc,eAAe,EACvB,CAACF,SAAS,CAAC,CACZ;EACH;EAEAG,YAAYA,CAAA,EAAG;IACbjB,SAAS,CAACe,0BAA0B,CAClC,IAAI,CAACT,gBAAgB,EACrBJ,OAAO,CAACgB,aAAa,CACtB;EACH;AACF"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
export default class TJUtil {
|
|
2
|
+
static isValidDimensionValue(value) {
|
|
3
|
+
if (typeof value !== 'number' && /[0-9]+%|auto/.test(value)) {
|
|
4
|
+
return true;
|
|
5
|
+
} else if (typeof value === 'number' && !isNaN(value)) {
|
|
6
|
+
return true;
|
|
7
|
+
}
|
|
8
|
+
return false;
|
|
9
|
+
}
|
|
10
|
+
static isValidNumber(value) {
|
|
11
|
+
return typeof value === 'number' && !isNaN(value);
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
//# sourceMappingURL=TJUtil.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["TJUtil","isValidDimensionValue","value","test","isNaN","isValidNumber"],"sourceRoot":"../../src","sources":["TJUtil.ts"],"mappings":"AAAA,eAAe,MAAMA,MAAM,CAAC;EAC1B,OAAOC,qBAAqBA,CAACC,KAAU,EAAW;IAChD,IAAI,OAAOA,KAAK,KAAK,QAAQ,IAAI,cAAc,CAACC,IAAI,CAACD,KAAK,CAAC,EAAE;MAC3D,OAAO,IAAI;IACb,CAAC,MAAM,IAAI,OAAOA,KAAK,KAAK,QAAQ,IAAI,CAACE,KAAK,CAACF,KAAK,CAAC,EAAE;MACrD,OAAO,IAAI;IACb;IACA,OAAO,KAAK;EACd;EAEA,OAAOG,aAAaA,CAACH,KAAU,EAAW;IACxC,OAAO,OAAOA,KAAK,KAAK,QAAQ,IAAI,CAACE,KAAK,CAACF,KAAK,CAAC;EACnD;AACF"}
|
package/lib/module/TJVersion.js
CHANGED
package/lib/module/index.js
CHANGED
|
@@ -4,6 +4,7 @@ import TJPrivacyPolicy from './TJPrivacyPolicy';
|
|
|
4
4
|
import TJVersion from './TJVersion';
|
|
5
5
|
import TJStatus from './TJStatus';
|
|
6
6
|
import TJSegment from './TJSegment';
|
|
7
|
+
import TJOfferwallDiscoverView from './TJOfferwallDiscoverView';
|
|
7
8
|
const LINKING_ERROR = `The package 'tapjoy-react-native-sdk' doesn't seem to be linked. Make sure: \n\n` + Platform.select({
|
|
8
9
|
ios: "- You have run 'pod install'\n",
|
|
9
10
|
default: ''
|
|
@@ -13,6 +14,6 @@ const Tapjoy = NativeModules.TapjoyReactNativeSdk ? NativeModules.TapjoyReactNat
|
|
|
13
14
|
throw new Error(LINKING_ERROR);
|
|
14
15
|
}
|
|
15
16
|
});
|
|
16
|
-
export { Tapjoy, TJPlacement, TJPrivacyPolicy, TJVersion, TJStatus, TJSegment };
|
|
17
|
+
export { Tapjoy, TJPlacement, TJPrivacyPolicy, TJVersion, TJStatus, TJSegment, TJOfferwallDiscoverView };
|
|
17
18
|
export default Tapjoy;
|
|
18
19
|
//# sourceMappingURL=index.js.map
|
package/lib/module/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["NativeModules","Platform","TJPlacement","TJPrivacyPolicy","TJVersion","TJStatus","TJSegment","LINKING_ERROR","select","ios","default","Tapjoy","TapjoyReactNativeSdk","Proxy","get","Error"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":"AAAA,SAASA,aAAa,EAAEC,QAAQ,QAAQ,cAAc;AACtD,OAAOC,WAAW,MAAM,eAAe;AACvC,OAAOC,eAAe,MAAM,mBAAmB;AAC/C,OAAOC,SAAS,MAAM,aAAa;AACnC,OAAOC,QAAQ,MAAM,YAAY;AACjC,OAAOC,SAAS,MAAM,aAAa;
|
|
1
|
+
{"version":3,"names":["NativeModules","Platform","TJPlacement","TJPrivacyPolicy","TJVersion","TJStatus","TJSegment","TJOfferwallDiscoverView","LINKING_ERROR","select","ios","default","Tapjoy","TapjoyReactNativeSdk","Proxy","get","Error"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":"AAAA,SAASA,aAAa,EAAEC,QAAQ,QAAQ,cAAc;AACtD,OAAOC,WAAW,MAAM,eAAe;AACvC,OAAOC,eAAe,MAAM,mBAAmB;AAC/C,OAAOC,SAAS,MAAM,aAAa;AACnC,OAAOC,QAAQ,MAAM,YAAY;AACjC,OAAOC,SAAS,MAAM,aAAa;AACnC,OAAOC,uBAAuB,MAAM,2BAA2B;AAE/D,MAAMC,aAAa,GAChB,kFAAiF,GAClFP,QAAQ,CAACQ,MAAM,CAAC;EAAEC,GAAG,EAAE,gCAAgC;EAAEC,OAAO,EAAE;AAAG,CAAC,CAAC,GACvE,sDAAsD,GACtD,+BAA+B;AAEjC,MAAMC,MAAM,GAAGZ,aAAa,CAACa,oBAAoB,GAC7Cb,aAAa,CAACa,oBAAoB,GAClC,IAAIC,KAAK,CACP,CAAC,CAAC,EACF;EACEC,GAAGA,CAAA,EAAG;IACJ,MAAM,IAAIC,KAAK,CAACR,aAAa,CAAC;EAChC;AACF,CAAC,CACF;AAEL,SAASI,MAAM,EAAEV,WAAW,EAAEC,eAAe,EAAEC,SAAS,EAAEC,QAAQ,EAAEC,SAAS,EAAEC,uBAAuB;AACtG,eAAeK,MAAM"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { ViewStyle } from 'react-native';
|
|
2
|
+
import React from 'react';
|
|
3
|
+
interface TJOfferwallDiscoverViewProps {
|
|
4
|
+
style?: ViewStyle;
|
|
5
|
+
onRequestSuccess?: Function;
|
|
6
|
+
onRequestFailure?: Function;
|
|
7
|
+
onContentReady?: Function;
|
|
8
|
+
onContentError?: Function;
|
|
9
|
+
}
|
|
10
|
+
export default class TJOfferwallDiscoverView extends React.Component<TJOfferwallDiscoverViewProps> {
|
|
11
|
+
nativeCompHandle: number | null;
|
|
12
|
+
constructor(props: TJOfferwallDiscoverViewProps);
|
|
13
|
+
render(): JSX.Element;
|
|
14
|
+
requestContent(placement: string): void;
|
|
15
|
+
clearContent(): void;
|
|
16
|
+
}
|
|
17
|
+
export {};
|
|
18
|
+
//# sourceMappingURL=TJOfferwallDiscoverView.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TJOfferwallDiscoverView.d.ts","sourceRoot":"","sources":["../../src/TJOfferwallDiscoverView.tsx"],"names":[],"mappings":"AAAA,OAAO,EAIL,SAAS,EACV,MAAM,cAAc,CAAC;AACtB,OAAO,KAAK,MAAM,OAAO,CAAC;AAW1B,UAAU,4BAA4B;IACpC,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,gBAAgB,CAAC,EAAE,QAAQ,CAAC;IAC5B,gBAAgB,CAAC,EAAE,QAAQ,CAAC;IAC5B,cAAc,CAAC,EAAE,QAAQ,CAAC;IAC1B,cAAc,CAAC,EAAE,QAAQ,CAAC;CAC3B;AAED,MAAM,CAAC,OAAO,OAAO,uBAAwB,SAAQ,KAAK,CAAC,SAAS,CAAC,4BAA4B,CAAC;IAChG,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAQ;gBAC3B,KAAK,EAAE,4BAA4B;IAI/C,MAAM;IAWN,cAAc,CAAC,SAAS,EAAE,MAAM;IAQhC,YAAY;CAMb"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TJUtil.d.ts","sourceRoot":"","sources":["../../src/TJUtil.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,OAAO,OAAO,MAAM;IACzB,MAAM,CAAC,qBAAqB,CAAC,KAAK,EAAE,GAAG,GAAG,OAAO;IASjD,MAAM,CAAC,aAAa,CAAC,KAAK,EAAE,GAAG,GAAG,OAAO;CAG1C"}
|
|
@@ -3,7 +3,8 @@ import TJPrivacyPolicy from './TJPrivacyPolicy';
|
|
|
3
3
|
import TJVersion from './TJVersion';
|
|
4
4
|
import TJStatus from './TJStatus';
|
|
5
5
|
import TJSegment from './TJSegment';
|
|
6
|
+
import TJOfferwallDiscoverView from './TJOfferwallDiscoverView';
|
|
6
7
|
declare const Tapjoy: any;
|
|
7
|
-
export { Tapjoy, TJPlacement, TJPrivacyPolicy, TJVersion, TJStatus, TJSegment };
|
|
8
|
+
export { Tapjoy, TJPlacement, TJPrivacyPolicy, TJVersion, TJStatus, TJSegment, TJOfferwallDiscoverView };
|
|
8
9
|
export default Tapjoy;
|
|
9
10
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AACA,OAAO,WAAW,MAAM,eAAe,CAAC;AACxC,OAAO,eAAe,MAAM,mBAAmB,CAAC;AAChD,OAAO,SAAS,MAAM,aAAa,CAAC;AACpC,OAAO,QAAQ,MAAM,YAAY,CAAC;AAClC,OAAO,SAAS,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AACA,OAAO,WAAW,MAAM,eAAe,CAAC;AACxC,OAAO,eAAe,MAAM,mBAAmB,CAAC;AAChD,OAAO,SAAS,MAAM,aAAa,CAAC;AACpC,OAAO,QAAQ,MAAM,YAAY,CAAC;AAClC,OAAO,SAAS,MAAM,aAAa,CAAC;AACpC,OAAO,uBAAuB,MAAM,2BAA2B,CAAC;AAQhE,QAAA,MAAM,MAAM,KASP,CAAC;AAEN,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,eAAe,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE,uBAAuB,EAAE,CAAC;AACzG,eAAe,MAAM,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "tapjoy-react-native-sdk",
|
|
3
|
-
"version": "13.
|
|
3
|
+
"version": "13.3.0",
|
|
4
4
|
"description": "ReactNative Plugin for Tapjoy SDK",
|
|
5
5
|
"main": "lib/commonjs/index",
|
|
6
6
|
"module": "lib/module/index",
|
|
@@ -37,7 +37,8 @@
|
|
|
37
37
|
"!**/__tests__",
|
|
38
38
|
"!**/__fixtures__",
|
|
39
39
|
"!**/__mocks__",
|
|
40
|
-
"!**/.*"
|
|
40
|
+
"!**/.*",
|
|
41
|
+
"CODEOWNERS"
|
|
41
42
|
],
|
|
42
43
|
"scripts": {
|
|
43
44
|
"test": "jest",
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
import {
|
|
2
|
+
findNodeHandle,
|
|
3
|
+
requireNativeComponent,
|
|
4
|
+
UIManager,
|
|
5
|
+
ViewStyle,
|
|
6
|
+
} from 'react-native';
|
|
7
|
+
import React from 'react';
|
|
8
|
+
|
|
9
|
+
enum Command {
|
|
10
|
+
REQUEST_CONTENT = 'requestContent',
|
|
11
|
+
CLEAR_CONTENT = 'clearContent',
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
const TJOfferwallDiscoverNativeView = requireNativeComponent(
|
|
15
|
+
'TJOfferwallDiscoverNativeView'
|
|
16
|
+
);
|
|
17
|
+
|
|
18
|
+
interface TJOfferwallDiscoverViewProps {
|
|
19
|
+
style?: ViewStyle;
|
|
20
|
+
onRequestSuccess?: Function;
|
|
21
|
+
onRequestFailure?: Function;
|
|
22
|
+
onContentReady?: Function;
|
|
23
|
+
onContentError?: Function;
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
export default class TJOfferwallDiscoverView extends React.Component<TJOfferwallDiscoverViewProps> {
|
|
27
|
+
nativeCompHandle: number | null = null;
|
|
28
|
+
constructor(props: TJOfferwallDiscoverViewProps) {
|
|
29
|
+
super(props);
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
render() {
|
|
33
|
+
return (
|
|
34
|
+
<TJOfferwallDiscoverNativeView
|
|
35
|
+
{...this.props}
|
|
36
|
+
ref={(ref) => {
|
|
37
|
+
this.nativeCompHandle = findNodeHandle(ref);
|
|
38
|
+
}}
|
|
39
|
+
/>
|
|
40
|
+
);
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
requestContent(placement: string) {
|
|
44
|
+
UIManager.dispatchViewManagerCommand(
|
|
45
|
+
this.nativeCompHandle!!,
|
|
46
|
+
Command.REQUEST_CONTENT,
|
|
47
|
+
[placement]
|
|
48
|
+
);
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
clearContent() {
|
|
52
|
+
UIManager.dispatchViewManagerCommand(
|
|
53
|
+
this.nativeCompHandle!!,
|
|
54
|
+
Command.CLEAR_CONTENT
|
|
55
|
+
);
|
|
56
|
+
}
|
|
57
|
+
}
|
package/src/TJUtil.ts
ADDED
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
export default class TJUtil {
|
|
2
|
+
static isValidDimensionValue(value: any): boolean {
|
|
3
|
+
if (typeof value !== 'number' && /[0-9]+%|auto/.test(value)) {
|
|
4
|
+
return true;
|
|
5
|
+
} else if (typeof value === 'number' && !isNaN(value)) {
|
|
6
|
+
return true;
|
|
7
|
+
}
|
|
8
|
+
return false;
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
static isValidNumber(value: any): boolean {
|
|
12
|
+
return typeof value === 'number' && !isNaN(value);
|
|
13
|
+
}
|
|
14
|
+
}
|
package/src/TJVersion.ts
CHANGED
package/src/index.ts
CHANGED
|
@@ -4,6 +4,7 @@ import TJPrivacyPolicy from './TJPrivacyPolicy';
|
|
|
4
4
|
import TJVersion from './TJVersion';
|
|
5
5
|
import TJStatus from './TJStatus';
|
|
6
6
|
import TJSegment from './TJSegment';
|
|
7
|
+
import TJOfferwallDiscoverView from './TJOfferwallDiscoverView';
|
|
7
8
|
|
|
8
9
|
const LINKING_ERROR =
|
|
9
10
|
`The package 'tapjoy-react-native-sdk' doesn't seem to be linked. Make sure: \n\n` +
|
|
@@ -22,5 +23,5 @@ const Tapjoy = NativeModules.TapjoyReactNativeSdk
|
|
|
22
23
|
}
|
|
23
24
|
);
|
|
24
25
|
|
|
25
|
-
export { Tapjoy, TJPlacement, TJPrivacyPolicy, TJVersion, TJStatus, TJSegment };
|
|
26
|
+
export { Tapjoy, TJPlacement, TJPrivacyPolicy, TJVersion, TJStatus, TJSegment, TJOfferwallDiscoverView };
|
|
26
27
|
export default Tapjoy;
|
|
@@ -17,7 +17,7 @@ Pod::Spec.new do |s|
|
|
|
17
17
|
s.source_files = "ios/**/*.{h,m,mm,swift}"
|
|
18
18
|
|
|
19
19
|
s.dependency "React-Core"
|
|
20
|
-
s.dependency "TapjoySDK", "13.
|
|
20
|
+
s.dependency "TapjoySDK", "13.3.0"
|
|
21
21
|
|
|
22
22
|
# Don't install the dependencies when we run `pod install` in the old architecture.
|
|
23
23
|
if ENV['RCT_NEW_ARCH_ENABLED'] == '1' then
|