Skip to content

Commit

Permalink
fix: update the revenue function (amplitude#122)
Browse files Browse the repository at this point in the history
  • Loading branch information
yuhao900914 authored Oct 21, 2022
1 parent f24b6b4 commit d6bc52d
Show file tree
Hide file tree
Showing 3 changed files with 38 additions and 30 deletions.
Original file line number Diff line number Diff line change
@@ -1,10 +1,11 @@
package com.amplitude.amplitude_flutter

import android.content.Context
import android.app.Application
import android.content.Context
import com.amplitude.api.Amplitude
import com.amplitude.api.AmplitudeServerZone
import com.amplitude.api.Identify
import com.amplitude.api.Revenue
import io.flutter.embedding.engine.plugins.FlutterPlugin
import io.flutter.plugin.common.MethodCall
import io.flutter.plugin.common.MethodChannel
Expand Down Expand Up @@ -36,7 +37,6 @@ class AmplitudeFlutterPlugin : FlutterPlugin, MethodCallHandler {
}

override fun onDetachedFromEngine(binding: FlutterPlugin.FlutterPluginBinding) {

}

override fun onMethodCall(call: MethodCall, result: Result) {
Expand All @@ -46,8 +46,10 @@ class AmplitudeFlutterPlugin : FlutterPlugin, MethodCallHandler {
when (call.method) {
"init" -> {
val client = Amplitude.getInstance(instanceName)
client.initialize(ctxt, json.getString("apiKey"),
json.optString("userId", null))
client.initialize(
ctxt, json.getString("apiKey"),
json.optString("userId", null)
)
val application = ctxt?.applicationContext
if (application is Application) {
client.enableForegroundTracking(application)
Expand Down Expand Up @@ -107,7 +109,7 @@ class AmplitudeFlutterPlugin : FlutterPlugin, MethodCallHandler {
}
"setEventUploadThreshold" -> {
val client = Amplitude.getInstance(instanceName)
client.setEventUploadThreshold(json.getInt("eventUploadThreshold"));
client.setEventUploadThreshold(json.getInt("eventUploadThreshold"))

result.success("setEventUploadThreshold called..")
}
Expand Down Expand Up @@ -139,30 +141,34 @@ class AmplitudeFlutterPlugin : FlutterPlugin, MethodCallHandler {
// Regenerate new deviceId
"regenerateDeviceId" -> {
val client = Amplitude.getInstance(instanceName)
client.regenerateDeviceId();
client.regenerateDeviceId()
result.success("regenerateDeviceId called..")
}

// Event logging
"logEvent" -> {
val client = Amplitude.getInstance(instanceName)
client.logEvent(json.getString("eventType"),
json.optJSONObject("eventProperties"),
json.optBoolean("outOfSession", false))
client.logEvent(
json.getString("eventType"),
json.optJSONObject("eventProperties"),
json.optBoolean("outOfSession", false)
)

result.success("logEvent called..")
}
"logRevenue" -> {
val client = Amplitude.getInstance(instanceName)
client.logRevenue(json.getString("productIdentifier"),
json.getInt("quantity"),
json.getDouble("price"))
val revenue = Revenue().setProductId(json.getString("productIdentifier"))
.setPrice(json.getDouble("price"))
.setQuantity(json.getInt("quantity"))
client.logRevenueV2(revenue)

result.success("logRevenue called..")
}
"logRevenueAmount" -> {
val client = Amplitude.getInstance(instanceName)
client.logRevenue(json.getDouble("amount"))
val revenue = Revenue().setPrice(json.getDouble("amount"))
client.logRevenueV2(revenue)

result.success("logRevenueAmount called..")
}
Expand All @@ -182,12 +188,14 @@ class AmplitudeFlutterPlugin : FlutterPlugin, MethodCallHandler {
"groupIdentify" -> {
val client = Amplitude.getInstance(instanceName)
val identify = createIdentify(json.getJSONObject("userProperties"))
client.groupIdentify(json.getString("groupType"),
json.getString("groupName"),
identify,
json.optBoolean("outOfSession", false));
client.groupIdentify(
json.getString("groupType"),
json.getString("groupName"),
identify,
json.optBoolean("outOfSession", false)
)

result.success("identify called..")
result.success("identify called..")
}
"setUserProperties" -> {
val client = Amplitude.getInstance(instanceName)
Expand Down Expand Up @@ -455,14 +463,13 @@ class AmplitudeFlutterPlugin : FlutterPlugin, MethodCallHandler {

// UNSET
"\$unset" -> {
identify.unset(key);
identify.unset(key)
}

// CLEARALL
"\$clearAll" -> {
identify.clearAll();
identify.clearAll()
}

}
}
}
Expand Down
2 changes: 1 addition & 1 deletion example/ios/Runner/AppDelegate.swift
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ import Flutter
_ application: UIApplication,
didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?
) -> Bool {
GeneratedPluginRegistrant.register(withRegistry: self)
GeneratedPluginRegistrant.register(with: self)
return super.application(application, didFinishLaunchingWithOptions: launchOptions)
}
}
17 changes: 9 additions & 8 deletions ios/Classes/SwiftAmplitudeFlutterPlugin.swift
Original file line number Diff line number Diff line change
Expand Up @@ -120,18 +120,19 @@ import Amplitude
outOfSession: outOfSession)
result(true)
case "logRevenue":
let productIdentifier = args["productIdentifier"] as! String
let quantity = args["quantity"] as! Int
let price = args["price"] as! Double
let revenue = AMPRevenue()
revenue.setProductIdentifier((args["productIdentifier"] as! String))
revenue.setQuantity(args["quantity"] as! Int)
revenue.setPrice(NSNumber(value: args["price"] as! Double))

Amplitude.instance(withName: instanceName).logRevenueV2(revenue)

Amplitude.instance(withName: instanceName).logRevenue(productIdentifier,
quantity: quantity,
price: NSNumber(value: price))
result(true)

case "logRevenueAmount":
let amount = args["amount"] as! Double
Amplitude.instance(withName: instanceName).logRevenue(NSNumber(value: amount))
let revenue = AMPRevenue()
revenue.setPrice(NSNumber(value: args["amount"] as! Double))
Amplitude.instance(withName: instanceName).logRevenueV2(revenue)

result(true)

Expand Down

0 comments on commit d6bc52d

Please sign in to comment.