StandardEventSample.cs 15 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416
  1. using System.Collections.Generic;
  2. namespace Unity.Services.Analytics
  3. {
  4. public class StandardEventSample
  5. {
  6. public static void RecordMinimalAdImpressionEvent()
  7. {
  8. var args = new AdImpressionParameters
  9. {
  10. AdCompletionStatus = AdCompletionStatus.Completed,
  11. AdProvider = AdProvider.UnityAds,
  12. PlacementName = "PLACEMENTNAME",
  13. PlacementID = "PLACEMENTID"
  14. };
  15. AnalyticsService.Instance.AdImpression(args);
  16. }
  17. public static void RecordCompleteAdImpressionEvent()
  18. {
  19. var args = new AdImpressionParameters
  20. {
  21. AdCompletionStatus = AdCompletionStatus.Completed,
  22. AdProvider = AdProvider.UnityAds,
  23. PlacementName = "PLACEMENTNAME",
  24. PlacementID = "PLACEMENTID",
  25. PlacementType = AdPlacementType.BANNER,
  26. AdEcpmUsd = 123.4,
  27. SdkVersion = "123.4",
  28. AdImpressionID = "IMPRESSIVE",
  29. AdStoreDstID = "DSTID",
  30. AdMediaType = "MOVIE",
  31. AdTimeWatchedMs = 1234,
  32. AdTimeCloseButtonShownMs = 5678,
  33. AdLengthMs = 2345,
  34. AdHasClicked = false,
  35. AdSource = "ADSRC",
  36. AdStatusCallback = "STATCALL"
  37. };
  38. AnalyticsService.Instance.AdImpression(args);
  39. }
  40. public static void RecordSaleTransactionWithOnlyRequiredValues()
  41. {
  42. AnalyticsService.Instance.Transaction(new TransactionParameters
  43. {
  44. ProductsReceived = new Product(),
  45. ProductsSpent = new Product(),
  46. TransactionName = "emptySale",
  47. TransactionType = TransactionType.SALE
  48. });
  49. }
  50. public static void RecordSaleTransactionWithRealCurrency()
  51. {
  52. AnalyticsService.Instance.Transaction(new TransactionParameters
  53. {
  54. ProductsReceived = new Product
  55. {
  56. RealCurrency = new RealCurrency
  57. {
  58. RealCurrencyType = "EUR",
  59. RealCurrencyAmount = AnalyticsService.Instance.ConvertCurrencyToMinorUnits("EUR", 3.99)
  60. }
  61. },
  62. ProductsSpent = new Product
  63. {
  64. Items = new List<Item>
  65. {
  66. new Item
  67. {
  68. ItemName = "thePickOfDestiny",
  69. ItemAmount = 1,
  70. ItemType = "collectable"
  71. }
  72. }
  73. },
  74. TransactionName = "sellItem",
  75. TransactionType = TransactionType.SALE
  76. });
  77. }
  78. public static void RecordSaleTransactionWithVirtualCurrency()
  79. {
  80. AnalyticsService.Instance.Transaction(new TransactionParameters
  81. {
  82. ProductsReceived = new Product
  83. {
  84. VirtualCurrencies = new List<VirtualCurrency>
  85. {
  86. new VirtualCurrency
  87. {
  88. VirtualCurrencyType = VirtualCurrencyType.GRIND,
  89. VirtualCurrencyAmount = 125000,
  90. VirtualCurrencyName = "Cor"
  91. }
  92. }
  93. },
  94. ProductsSpent = new Product
  95. {
  96. Items = new List<Item>
  97. {
  98. new Item
  99. {
  100. ItemName = "elucidator",
  101. ItemAmount = 1,
  102. ItemType = "sword"
  103. }
  104. }
  105. },
  106. TransactionName = "sellItem",
  107. TransactionType = TransactionType.SALE
  108. });
  109. }
  110. public static void RecordSaleTransactionWithMultipleVirtualCurrencies()
  111. {
  112. AnalyticsService.Instance.Transaction(new TransactionParameters
  113. {
  114. ProductsReceived = new Product
  115. {
  116. VirtualCurrencies = new List<VirtualCurrency>
  117. {
  118. new VirtualCurrency
  119. {
  120. VirtualCurrencyType = VirtualCurrencyType.PREMIUM,
  121. VirtualCurrencyAmount = 100,
  122. VirtualCurrencyName = "Soul Points"
  123. },
  124. new VirtualCurrency
  125. {
  126. VirtualCurrencyType = VirtualCurrencyType.GRIND,
  127. VirtualCurrencyAmount = 50000,
  128. VirtualCurrencyName = "Gold Coins"
  129. },
  130. }
  131. },
  132. ProductsSpent = new Product
  133. {
  134. Items = new List<Item>
  135. {
  136. new Item
  137. {
  138. ItemName = "darkRepulser",
  139. ItemAmount = 1,
  140. ItemType = "weapon"
  141. }
  142. }
  143. },
  144. TransactionName = "sellItem",
  145. TransactionType = TransactionType.SALE
  146. });
  147. }
  148. public static void RecordSaleEventWithOneItem()
  149. {
  150. AnalyticsService.Instance.Transaction(new TransactionParameters
  151. {
  152. ProductsReceived = new Product
  153. {
  154. Items = new List<Item>
  155. {
  156. new Item
  157. {
  158. ItemName = "cabbage",
  159. ItemAmount = 50,
  160. ItemType = "food"
  161. }
  162. }
  163. },
  164. ProductsSpent = new Product
  165. {
  166. Items = new List<Item>
  167. {
  168. new Item
  169. {
  170. ItemName = "marketStall",
  171. ItemAmount = 1,
  172. ItemType = "special"
  173. }
  174. }
  175. },
  176. TransactionName = "tradeItems",
  177. TransactionType = TransactionType.SALE
  178. });
  179. }
  180. public static void RecordSaleEventWithMultipleItems()
  181. {
  182. AnalyticsService.Instance.Transaction(new TransactionParameters
  183. {
  184. ProductsReceived = new Product
  185. {
  186. Items = new List<Item>
  187. {
  188. new Item
  189. {
  190. ItemName = "pancake",
  191. ItemAmount = 2,
  192. ItemType = "food",
  193. },
  194. new Item
  195. {
  196. ItemName = "whippedCream",
  197. ItemAmount = 165,
  198. ItemType = "food",
  199. }
  200. }
  201. },
  202. ProductsSpent = new Product
  203. {
  204. Items = new List<Item>
  205. {
  206. new Item
  207. {
  208. ItemName = "flour",
  209. ItemAmount = 100,
  210. ItemType = "food",
  211. },
  212. new Item
  213. {
  214. ItemName = "egg",
  215. ItemAmount = 1,
  216. ItemType = "food",
  217. },
  218. new Item
  219. {
  220. ItemName = "milk",
  221. ItemAmount = 200,
  222. ItemType = "food",
  223. },
  224. new Item
  225. {
  226. ItemName = "salt",
  227. ItemAmount = 1,
  228. ItemType = "food",
  229. },
  230. new Item
  231. {
  232. ItemName = "heavyCream",
  233. ItemAmount = 150,
  234. ItemType = "food",
  235. },
  236. new Item
  237. {
  238. ItemName = "sugar",
  239. ItemAmount = 15,
  240. ItemType = "food",
  241. }
  242. }
  243. },
  244. TransactionName = "tradeItems",
  245. TransactionType = TransactionType.SALE
  246. });
  247. }
  248. public static void RecordSaleEventWithOptionalParameters()
  249. {
  250. AnalyticsService.Instance.Transaction(new TransactionParameters
  251. {
  252. PaymentCountry = "PL",
  253. ProductID = "productid987",
  254. RevenueValidated = 999,
  255. TransactionID = "0118-999-881-999-119-725-3",
  256. TransactionReceipt = "transactionrecepit",
  257. TransactionReceiptSignature = "signature",
  258. TransactionServer = TransactionServer.APPLE,
  259. TransactorID = "transactorid-0118-999-881-999-119-725-3",
  260. StoreItemSkuID = "storeitemskuid",
  261. StoreItemID = "storeitemid",
  262. StoreID = "storeid",
  263. StoreSourceID = "storesourceid",
  264. ProductsReceived = new Product(),
  265. ProductsSpent = new Product(),
  266. TransactionName = "transactionName",
  267. TransactionType = TransactionType.SALE
  268. });
  269. }
  270. public static void RecordAcquisitionSourceEventWithOnlyRequiredValues()
  271. {
  272. AnalyticsService.Instance.AcquisitionSource(new AcquisitionSourceParameters
  273. {
  274. Channel = "CHNL",
  275. CampaignId = "123-456-efg",
  276. CreativeId = "cre-ati-vei-d",
  277. CampaignName = "Interstitial:Halloween21",
  278. Provider = "AppsFlyer"
  279. });
  280. }
  281. public static void RecordAcquisitionSourceEventWithOptionalParameters()
  282. {
  283. AnalyticsService.Instance.AcquisitionSource(new AcquisitionSourceParameters
  284. {
  285. Channel = "CHNL",
  286. CampaignId = "123-456-efg",
  287. CreativeId = "cre-ati-vei-d",
  288. CampaignName = "Interstitial:Halloween21",
  289. Provider = "AppsFlyer",
  290. CampaignType = "CPI",
  291. Cost = 123.4F,
  292. CostCurrency = "BGN",
  293. Network = "Ironsource",
  294. });
  295. }
  296. public static void RecordPurchaseEventWithOneItem()
  297. {
  298. AnalyticsService.Instance.Transaction(new TransactionParameters
  299. {
  300. ProductsReceived = new Product
  301. {
  302. Items = new List<Item>
  303. {
  304. new Item
  305. {
  306. ItemName = "nerveGear",
  307. ItemAmount = 1,
  308. ItemType = "electronics",
  309. }
  310. }
  311. },
  312. ProductsSpent = new Product
  313. {
  314. RealCurrency = new RealCurrency
  315. {
  316. RealCurrencyAmount = AnalyticsService.Instance.ConvertCurrencyToMinorUnits("JPY", 39800),
  317. RealCurrencyType = "JPY"
  318. }
  319. },
  320. TransactionName = "itemPurchase",
  321. TransactionType = TransactionType.PURCHASE
  322. });
  323. }
  324. public static void RecordPurchaseEventWithMultipleItems()
  325. {
  326. AnalyticsService.Instance.Transaction(new TransactionParameters
  327. {
  328. ProductsReceived = new Product
  329. {
  330. Items = new List<Item>
  331. {
  332. new Item
  333. {
  334. ItemName = "magicarp",
  335. ItemAmount = 1,
  336. ItemType = "pokemon",
  337. },
  338. new Item
  339. {
  340. ItemName = "rareCandy",
  341. ItemAmount = 20,
  342. ItemType = "item",
  343. }
  344. }
  345. },
  346. ProductsSpent = new Product
  347. {
  348. VirtualCurrencies = new List<VirtualCurrency>
  349. {
  350. new VirtualCurrency
  351. {
  352. VirtualCurrencyType = VirtualCurrencyType.GRIND,
  353. VirtualCurrencyAmount = 200500,
  354. VirtualCurrencyName = "Pokemon Dollar"
  355. },
  356. }
  357. },
  358. TransactionName = "itemPurchase",
  359. TransactionType = TransactionType.PURCHASE
  360. });
  361. }
  362. public static void RecordPurchaseEventWithMultipleCurrencies()
  363. {
  364. AnalyticsService.Instance.Transaction(new TransactionParameters
  365. {
  366. ProductsReceived = new Product
  367. {
  368. Items = new List<Item>
  369. {
  370. new Item
  371. {
  372. ItemName = "holySwordExcalibur",
  373. ItemAmount = 1,
  374. ItemType = "weapon"
  375. }
  376. }
  377. },
  378. ProductsSpent = new Product
  379. {
  380. VirtualCurrencies = new List<VirtualCurrency>
  381. {
  382. new VirtualCurrency
  383. {
  384. VirtualCurrencyType = VirtualCurrencyType.GRIND,
  385. VirtualCurrencyAmount = 4000000,
  386. VirtualCurrencyName = "Cor"
  387. },
  388. new VirtualCurrency
  389. {
  390. VirtualCurrencyType = VirtualCurrencyType.PREMIUM,
  391. VirtualCurrencyAmount = 50000,
  392. VirtualCurrencyName = "Credit"
  393. }
  394. }
  395. },
  396. TransactionName = "itemPurchase",
  397. TransactionType = TransactionType.PURCHASE
  398. });
  399. }
  400. }
  401. }