Skip to content

Commit 2484327

Browse files
committed
Merge pull request googleanalytics#113 from shazow/android-ecommerce
WIP: Implement GoogleAnalyticsAndroidV4.LogTransaction
2 parents acde5a0 + 33b94da commit 2484327

File tree

1 file changed

+21
-0
lines changed

1 file changed

+21
-0
lines changed

source/Plugins/GoogleAnalyticsV4/GoogleAnalyticsAndroidV4.cs

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -105,9 +105,30 @@ internal void LogEvent(EventHitBuilder builder) {
105105
}
106106

107107
internal void LogTransaction(TransactionHitBuilder builder) {
108+
AndroidJavaObject transactionBuilder = new AndroidJavaObject("com.google.android.gms.analytics.HitBuilders$TransactionBuilder");
109+
transactionBuilder.Call<AndroidJavaObject>("setTransactionId", new object[] { builder.GetTransactionID() });
110+
transactionBuilder.Call<AndroidJavaObject>("setAffiliation", new object[] { builder.GetAffiliation() });
111+
transactionBuilder.Call<AndroidJavaObject>("setRevenue", new object[] { builder.GetRevenue() });
112+
transactionBuilder.Call<AndroidJavaObject>("setTax", new object[] { builder.GetTax() });
113+
transactionBuilder.Call<AndroidJavaObject>("setShipping", new object[] { builder.GetShipping() });
114+
transactionBuilder.Call<AndroidJavaObject>("setCurrencyCode", new object[] { builder.GetCurrencyCode() });
115+
116+
object[] builtTransaction = new object[] { transactionBuilder.Call<AndroidJavaObject>("build") };
117+
tracker.Call("send", builtTransaction);
108118
}
109119

110120
internal void LogItem(ItemHitBuilder builder) {
121+
AndroidJavaObject itemBuilder = new AndroidJavaObject("com.google.android.gms.analytics.HitBuilders$ItemBuilder");
122+
itemBuilder.Call<AndroidJavaObject>("setTransactionId", new object[] { builder.GetTransactionID() });
123+
itemBuilder.Call<AndroidJavaObject>("setName", new object[] { builder.GetName() });
124+
itemBuilder.Call<AndroidJavaObject>("setSku", new object[] { builder.GetSKU() });
125+
itemBuilder.Call<AndroidJavaObject>("setCategory", new object[] { builder.GetCategory() });
126+
itemBuilder.Call<AndroidJavaObject>("setPrice", new object[] { builder.GetPrice() });
127+
itemBuilder.Call<AndroidJavaObject>("setQuantity", new object[] { builder.GetQuantity() });
128+
itemBuilder.Call<AndroidJavaObject>("setCurrencyCode", new object[] { builder.GetCurrencyCode() });
129+
130+
object[] builtItem = new object[] { itemBuilder.Call<AndroidJavaObject>("build") };
131+
tracker.Call("send", builtItem);
111132
}
112133

113134
public void LogException(ExceptionHitBuilder builder) {

0 commit comments

Comments
 (0)