@tyrads.com/tyrads-sdk 1.1.6-beta.2 → 1.1.6-beta.6
Sign up to get free protection for your applications and to get access to all the features.
- package/android/build.gradle +1 -1
- package/android/src/main/java/com/tyradssdk/TyradsSdkModule.kt +3 -4
- package/ios/Tyrads/Tyrads.swift +43 -18
- package/ios/TyradsSdk.mm +3 -1
- package/ios/TyradsSdk.swift +5 -4
- package/lib/commonjs/index.js +20 -1
- package/lib/commonjs/index.js.map +1 -1
- package/lib/module/index.js +20 -1
- package/lib/module/index.js.map +1 -1
- package/lib/typescript/commonjs/src/index.d.ts +9 -1
- package/lib/typescript/commonjs/src/index.d.ts.map +1 -1
- package/lib/typescript/module/src/index.d.ts +9 -1
- package/lib/typescript/module/src/index.d.ts.map +1 -1
- package/package.json +1 -1
- package/readme.md +71 -0
- package/src/index.tsx +22 -1
package/android/build.gradle
CHANGED
@@ -95,7 +95,7 @@ dependencies {
|
|
95
95
|
//noinspection GradleDynamicVersion
|
96
96
|
implementation "com.facebook.react:react-native:+"
|
97
97
|
implementation "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version"
|
98
|
-
implementation ("com.github.tyrads-com:tyrads-sdk-android:
|
98
|
+
implementation ("com.github.tyrads-com:tyrads-sdk-android:317a555418")
|
99
99
|
|
100
100
|
}
|
101
101
|
|
@@ -22,7 +22,7 @@ class TyradsSdkModule(reactContext: ReactApplicationContext) :
|
|
22
22
|
promise.reject("INIT_ERROR", e.message)
|
23
23
|
}
|
24
24
|
}
|
25
|
-
|
25
|
+
|
26
26
|
@ReactMethod
|
27
27
|
fun loginUser(userId: String, promise: Promise) {
|
28
28
|
try {
|
@@ -32,10 +32,9 @@ class TyradsSdkModule(reactContext: ReactApplicationContext) :
|
|
32
32
|
promise.reject("LOGIN_ERROR", e.message)
|
33
33
|
}
|
34
34
|
}
|
35
|
-
|
36
35
|
@ReactMethod
|
37
|
-
fun showOffers() {
|
38
|
-
Tyrads.getInstance().showOffers()
|
36
|
+
fun showOffers(route: String? = null, campaignID: Int? = null) {
|
37
|
+
Tyrads.getInstance().showOffers(route = route, campaignID = campaignID)
|
39
38
|
}
|
40
39
|
|
41
40
|
companion object {
|
package/ios/Tyrads/Tyrads.swift
CHANGED
@@ -2,6 +2,7 @@ import Foundation
|
|
2
2
|
import UIKit
|
3
3
|
import AppTrackingTransparency
|
4
4
|
import AdSupport
|
5
|
+
import WebKit
|
5
6
|
|
6
7
|
|
7
8
|
|
@@ -41,7 +42,7 @@ public class Tyrads {
|
|
41
42
|
@objc public func loginUser(_ userID: String? = nil) {
|
42
43
|
do {
|
43
44
|
let userId = userID ?? UserDefaults.standard.string(forKey: "acmo-tyrads-sdk-user-id") ?? ""
|
44
|
-
|
45
|
+
|
45
46
|
let identifierType = "IDFA"
|
46
47
|
var advertisingId = ""
|
47
48
|
if #available(iOS 14, *) {
|
@@ -74,14 +75,14 @@ public class Tyrads {
|
|
74
75
|
"identifierType": identifierType,
|
75
76
|
"identifier": advertisingId
|
76
77
|
]
|
77
|
-
|
78
|
+
|
78
79
|
log("Initializing with data: \(fd)")
|
79
|
-
|
80
|
+
|
80
81
|
guard let url = URL(string: AcmoConfig.BASE_URL + "initialize") else {
|
81
82
|
log("Failed to create URL")
|
82
83
|
return
|
83
84
|
}
|
84
|
-
|
85
|
+
|
85
86
|
var request = URLRequest(url: url)
|
86
87
|
request.httpMethod = "POST"
|
87
88
|
request.setValue(AcmoConfig.SDK_PLATFORM, forHTTPHeaderField: "X-SDK-Platform")
|
@@ -89,29 +90,29 @@ public class Tyrads {
|
|
89
90
|
request.setValue("application/json", forHTTPHeaderField: "Content-Type")
|
90
91
|
request.setValue(self.apiKey, forHTTPHeaderField: "X-API-Key")
|
91
92
|
request.setValue(self.apiSecret, forHTTPHeaderField: "X-API-Secret")
|
92
|
-
|
93
|
+
|
93
94
|
do {
|
94
95
|
request.httpBody = try JSONSerialization.data(withJSONObject: fd)
|
95
96
|
} catch {
|
96
97
|
log("Failed to serialize request body: \(error)")
|
97
98
|
return
|
98
99
|
}
|
99
|
-
|
100
|
+
|
100
101
|
let task = URLSession.shared.dataTask(with: request) { data, response, error in
|
101
|
-
|
102
|
+
|
102
103
|
if let error = error {
|
103
104
|
self.log("Network request failed: \(error)")
|
104
105
|
return
|
105
106
|
}
|
106
|
-
|
107
|
+
|
107
108
|
guard let data = data else {
|
108
109
|
self.log("No data received from the server")
|
109
110
|
return
|
110
111
|
}
|
111
|
-
|
112
|
+
|
112
113
|
if let responseString = String(data: data, encoding: .utf8) {
|
113
114
|
self.log("Received response: \(responseString)")
|
114
|
-
|
115
|
+
|
115
116
|
let jsonData = responseString.data(using: .utf8)!
|
116
117
|
let decoder = JSONDecoder()
|
117
118
|
guard let acmoInitModel = try? decoder.decode(AcmoInitModel.self, from: jsonData) else {
|
@@ -124,14 +125,14 @@ public class Tyrads {
|
|
124
125
|
self.log("Login successful. Publisher User ID: \(self.publisherUserID), New User: \(self.newUser)")
|
125
126
|
self.initializationWait.signal()
|
126
127
|
}
|
127
|
-
|
128
|
-
|
128
|
+
|
129
|
+
|
129
130
|
}
|
130
|
-
|
131
|
+
|
131
132
|
task.resume()
|
132
133
|
log("Network request started")
|
133
134
|
|
134
|
-
|
135
|
+
|
135
136
|
} catch {
|
136
137
|
log("An error occurred: \(error)")
|
137
138
|
}
|
@@ -139,13 +140,37 @@ public class Tyrads {
|
|
139
140
|
|
140
141
|
|
141
142
|
|
142
|
-
|
143
|
-
|
143
|
+
|
144
|
+
public func showOffers(_ launchMode: Int = 3, route: String? = nil, campaignID: Int? = nil) {
|
144
145
|
self.initializationWait.wait()
|
145
|
-
|
146
|
+
var urlString =
|
147
|
+
"https://websdk.tyrads.com/?apiKey=\(Tyrads.instance.apiKey)&apiSecret=\(Tyrads.instance.apiSecret)&userID=\(Tyrads.instance.publisherUserID)&newUser=\(Tyrads.instance.newUser)&platform=\(AcmoConfig.SDK_PLATFORM)&hc=\(Tyrads.instance.loginData?.data.publisherApp.headerColor ?? "")&mc=\(Tyrads.instance.loginData?.data.publisherApp.mainColor ?? "")&launchMode=\(launchMode)&route=\(route ?? "")&campaignID=\(campaignID)"
|
148
|
+
|
146
149
|
|
147
150
|
if let url = URL(string: urlString) {
|
148
|
-
|
151
|
+
switch launchMode {
|
152
|
+
case 1, 2:
|
153
|
+
DispatchQueue.main.async {
|
154
|
+
let webView = WKWebView(frame: UIScreen.main.bounds)
|
155
|
+
webView.load(URLRequest(url: url))
|
156
|
+
|
157
|
+
let viewController = UIViewController()
|
158
|
+
viewController.view = webView
|
159
|
+
viewController.modalPresentationStyle = .fullScreen // Add this line to set the presentation style
|
160
|
+
|
161
|
+
if let rootViewController = UIApplication.shared.windows.first?.rootViewController {
|
162
|
+
rootViewController.present(viewController, animated: true, completion: nil)
|
163
|
+
}
|
164
|
+
}
|
165
|
+
case 3:
|
166
|
+
DispatchQueue.main.async {
|
167
|
+
UIApplication.shared.open(url, options: [:], completionHandler: nil)
|
168
|
+
}
|
169
|
+
default:
|
170
|
+
DispatchQueue.main.async {
|
171
|
+
UIApplication.shared.open(url, options: [:], completionHandler: nil)
|
172
|
+
}
|
173
|
+
}
|
149
174
|
}
|
150
175
|
}
|
151
176
|
}
|
package/ios/TyradsSdk.mm
CHANGED
@@ -4,6 +4,8 @@
|
|
4
4
|
|
5
5
|
RCT_EXTERN_METHOD(init:(NSString *)apiKey secretKey:(NSString *)secretKey)
|
6
6
|
RCT_EXTERN_METHOD(loginUser:(NSString *)userId)
|
7
|
-
RCT_EXTERN_METHOD(showOffers)
|
7
|
+
RCT_EXTERN_METHOD(showOffers:(NSInteger)launchMode
|
8
|
+
route:(NSString)route
|
9
|
+
campaignID:(NSInteger)campaignID)
|
8
10
|
|
9
11
|
@end
|
package/ios/TyradsSdk.swift
CHANGED
@@ -18,9 +18,10 @@ class TyradsSdk: NSObject {
|
|
18
18
|
// Implement your login logic here
|
19
19
|
}
|
20
20
|
|
21
|
-
|
22
|
-
|
21
|
+
|
22
|
+
@objc func showOffers(_ launchMode: Int = 3, route: String? = nil, campaignID: Int = 0) {
|
23
23
|
NSLog("TyradsModule: showOffers called")
|
24
|
-
Tyrads.instance.showOffers()
|
25
|
-
|
24
|
+
Tyrads.instance.showOffers(launchMode, route: route, campaignID: campaignID == 0 ? nil : campaignID )
|
25
|
+
}
|
26
|
+
|
26
27
|
}
|
package/lib/commonjs/index.js
CHANGED
@@ -9,10 +9,29 @@ const LINKING_ERROR = `The package 'tyrads-sdk' doesn't seem to be linked. Make
|
|
9
9
|
ios: "- You have run 'pod install'\n",
|
10
10
|
default: ''
|
11
11
|
}) + '- You rebuilt the app after installing the package\n' + '- You are not using Expo Go\n';
|
12
|
-
const
|
12
|
+
const TyradsSdk = _reactNative.NativeModules.TyradsSdk ? _reactNative.NativeModules.TyradsSdk : new Proxy({}, {
|
13
13
|
get() {
|
14
14
|
throw new Error(LINKING_ERROR);
|
15
15
|
}
|
16
16
|
});
|
17
|
+
const Tyrads = {
|
18
|
+
init: (apiKey, apiSecret) => {
|
19
|
+
return TyradsSdk.init(apiKey, apiSecret);
|
20
|
+
},
|
21
|
+
loginUser: userId => {
|
22
|
+
return TyradsSdk.loginUser(userId);
|
23
|
+
},
|
24
|
+
showOffers: ({
|
25
|
+
launchMode = 3,
|
26
|
+
route,
|
27
|
+
campaignID = 0
|
28
|
+
} = {}) => {
|
29
|
+
if (_reactNative.Platform.OS === 'ios') {
|
30
|
+
return TyradsSdk.showOffers(launchMode, route, campaignID);
|
31
|
+
} else {
|
32
|
+
return TyradsSdk.showOffers(route, campaignID);
|
33
|
+
}
|
34
|
+
}
|
35
|
+
};
|
17
36
|
var _default = exports.default = Tyrads;
|
18
37
|
//# sourceMappingURL=index.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["_reactNative","require","LINKING_ERROR","Platform","select","ios","default","
|
1
|
+
{"version":3,"names":["_reactNative","require","LINKING_ERROR","Platform","select","ios","default","TyradsSdk","NativeModules","Proxy","get","Error","Tyrads","init","apiKey","apiSecret","loginUser","userId","showOffers","launchMode","route","campaignID","OS","_default","exports"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":";;;;;;AAAA,IAAAA,YAAA,GAAAC,OAAA;AAEA,MAAMC,aAAa,GACjB,qEAAqE,GACrEC,qBAAQ,CAACC,MAAM,CAAC;EAAEC,GAAG,EAAE,gCAAgC;EAAEC,OAAO,EAAE;AAAG,CAAC,CAAC,GACvE,sDAAsD,GACtD,+BAA+B;AAEjC,MAAMC,SAAS,GAAGC,0BAAa,CAACD,SAAS,GACrCC,0BAAa,CAACD,SAAS,GACvB,IAAIE,KAAK,CACP,CAAC,CAAC,EACF;EACEC,GAAGA,CAAA,EAAG;IACJ,MAAM,IAAIC,KAAK,CAACT,aAAa,CAAC;EAChC;AACF,CACF,CAAC;AAEL,MAAMU,MAAM,GAAG;EACbC,IAAI,EAAEA,CAACC,MAAc,EAAEC,SAAiB,KAAK;IAC3C,OAAOR,SAAS,CAACM,IAAI,CAACC,MAAM,EAAEC,SAAS,CAAC;EAC1C,CAAC;EACDC,SAAS,EAAGC,MAAc,IAAK;IAC7B,OAAOV,SAAS,CAACS,SAAS,CAACC,MAAM,CAAC;EACpC,CAAC;EACDC,UAAU,EAAEA,CAAC;IACXC,UAAU,GAAG,CAAC;IACdC,KAAK;IACLC,UAAU,GAAG;EAC+C,CAAC,GAAG,CAAC,CAAC,KAAK;IACvE,IAAIlB,qBAAQ,CAACmB,EAAE,KAAK,KAAK,EAAE;MACzB,OAAOf,SAAS,CAACW,UAAU,CAACC,UAAU,EAAEC,KAAK,EAAEC,UAAU,CAAC;IAC5D,CAAC,MAAM;MACL,OAAOd,SAAS,CAACW,UAAU,CAACE,KAAK,EAAEC,UAAU,CAAC;IAChD;EACF;AACF,CAAC;AAAC,IAAAE,QAAA,GAAAC,OAAA,CAAAlB,OAAA,GAEaM,MAAM","ignoreList":[]}
|
package/lib/module/index.js
CHANGED
@@ -5,10 +5,29 @@ const LINKING_ERROR = `The package 'tyrads-sdk' doesn't seem to be linked. Make
|
|
5
5
|
ios: "- You have run 'pod install'\n",
|
6
6
|
default: ''
|
7
7
|
}) + '- You rebuilt the app after installing the package\n' + '- You are not using Expo Go\n';
|
8
|
-
const
|
8
|
+
const TyradsSdk = NativeModules.TyradsSdk ? NativeModules.TyradsSdk : new Proxy({}, {
|
9
9
|
get() {
|
10
10
|
throw new Error(LINKING_ERROR);
|
11
11
|
}
|
12
12
|
});
|
13
|
+
const Tyrads = {
|
14
|
+
init: (apiKey, apiSecret) => {
|
15
|
+
return TyradsSdk.init(apiKey, apiSecret);
|
16
|
+
},
|
17
|
+
loginUser: userId => {
|
18
|
+
return TyradsSdk.loginUser(userId);
|
19
|
+
},
|
20
|
+
showOffers: ({
|
21
|
+
launchMode = 3,
|
22
|
+
route,
|
23
|
+
campaignID = 0
|
24
|
+
} = {}) => {
|
25
|
+
if (Platform.OS === 'ios') {
|
26
|
+
return TyradsSdk.showOffers(launchMode, route, campaignID);
|
27
|
+
} else {
|
28
|
+
return TyradsSdk.showOffers(route, campaignID);
|
29
|
+
}
|
30
|
+
}
|
31
|
+
};
|
13
32
|
export default Tyrads;
|
14
33
|
//# sourceMappingURL=index.js.map
|
package/lib/module/index.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["NativeModules","Platform","LINKING_ERROR","select","ios","default","
|
1
|
+
{"version":3,"names":["NativeModules","Platform","LINKING_ERROR","select","ios","default","TyradsSdk","Proxy","get","Error","Tyrads","init","apiKey","apiSecret","loginUser","userId","showOffers","launchMode","route","campaignID","OS"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":";;AAAA,SAASA,aAAa,EAAEC,QAAQ,QAAQ,cAAc;AAEtD,MAAMC,aAAa,GACjB,qEAAqE,GACrED,QAAQ,CAACE,MAAM,CAAC;EAAEC,GAAG,EAAE,gCAAgC;EAAEC,OAAO,EAAE;AAAG,CAAC,CAAC,GACvE,sDAAsD,GACtD,+BAA+B;AAEjC,MAAMC,SAAS,GAAGN,aAAa,CAACM,SAAS,GACrCN,aAAa,CAACM,SAAS,GACvB,IAAIC,KAAK,CACP,CAAC,CAAC,EACF;EACEC,GAAGA,CAAA,EAAG;IACJ,MAAM,IAAIC,KAAK,CAACP,aAAa,CAAC;EAChC;AACF,CACF,CAAC;AAEL,MAAMQ,MAAM,GAAG;EACbC,IAAI,EAAEA,CAACC,MAAc,EAAEC,SAAiB,KAAK;IAC3C,OAAOP,SAAS,CAACK,IAAI,CAACC,MAAM,EAAEC,SAAS,CAAC;EAC1C,CAAC;EACDC,SAAS,EAAGC,MAAc,IAAK;IAC7B,OAAOT,SAAS,CAACQ,SAAS,CAACC,MAAM,CAAC;EACpC,CAAC;EACDC,UAAU,EAAEA,CAAC;IACXC,UAAU,GAAG,CAAC;IACdC,KAAK;IACLC,UAAU,GAAG;EAC+C,CAAC,GAAG,CAAC,CAAC,KAAK;IACvE,IAAIlB,QAAQ,CAACmB,EAAE,KAAK,KAAK,EAAE;MACzB,OAAOd,SAAS,CAACU,UAAU,CAACC,UAAU,EAAEC,KAAK,EAAEC,UAAU,CAAC;IAC5D,CAAC,MAAM;MACL,OAAOb,SAAS,CAACU,UAAU,CAACE,KAAK,EAAEC,UAAU,CAAC;IAChD;EACF;AACF,CAAC;AAED,eAAeT,MAAM","ignoreList":[]}
|
@@ -1,3 +1,11 @@
|
|
1
|
-
declare const Tyrads:
|
1
|
+
declare const Tyrads: {
|
2
|
+
init: (apiKey: string, apiSecret: string) => any;
|
3
|
+
loginUser: (userId: string) => any;
|
4
|
+
showOffers: ({ launchMode, route, campaignID, }?: {
|
5
|
+
launchMode?: number;
|
6
|
+
route?: string;
|
7
|
+
campaignID?: number;
|
8
|
+
}) => any;
|
9
|
+
};
|
2
10
|
export default Tyrads;
|
3
11
|
//# sourceMappingURL=index.d.ts.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/index.tsx"],"names":[],"mappings":"
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/index.tsx"],"names":[],"mappings":"AAmBA,QAAA,MAAM,MAAM;mBACK,MAAM,aAAa,MAAM;wBAGpB,MAAM;sDAOvB;QAAE,UAAU,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,UAAU,CAAC,EAAE,MAAM,CAAA;KAAE;CAOhE,CAAC;AAEF,eAAe,MAAM,CAAC"}
|
@@ -1,3 +1,11 @@
|
|
1
|
-
declare const Tyrads:
|
1
|
+
declare const Tyrads: {
|
2
|
+
init: (apiKey: string, apiSecret: string) => any;
|
3
|
+
loginUser: (userId: string) => any;
|
4
|
+
showOffers: ({ launchMode, route, campaignID, }?: {
|
5
|
+
launchMode?: number;
|
6
|
+
route?: string;
|
7
|
+
campaignID?: number;
|
8
|
+
}) => any;
|
9
|
+
};
|
2
10
|
export default Tyrads;
|
3
11
|
//# sourceMappingURL=index.d.ts.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/index.tsx"],"names":[],"mappings":"
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/index.tsx"],"names":[],"mappings":"AAmBA,QAAA,MAAM,MAAM;mBACK,MAAM,aAAa,MAAM;wBAGpB,MAAM;sDAOvB;QAAE,UAAU,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,UAAU,CAAC,EAAE,MAAM,CAAA;KAAE;CAOhE,CAAC;AAEF,eAAe,MAAM,CAAC"}
|
package/package.json
CHANGED
package/readme.md
CHANGED
@@ -22,3 +22,74 @@ import Tyrads from '@tyrads.com/tyrads-sdk';
|
|
22
22
|
Tyrads.showOffers();
|
23
23
|
```
|
24
24
|
|
25
|
+
|
26
|
+
</br>
|
27
|
+
<details>
|
28
|
+
<summary><strong>Launch Mode</strong></summary>
|
29
|
+
|
30
|
+
|
31
|
+
</br>
|
32
|
+
|
33
|
+
##### Min SDK version required: v1.1.6
|
34
|
+
##### Works only for iOS
|
35
|
+
|
36
|
+
</br>
|
37
|
+
|
38
|
+
Tyrads SDK provides the ability to open the Offerwall in a webkit view that is embedded in the app to provide a seamless user experience. Also, it provides the ability to open the Offerwall in an external browser (Safari) if Apple's app store policy does not approve the in-app rewards system for the app.
|
39
|
+
|
40
|
+
Available launch modes:
|
41
|
+
- `launchMode: 3` - opens the Offerwall in an external browser (Safari)
|
42
|
+
- `launchMode: 2` - opens the Offerwall in a webkit view that is embedded in the app
|
43
|
+
|
44
|
+
```js
|
45
|
+
|
46
|
+
// Note: The launchMode parameter is optional, if not specified the default would be opening the Offerwall in an external browser (Safari)
|
47
|
+
|
48
|
+
Tyrads.showOffers({ launchMode: 3 });// provide launchMode: 2 to open the Offerwall in a webkit view that is embedded in the app
|
49
|
+
|
50
|
+
```
|
51
|
+
</details>
|
52
|
+
|
53
|
+
|
54
|
+
|
55
|
+
</br>
|
56
|
+
<details>
|
57
|
+
<summary><strong>Deeplinking Routes</strong></summary>
|
58
|
+
|
59
|
+
|
60
|
+
</br>
|
61
|
+
|
62
|
+
##### Min SDK version required: v1.1.6
|
63
|
+
|
64
|
+
</br>
|
65
|
+
|
66
|
+
The Tyrads SDK supports deeplinking to specific sections of the offerwall. When initializing or interacting with the SDK, you can specify a route to open a particular page. For campaign-specific routes, you'll need to provide the campaignID as well.
|
67
|
+
|
68
|
+
Available routes and their usage:
|
69
|
+
- `campaigns` - opens the Campaigns Page
|
70
|
+
- `campaigns-activated` - opens the Activated Campaigns Page
|
71
|
+
- `campaign-details` - opens the Campaign Details Page (requires campaignID)
|
72
|
+
- `campaign-tickets` - opens the Campaign Tickets Page (requires campaignID)
|
73
|
+
|
74
|
+
```js
|
75
|
+
|
76
|
+
// Default route (Campaigns Page)
|
77
|
+
Tyrads.showOffers();
|
78
|
+
|
79
|
+
// Explicitly specifying the Campaigns Page
|
80
|
+
Tyrads.showOffers({ route: "campaigns" });
|
81
|
+
|
82
|
+
// Activated Campaigns Page
|
83
|
+
Tyrads.showOffers({ route: "campaigns-activated" });
|
84
|
+
|
85
|
+
// Campaign Details Page (requires campaignID)
|
86
|
+
Tyrads.showOffers({ route: "campaign-details", campaignID: "your_campaign_id_here" });
|
87
|
+
|
88
|
+
// Campaign Tickets Page (requires campaignID)
|
89
|
+
Tyrads.showOffers({ route: "campaign-tickets", campaignID: "your_campaign_id_here" });
|
90
|
+
|
91
|
+
```
|
92
|
+
</details>
|
93
|
+
|
94
|
+
</br></br>
|
95
|
+
|
package/src/index.tsx
CHANGED
@@ -6,7 +6,7 @@ const LINKING_ERROR =
|
|
6
6
|
'- You rebuilt the app after installing the package\n' +
|
7
7
|
'- You are not using Expo Go\n';
|
8
8
|
|
9
|
-
const
|
9
|
+
const TyradsSdk = NativeModules.TyradsSdk
|
10
10
|
? NativeModules.TyradsSdk
|
11
11
|
: new Proxy(
|
12
12
|
{},
|
@@ -16,4 +16,25 @@ const Tyrads = NativeModules.TyradsSdk
|
|
16
16
|
},
|
17
17
|
}
|
18
18
|
);
|
19
|
+
|
20
|
+
const Tyrads = {
|
21
|
+
init: (apiKey: string, apiSecret: string) => {
|
22
|
+
return TyradsSdk.init(apiKey, apiSecret);
|
23
|
+
},
|
24
|
+
loginUser: (userId: string) => {
|
25
|
+
return TyradsSdk.loginUser(userId);
|
26
|
+
},
|
27
|
+
showOffers: ({
|
28
|
+
launchMode = 3,
|
29
|
+
route,
|
30
|
+
campaignID = 0,
|
31
|
+
}: { launchMode?: number; route?: string; campaignID?: number } = {}) => {
|
32
|
+
if (Platform.OS === 'ios') {
|
33
|
+
return TyradsSdk.showOffers(launchMode, route, campaignID);
|
34
|
+
} else {
|
35
|
+
return TyradsSdk.showOffers(route, campaignID);
|
36
|
+
}
|
37
|
+
},
|
38
|
+
};
|
39
|
+
|
19
40
|
export default Tyrads;
|