@@ -4,6 +4,7 @@ import android.content.Context
44import android.content.pm.ApplicationInfo
55import com.telemetrydeck.sdk.params.Acquisition
66import com.telemetrydeck.sdk.params.Activation
7+ import com.telemetrydeck.sdk.params.ErrorCategory
78import com.telemetrydeck.sdk.params.Navigation
89import com.telemetrydeck.sdk.params.Revenue
910import com.telemetrydeck.sdk.providers.AccessibilityProvider
@@ -72,7 +73,6 @@ class TelemetryDeck(
7273 navigate(navigationStatus.getLastDestination(), destinationPath, customUserID)
7374 }
7475
75- @ExperimentalFeature
7676 override fun acquiredUser (channel : String , params : Map <String , String >, customUserID : String? ) {
7777 val signalParams = mergeMapsWithOverwrite(params, mapOf (
7878 Acquisition .Channel .paramName to channel
@@ -84,7 +84,6 @@ class TelemetryDeck(
8484 )
8585 }
8686
87- @ExperimentalFeature
8887 override fun leadStarted (leadId : String , params : Map <String , String >, customUserID : String? ) {
8988 val signalParams = mergeMapsWithOverwrite(params, mapOf (
9089 Acquisition .LeadId .paramName to leadId
@@ -96,7 +95,6 @@ class TelemetryDeck(
9695 )
9796 }
9897
99- @ExperimentalFeature
10098 override fun leadConverted (leadId : String , params : Map <String , String >, customUserID : String? ) {
10199 val signalParams = mergeMapsWithOverwrite(params, mapOf (
102100 Acquisition .LeadId .paramName to leadId
@@ -108,7 +106,6 @@ class TelemetryDeck(
108106 )
109107 }
110108
111- @ExperimentalFeature
112109 override fun onboardingCompleted (
113110 params : Map <String , String >,
114111 customUserID : String?
@@ -120,7 +117,6 @@ class TelemetryDeck(
120117 )
121118 }
122119
123- @ExperimentalFeature
124120 override fun coreFeatureUsed (
125121 featureName : String ,
126122 params : Map <String , String >,
@@ -155,6 +151,76 @@ class TelemetryDeck(
155151 )
156152 }
157153
154+ override fun referralSent (
155+ receiversCount : Int ,
156+ kind : String? ,
157+ params : Map <String , String >,
158+ customUserID : String?
159+ ) {
160+ val referralParams = mutableMapOf (
161+ com.telemetrydeck.sdk.params.Referral .ReceiversCount .paramName to receiversCount.toString()
162+ )
163+ if (kind != null ) {
164+ referralParams[com.telemetrydeck.sdk.params.Referral .Kind .paramName] = kind
165+ }
166+ val signalParams = mergeMapsWithOverwrite(params, referralParams)
167+ signal(
168+ com.telemetrydeck.sdk.signals.Referral .Sent .signalName,
169+ params = signalParams,
170+ customUserID = customUserID
171+ )
172+ }
173+
174+ override fun userRatingSubmitted (
175+ rating : Int ,
176+ comment : String? ,
177+ params : Map <String , String >,
178+ customUserID : String?
179+ ) {
180+ if (rating < 0 || rating > 10 ) {
181+ logger?.error(" userRatingSubmitted: rating must be between 0 and 10, got $rating " )
182+ return
183+ }
184+ val referralParams = mutableMapOf (
185+ com.telemetrydeck.sdk.params.Referral .RatingValue .paramName to rating.toString()
186+ )
187+ if (comment != null ) {
188+ referralParams[com.telemetrydeck.sdk.params.Referral .RatingComment .paramName] = comment
189+ }
190+ val signalParams = mergeMapsWithOverwrite(params, referralParams)
191+ signal(
192+ com.telemetrydeck.sdk.signals.Referral .UserRatingSubmitted .signalName,
193+ params = signalParams,
194+ customUserID = customUserID
195+ )
196+ }
197+
198+ override fun errorOccurred (
199+ id : String ,
200+ category : ErrorCategory ? ,
201+ message : String? ,
202+ parameters : Map <String , String >,
203+ floatValue : Double? ,
204+ customUserID : String?
205+ ) {
206+ val errorParams = mutableMapOf (
207+ com.telemetrydeck.sdk.params.Error .Id .paramName to id
208+ )
209+ if (category != null ) {
210+ errorParams[com.telemetrydeck.sdk.params.Error .Category .paramName] = category.rawValue
211+ }
212+ if (message != null ) {
213+ errorParams[com.telemetrydeck.sdk.params.Error .Message .paramName] = message
214+ }
215+ val signalParams = mergeMapsWithOverwrite(parameters, errorParams)
216+ signal(
217+ com.telemetrydeck.sdk.signals.Error .Occurred .signalName,
218+ params = signalParams,
219+ floatValue = floatValue,
220+ customUserID = customUserID
221+ )
222+ }
223+
158224 override suspend fun send (
159225 signalType : String ,
160226 clientUser : String? ,
@@ -448,7 +514,6 @@ class TelemetryDeck(
448514 getInstance()?.navigate(destinationPath, customUserID = customUserID)
449515 }
450516
451- @ExperimentalFeature
452517 override fun acquiredUser (
453518 channel : String ,
454519 params : Map <String , String >,
@@ -457,7 +522,6 @@ class TelemetryDeck(
457522 getInstance()?.acquiredUser(channel, params, customUserID)
458523 }
459524
460- @ExperimentalFeature
461525 override fun leadStarted (
462526 leadId : String ,
463527 params : Map <String , String >,
@@ -466,7 +530,6 @@ class TelemetryDeck(
466530 getInstance()?.leadStarted(leadId, params, customUserID)
467531 }
468532
469- @ExperimentalFeature
470533 override fun leadConverted (
471534 leadId : String ,
472535 params : Map <String , String >,
@@ -475,15 +538,13 @@ class TelemetryDeck(
475538 getInstance()?.leadConverted(leadId, params, customUserID)
476539 }
477540
478- @ExperimentalFeature
479541 override fun onboardingCompleted (
480542 params : Map <String , String >,
481543 customUserID : String?
482544 ) {
483545 getInstance()?.onboardingCompleted(params, customUserID)
484546 }
485547
486- @ExperimentalFeature
487548 override fun coreFeatureUsed (
488549 featureName : String ,
489550 params : Map <String , String >,
@@ -500,6 +561,35 @@ class TelemetryDeck(
500561 getInstance()?.paywallShown(reason, params, customUserID)
501562 }
502563
564+ override fun referralSent (
565+ receiversCount : Int ,
566+ kind : String? ,
567+ params : Map <String , String >,
568+ customUserID : String?
569+ ) {
570+ getInstance()?.referralSent(receiversCount, kind, params, customUserID)
571+ }
572+
573+ override fun userRatingSubmitted (
574+ rating : Int ,
575+ comment : String? ,
576+ params : Map <String , String >,
577+ customUserID : String?
578+ ) {
579+ getInstance()?.userRatingSubmitted(rating, comment, params, customUserID)
580+ }
581+
582+ override fun errorOccurred (
583+ id : String ,
584+ category : ErrorCategory ? ,
585+ message : String? ,
586+ parameters : Map <String , String >,
587+ floatValue : Double? ,
588+ customUserID : String?
589+ ) {
590+ getInstance()?.errorOccurred(id, category, message, parameters, floatValue, customUserID)
591+ }
592+
503593 override suspend fun send (
504594 signalType : String ,
505595 clientUser : String? ,
0 commit comments