@tyrads.com/tyrads-sdk 1.1.6-beta.2 → 1.1.6-beta.6
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/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;
|