@@ -8,8 +8,6 @@ import com.appsflyer.internal.models.InAppPurchaseValidationResult
88import com.appsflyer.internal.models.SubscriptionPurchase
99import com.appsflyer.internal.models.SubscriptionValidationResult
1010import com.appsflyer.internal.models.ValidationFailureData
11- import com.appsflyer.internal.models.SubscriptionPurchaseEvent
12- import com.appsflyer.internal.models.InAppPurchaseEvent
1311
1412/* *
1513 * A connector class that wraps the Android purchase connector client.
@@ -34,6 +32,9 @@ class ConnectorWrapper(
3432 inAppListener : MappedValidationResultListener ,
3533) :
3634 PurchaseClient {
35+ private var subscriptionDataSource: Map <String , Any > = mapOf ()
36+ private var inAppDataSource: Map <String , Any > = mapOf ()
37+
3738 private val connector =
3839 PurchaseClient .Builder (context, Store .GOOGLE )
3940 .setSandbox(sandbox)
@@ -57,6 +58,8 @@ class ConnectorWrapper(
5758 inAppListener.onFailure(result, error)
5859 }
5960 })
61+ .setSubscriptionPurchaseEventDataSource(PurchaseClient .SubscriptionPurchaseEventDataSource { _ -> subscriptionDataSource })
62+ .setInAppPurchaseEventDataSource(PurchaseClient .InAppPurchaseEventDataSource { _ -> inAppDataSource })
6063 .build()
6164
6265 /* *
@@ -73,30 +76,22 @@ class ConnectorWrapper(
7376 * Sets the data source for subscription purchase events.
7477 * This allows adding additional parameters to subscription purchase events.
7578 *
76- * @param dataSource A function that returns additional parameters for subscription purchases
79+ * @param dataSource A map of additional parameters for subscription purchases
7780 */
78- fun setSubscriptionPurchaseEventDataSource (dataSource : (List <SubscriptionPurchaseEvent >) -> Map <String , Any >) {
79- connector.setSubscriptionPurchaseEventDataSource(object : PurchaseClient .SubscriptionPurchaseEventDataSource {
80- override fun onNewPurchases (purchaseEvents : List <SubscriptionPurchaseEvent >): Map <String , Any > {
81- return dataSource(purchaseEvents)
82- }
83- })
81+ fun setSubscriptionPurchaseEventDataSource (dataSource : Map <String , Any >) {
82+ subscriptionDataSource = dataSource
8483 }
8584
8685 /* *
8786 * Sets the data source for in-app purchase events.
8887 * This allows adding additional parameters to in-app purchase events.
8988 *
90- * @param dataSource A function that returns additional parameters for in-app purchases
89+ * @param dataSource A map of additional parameters for in-app purchases
9190 */
92- fun setInAppPurchaseEventDataSource (dataSource : (List <InAppPurchaseEvent >) -> Map <String , Any >) {
93- connector.setInAppPurchaseEventDataSource(object : PurchaseClient .InAppPurchaseEventDataSource {
94- override fun onNewPurchases (purchaseEvents : List <InAppPurchaseEvent >): Map <String , Any > {
95- return dataSource(purchaseEvents)
96- }
97- })
91+ fun setInAppPurchaseEventDataSource (dataSource : Map <String , Any >) {
92+ inAppDataSource = dataSource
9893 }
99-
94+
10095 /* *
10196 * Converts [SubscriptionPurchase] to a Json map, which then is delivered to SDK's method response.
10297 *
0 commit comments