Fixed server side verification
DreamingCodes committed
Aug 6, 2024 at 01:14 UTC
a699d57d1baa87258266fde093615a1bfccc320d
3 files changed
+20
-7
android/src/main/java/AdmobPlugin.kt
+7
-1
@@ -38,11 +38,17 @@ class InvokeArgs {
38
val tagForChildDirectedTreatment: Boolean? = null
39
val tagForUnderAgeOfConsent: Boolean? = null
40
val testDeviceIds: List<String?>? = null
41
- val serverSideVerification: JSObject? = null
41
+ val serverSideVerification: ServerSideVerification? = null
42
val customData: String? = null
43
val userId: String? = null
44
}
45
46
+@InvokeArg
47
+class ServerSideVerification {
48
+ var userId: String? = null
49
+ var customData: String? = null
50
+}
51
+
52
@TauriPlugin
53
class AdmobPlugin(var activity: Activity) : Plugin(activity) {
54
private lateinit var consentInformation: ConsentInformation
android/src/main/java/ExecuteContext.kt
+4
@@ -61,6 +61,10 @@ class ExecuteContext internal constructor(private val call: Invoke) : Context {
61
}
62
}
63
64
+ override fun getInvokeArgs(): InvokeArgs {
65
+ return getData()
66
+ }
67
+
68
override fun has(name: String): Boolean {
69
println("has: $name, ${getProperty(getData(), name)}")
70
return getProperty(getData(), name) != null
android/src/main/java/core/Context.kt
+9
-6
@@ -7,6 +7,7 @@ import com.google.android.gms.ads.LoadAdError
7
import com.google.android.gms.ads.MobileAds
8
import com.google.android.gms.ads.RequestConfiguration
9
import com.google.android.gms.ads.rewarded.ServerSideVerificationOptions
10
+import com.plugin.admob.InvokeArgs
11
import org.json.JSONObject
12
import java.util.Objects
13
@@ -19,6 +20,8 @@ interface Context {
20
return optDouble(name) ?: return defaultValue
21
}
22
23
+ fun getInvokeArgs(): InvokeArgs
24
+
25
fun optFloat(name: String): Float? {
26
val v = optDouble(name) ?: return null
27
return v.toFloat()
@@ -113,14 +116,14 @@ interface Context {
116
}
117
118
fun optServerSideVerificationOptions(): ServerSideVerificationOptions? {
116
- val param = "serverSideVerification"
117
- val serverSideVerification = optObject(param) ?: return null
119
+ val param = this.getInvokeArgs();
120
+ val serverSideVerification = param.serverSideVerification ?: return null
121
val builder = ServerSideVerificationOptions.Builder()
119
- if (serverSideVerification.has("customData")) {
120
- builder.setCustomData(serverSideVerification.optString("customData"))
122
+ if (serverSideVerification.customData != null) {
123
+ builder.setCustomData(serverSideVerification.customData!!)
124
}
122
- if (serverSideVerification.has("userId")) {
123
- builder.setUserId(serverSideVerification.optString("userId"))
125
+ if (serverSideVerification.userId != null) {
126
+ builder.setUserId(serverSideVerification.userId!!)
127
}
128
return builder.build()
129
}