@tyrads.com/tyrads-sdk 4.0.0 → 4.0.1-beta.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/android/build.gradle +1 -1
- package/ios/Tyrads/Tyrads.swift +2 -75
- package/ios/TyradsSdk.mm +0 -3
- package/ios/TyradsSdk.swift +0 -8
- package/lib/commonjs/acmo_config.js +2 -2
- package/lib/module/acmo_config.js +2 -2
- package/package.json +2 -2
- package/src/acmo_config.ts +2 -2
package/android/build.gradle
CHANGED
|
@@ -112,6 +112,6 @@ dependencies {
|
|
|
112
112
|
implementation "com.facebook.react:react-native:+"
|
|
113
113
|
implementation 'com.google.code.gson:gson:+'
|
|
114
114
|
|
|
115
|
-
implementation 'com.github.tyrads-com:tyrads-sdk-android:
|
|
115
|
+
implementation 'com.github.tyrads-com:tyrads-sdk-android:04257cd7a0'
|
|
116
116
|
}
|
|
117
117
|
|
package/ios/Tyrads/Tyrads.swift
CHANGED
|
@@ -41,8 +41,6 @@ public class Tyrads : NSObject {
|
|
|
41
41
|
}
|
|
42
42
|
}
|
|
43
43
|
|
|
44
|
-
private var preloadedWebVC: AcmoWebViewController?
|
|
45
|
-
|
|
46
44
|
internal func log(_ message: String) {
|
|
47
45
|
if debugMode {
|
|
48
46
|
NSLog(message)
|
|
@@ -214,10 +212,6 @@ public class Tyrads : NSObject {
|
|
|
214
212
|
privacyAccepted: hasAccepted
|
|
215
213
|
)
|
|
216
214
|
|
|
217
|
-
Task { @MainActor in
|
|
218
|
-
self.preloadOffers()
|
|
219
|
-
}
|
|
220
|
-
|
|
221
215
|
return headers
|
|
222
216
|
}
|
|
223
217
|
|
|
@@ -242,36 +236,7 @@ public class Tyrads : NSObject {
|
|
|
242
236
|
return components.url
|
|
243
237
|
}
|
|
244
238
|
|
|
245
|
-
|
|
246
|
-
public func preloadOffers(route: String? = nil) {
|
|
247
|
-
let normalizedRoute = (route?.isEmpty ?? true) ? nil : route
|
|
248
|
-
|
|
249
|
-
// only preload the default offerwall (no specific route)
|
|
250
|
-
if normalizedRoute != nil {
|
|
251
|
-
self.log("Preload: Skipping specific route \(normalizedRoute!)")
|
|
252
|
-
return
|
|
253
|
-
}
|
|
254
|
-
|
|
255
|
-
guard !self.token.isEmpty else {
|
|
256
|
-
self.log("Preload failed: token is empty")
|
|
257
|
-
return
|
|
258
|
-
}
|
|
259
|
-
guard let url = getOffersURL(route: nil) else {
|
|
260
|
-
self.log("Preload failed: failed to generate URL")
|
|
261
|
-
return
|
|
262
|
-
}
|
|
263
|
-
|
|
264
|
-
self.log("Preloading default webview for URL: \(url.absoluteString)")
|
|
265
|
-
|
|
266
|
-
if let existing = self.preloadedWebVC, existing.initialURL.absoluteString == url.absoluteString {
|
|
267
|
-
self.log("Preload: Already have a matching preloaded VC, skipping recreation.")
|
|
268
|
-
return
|
|
269
|
-
}
|
|
270
|
-
|
|
271
|
-
let webVC = AcmoWebViewController(url: url)
|
|
272
|
-
_ = webVC.view
|
|
273
|
-
self.preloadedWebVC = webVC
|
|
274
|
-
}
|
|
239
|
+
|
|
275
240
|
|
|
276
241
|
public func showOffers(_ launchMode: Int = 2, route: String? = nil, campaignID: Int? = nil) async {
|
|
277
242
|
await ensureInitialized()
|
|
@@ -289,43 +254,7 @@ public class Tyrads : NSObject {
|
|
|
289
254
|
let showWebView: () -> Void = {
|
|
290
255
|
let webVC: AcmoWebViewController
|
|
291
256
|
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
let isMatch: Bool = {
|
|
295
|
-
guard isDefault else { return false }
|
|
296
|
-
|
|
297
|
-
guard let preloaded = self.preloadedWebVC else {
|
|
298
|
-
self.log("Preload Check: No preloaded webview found.")
|
|
299
|
-
return false
|
|
300
|
-
}
|
|
301
|
-
let preloadedURL = preloaded.initialURL
|
|
302
|
-
|
|
303
|
-
if preloadedURL.absoluteString == url.absoluteString { return true }
|
|
304
|
-
|
|
305
|
-
guard let comp1 = URLComponents(url: preloadedURL, resolvingAgainstBaseURL: false),
|
|
306
|
-
let comp2 = URLComponents(url: url, resolvingAgainstBaseURL: false) else { return false }
|
|
307
|
-
|
|
308
|
-
let q1 = comp1.queryItems ?? []
|
|
309
|
-
let q2 = comp2.queryItems ?? []
|
|
310
|
-
|
|
311
|
-
if q1.count != q2.count {
|
|
312
|
-
return false
|
|
313
|
-
}
|
|
314
|
-
|
|
315
|
-
let matchesAll = q1.allSatisfy { item1 in
|
|
316
|
-
q2.contains { item2 in item1.name == item2.name && item1.value == item2.value }
|
|
317
|
-
}
|
|
318
|
-
|
|
319
|
-
return matchesAll && comp1.host == comp2.host && comp1.path == comp2.path
|
|
320
|
-
}()
|
|
321
|
-
|
|
322
|
-
if isMatch, let preloaded = self.preloadedWebVC {
|
|
323
|
-
self.log("Preload Check: MATCH FOUND. Using shared default webview.")
|
|
324
|
-
webVC = preloaded
|
|
325
|
-
} else {
|
|
326
|
-
self.log("Preload Check: Loading normally. (Req: \(isDefault ? "default" : "specific route"), Preload Available: \(self.preloadedWebVC != nil))")
|
|
327
|
-
webVC = AcmoWebViewController(url: url)
|
|
328
|
-
}
|
|
257
|
+
webVC = AcmoWebViewController(url: url)
|
|
329
258
|
|
|
330
259
|
webVC.onDismiss = {
|
|
331
260
|
webVC.onDismiss = nil
|
|
@@ -387,8 +316,6 @@ public class Tyrads : NSObject {
|
|
|
387
316
|
self.currentLanguage = lang
|
|
388
317
|
UserDefaults.standard.set(lang, forKey: "locale")
|
|
389
318
|
await LocalizationService.shared.changeLanguage(locale: lang)
|
|
390
|
-
|
|
391
|
-
self.preloadedWebVC = nil
|
|
392
319
|
}
|
|
393
320
|
|
|
394
321
|
public func isPrivacyAccepted() -> Bool {
|
package/ios/TyradsSdk.mm
CHANGED
|
@@ -34,9 +34,6 @@ RCT_EXTERN_METHOD(isPrivacyAccepted:(RCTPromiseResolveBlock)resolve
|
|
|
34
34
|
rejecter:(RCTPromiseRejectBlock)reject)
|
|
35
35
|
RCT_EXTERN_METHOD(checkOnboardingProcess:(RCTPromiseResolveBlock)resolve
|
|
36
36
|
rejecter:(RCTPromiseRejectBlock)reject)
|
|
37
|
-
RCT_EXTERN_METHOD(preloadOffers : (NSString *_Nullable)route
|
|
38
|
-
resolver : (RCTPromiseResolveBlock)resolve
|
|
39
|
-
rejecter : (RCTPromiseRejectBlock)reject)
|
|
40
37
|
|
|
41
38
|
RCT_EXTERN_METHOD(pushRequestPermission:(RCTPromiseResolveBlock)resolve
|
|
42
39
|
rejecter:(RCTPromiseRejectBlock)reject)
|
package/ios/TyradsSdk.swift
CHANGED
|
@@ -131,14 +131,6 @@ class TyradsSdk: RCTEventEmitter , APNsNotificationListener{
|
|
|
131
131
|
}
|
|
132
132
|
}
|
|
133
133
|
|
|
134
|
-
@objc(preloadOffers:resolver:rejecter:)
|
|
135
|
-
func preloadOffers(_ route: String?, resolver resolve: @escaping RCTPromiseResolveBlock, rejecter reject: @escaping RCTPromiseRejectBlock) {
|
|
136
|
-
Task { @MainActor in
|
|
137
|
-
Tyrads.instance.preloadOffers(route: route)
|
|
138
|
-
resolve(nil)
|
|
139
|
-
}
|
|
140
|
-
}
|
|
141
|
-
|
|
142
134
|
@objc(changeLanguage:resolver:rejecter:)
|
|
143
135
|
func changeLanguage(_ lang: String, resolver resolve: @escaping RCTPromiseResolveBlock, rejecter reject: @escaping RCTPromiseRejectBlock) {
|
|
144
136
|
Task {
|
|
@@ -9,8 +9,8 @@ class AcmoConfig {
|
|
|
9
9
|
static BASE_URL = `https://api.tyrads.com/v${this.API_VERSION}/`;
|
|
10
10
|
static MAJOR_VERSION = "4";
|
|
11
11
|
static MINOR_VERSION = "0";
|
|
12
|
-
static PATCH_VERSION = "
|
|
13
|
-
static BUILD_VERSION = "
|
|
12
|
+
static PATCH_VERSION = "1";
|
|
13
|
+
static BUILD_VERSION = "2";
|
|
14
14
|
static SDK_PLATFORM = "React Native";
|
|
15
15
|
static SDK_VERSION = `${this.MAJOR_VERSION}.${this.MINOR_VERSION}.${this.PATCH_VERSION}-${this.BUILD_VERSION}`;
|
|
16
16
|
}
|
|
@@ -5,8 +5,8 @@ export class AcmoConfig {
|
|
|
5
5
|
static BASE_URL = `https://api.tyrads.com/v${this.API_VERSION}/`;
|
|
6
6
|
static MAJOR_VERSION = "4";
|
|
7
7
|
static MINOR_VERSION = "0";
|
|
8
|
-
static PATCH_VERSION = "
|
|
9
|
-
static BUILD_VERSION = "
|
|
8
|
+
static PATCH_VERSION = "1";
|
|
9
|
+
static BUILD_VERSION = "2";
|
|
10
10
|
static SDK_PLATFORM = "React Native";
|
|
11
11
|
static SDK_VERSION = `${this.MAJOR_VERSION}.${this.MINOR_VERSION}.${this.PATCH_VERSION}-${this.BUILD_VERSION}`;
|
|
12
12
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@tyrads.com/tyrads-sdk",
|
|
3
|
-
"version": "4.0.0",
|
|
3
|
+
"version": "4.0.1-beta.0",
|
|
4
4
|
"description": "Tyrads SDK for React Native ",
|
|
5
5
|
"source": "./src/index.tsx",
|
|
6
6
|
"main": "./lib/commonjs/index.js",
|
|
@@ -194,4 +194,4 @@
|
|
|
194
194
|
"react-native-linear-gradient": "^2.8.3",
|
|
195
195
|
"react-native-snap-carousel": "^3.9.1"
|
|
196
196
|
}
|
|
197
|
-
}
|
|
197
|
+
}
|
package/src/acmo_config.ts
CHANGED
|
@@ -3,8 +3,8 @@ export class AcmoConfig {
|
|
|
3
3
|
public static BASE_URL = `https://api.tyrads.com/v${this.API_VERSION}/`;
|
|
4
4
|
public static MAJOR_VERSION = "4";
|
|
5
5
|
public static MINOR_VERSION = "0";
|
|
6
|
-
public static PATCH_VERSION = "
|
|
7
|
-
public static BUILD_VERSION = "
|
|
6
|
+
public static PATCH_VERSION = "1";
|
|
7
|
+
public static BUILD_VERSION = "2";
|
|
8
8
|
public static SDK_PLATFORM = "React Native";
|
|
9
9
|
public static SDK_VERSION = `${this.MAJOR_VERSION}.${this.MINOR_VERSION}.${this.PATCH_VERSION}-${this.BUILD_VERSION}`;
|
|
10
10
|
}
|