@tyrads.com/tyrads-sdk 1.1.6-beta.2 → 1.1.6-beta.4

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.
@@ -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:02acdcda61")
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 {
@@ -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
- /// Shows the Tyrads offer wall.
143
- @objc public func showOffers() {
143
+
144
+ public func showOffers(_ launchMode: Int = 3, route: String? = nil, campaignID: Int? = nil) {
144
145
  self.initializationWait.wait()
145
- let urlString: String = "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 ?? "")";
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
- UIApplication.shared.open(url, options: [:], completionHandler: { _ in })
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
@@ -18,9 +18,10 @@ class TyradsSdk: NSObject {
18
18
  // Implement your login logic here
19
19
  }
20
20
 
21
- @objc
22
- func showOffers() {
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
  }
@@ -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 Tyrads = _reactNative.NativeModules.TyradsSdk ? _reactNative.NativeModules.TyradsSdk : new Proxy({}, {
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","Tyrads","NativeModules","TyradsSdk","Proxy","get","Error","_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,MAAM,GAAGC,0BAAa,CAACC,SAAS,GAClCD,0BAAa,CAACC,SAAS,GACvB,IAAIC,KAAK,CACP,CAAC,CAAC,EACF;EACEC,GAAGA,CAAA,EAAG;IACJ,MAAM,IAAIC,KAAK,CAACV,aAAa,CAAC;EAChC;AACF,CACF,CAAC;AAAC,IAAAW,QAAA,GAAAC,OAAA,CAAAR,OAAA,GACSC,MAAM","ignoreList":[]}
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":[]}
@@ -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 Tyrads = NativeModules.TyradsSdk ? NativeModules.TyradsSdk : new Proxy({}, {
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
@@ -1 +1 @@
1
- {"version":3,"names":["NativeModules","Platform","LINKING_ERROR","select","ios","default","Tyrads","TyradsSdk","Proxy","get","Error"],"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,MAAM,GAAGN,aAAa,CAACO,SAAS,GAClCP,aAAa,CAACO,SAAS,GACvB,IAAIC,KAAK,CACP,CAAC,CAAC,EACF;EACEC,GAAGA,CAAA,EAAG;IACJ,MAAM,IAAIC,KAAK,CAACR,aAAa,CAAC;EAChC;AACF,CACF,CAAC;AACL,eAAeI,MAAM","ignoreList":[]}
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: any;
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":"AAQA,QAAA,MAAM,MAAM,KASP,CAAC;AACN,eAAe,MAAM,CAAC"}
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: any;
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":"AAQA,QAAA,MAAM,MAAM,KASP,CAAC;AACN,eAAe,MAAM,CAAC"}
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
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tyrads.com/tyrads-sdk",
3
- "version": "1.1.6-beta.2",
3
+ "version": "1.1.6-beta.4",
4
4
  "description": "Tyrads SDK for React Native ",
5
5
  "source": "./src/index.tsx",
6
6
  "main": "./lib/commonjs/index.js",
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 Tyrads = NativeModules.TyradsSdk
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;