diff --git a/AFAdRevenueData.cs b/AFAdRevenueData.cs
new file mode 100644
index 00000000..64d53dee
--- /dev/null
+++ b/AFAdRevenueData.cs
@@ -0,0 +1,71 @@
+using System;
+using System.Collections.Generic;
+
+namespace AppsFlyerSDK
+{
+ public enum MediationNetwork : ulong
+ {
+ GoogleAdMob = 1,
+ IronSource = 2,
+ ApplovinMax = 3,
+ Fyber = 4,
+ Appodeal = 5,
+ Admost = 6,
+ Topon = 7,
+ Tradplus = 8,
+ Yandex = 9,
+ ChartBoost = 10,
+ Unity = 11,
+ ToponPte = 12,
+ Custom = 13,
+ DirectMonetization = 14
+ }
+
+ public static class AdRevenueScheme
+ {
+ /**
+ * code ISO 3166-1 format
+ */
+ public const string COUNTRY = "country";
+
+ /**
+ * ID of the ad unit for the impression
+ */
+ public const string AD_UNIT = "ad_unit";
+
+ /**
+ * Format of the ad
+ */
+ public const string AD_TYPE = "ad_type";
+
+ /**
+ * ID of the ad placement for the impression
+ */
+ public const string PLACEMENT = "placement";
+ }
+
+ ///
+ // Data class representing ad revenue information.
+ //
+ // @property monetizationNetwork The name of the network that monetized the ad.
+ // @property mediationNetwork An instance of MediationNetwork representing the mediation service used.
+ // @property currencyIso4217Code The ISO 4217 currency code describing the currency of the revenue.
+ // @property eventRevenue The amount of revenue generated by the ad.
+ ///
+ public class AFAdRevenueData
+ {
+ public string monetizationNetwork { get; private set; }
+ public MediationNetwork mediationNetwork { get; private set; }
+ public string currencyIso4217Code { get; private set; }
+ public double eventRevenue { get; private set; }
+
+ public AFAdRevenueData(string monetization, MediationNetwork mediation, string currency, double revenue)
+ {
+ monetizationNetwork = monetization;
+ mediationNetwork = mediation;
+ currencyIso4217Code = currency;
+ eventRevenue = revenue;
+ }
+ }
+
+}
\ No newline at end of file
diff --git a/AFAdRevenueData.cs.meta b/AFAdRevenueData.cs.meta
new file mode 100644
index 00000000..3106aaea
--- /dev/null
+++ b/AFAdRevenueData.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 49e1906ae949e4bfea400bd1da9f7e39
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/AFInAppEvents.cs b/AFInAppEvents.cs
new file mode 100644
index 00000000..1f6d1fe6
--- /dev/null
+++ b/AFInAppEvents.cs
@@ -0,0 +1,72 @@
+using UnityEngine;
+using System.Collections;
+
+public class AFInAppEvents {
+ /**
+ * Event Type
+ * */
+ public const string LEVEL_ACHIEVED = "af_level_achieved";
+ public const string ADD_PAYMENT_INFO = "af_add_payment_info";
+ public const string ADD_TO_CART = "af_add_to_cart";
+ public const string ADD_TO_WISH_LIST = "af_add_to_wishlist";
+ public const string COMPLETE_REGISTRATION = "af_complete_registration";
+ public const string TUTORIAL_COMPLETION = "af_tutorial_completion";
+ public const string INITIATED_CHECKOUT = "af_initiated_checkout";
+ public const string PURCHASE = "af_purchase";
+ public const string RATE = "af_rate";
+ public const string SEARCH = "af_search";
+ public const string SPENT_CREDIT = "af_spent_credits";
+ public const string ACHIEVEMENT_UNLOCKED = "af_achievement_unlocked";
+ public const string CONTENT_VIEW = "af_content_view";
+ public const string TRAVEL_BOOKING = "af_travel_booking";
+ public const string SHARE = "af_share";
+ public const string INVITE = "af_invite";
+ public const string LOGIN = "af_login";
+ public const string RE_ENGAGE = "af_re_engage";
+ public const string UPDATE = "af_update";
+ public const string OPENED_FROM_PUSH_NOTIFICATION = "af_opened_from_push_notification";
+ public const string LOCATION_CHANGED = "af_location_changed";
+ public const string LOCATION_COORDINATES = "af_location_coordinates";
+ public const string ORDER_ID = "af_order_id";
+ /**
+ * Event Parameter Name
+ * **/
+ public const string LEVEL = "af_level";
+ public const string SCORE = "af_score";
+ public const string SUCCESS = "af_success";
+ public const string PRICE = "af_price";
+ public const string CONTENT_TYPE = "af_content_type";
+ public const string CONTENT_ID = "af_content_id";
+ public const string CONTENT_LIST = "af_content_list";
+ public const string CURRENCY = "af_currency";
+ public const string QUANTITY = "af_quantity";
+ public const string REGSITRATION_METHOD = "af_registration_method";
+ public const string PAYMENT_INFO_AVAILIBLE = "af_payment_info_available";
+ public const string MAX_RATING_VALUE = "af_max_rating_value";
+ public const string RATING_VALUE = "af_rating_value";
+ public const string SEARCH_STRING = "af_search_string";
+ public const string DATE_A = "af_date_a";
+ public const string DATE_B = "af_date_b";
+ public const string DESTINATION_A = "af_destination_a";
+ public const string DESTINATION_B = "af_destination_b";
+ public const string DESCRIPTION = "af_description";
+ public const string CLASS = "af_class";
+ public const string EVENT_START = "af_event_start";
+ public const string EVENT_END = "af_event_end";
+ public const string LATITUDE = "af_lat";
+ public const string LONGTITUDE = "af_long";
+ public const string CUSTOMER_USER_ID = "af_customer_user_id";
+ public const string VALIDATED = "af_validated";
+ public const string REVENUE = "af_revenue";
+ public const string RECEIPT_ID = "af_receipt_id";
+ public const string PARAM_1 = "af_param_1";
+ public const string PARAM_2 = "af_param_2";
+ public const string PARAM_3 = "af_param_3";
+ public const string PARAM_4 = "af_param_4";
+ public const string PARAM_5 = "af_param_5";
+ public const string PARAM_6 = "af_param_6";
+ public const string PARAM_7 = "af_param_7";
+ public const string PARAM_8 = "af_param_8";
+ public const string PARAM_9 = "af_param_9";
+ public const string PARAM_10 = "af_param_10";
+}
\ No newline at end of file
diff --git a/AFInAppEvents.cs.meta b/AFInAppEvents.cs.meta
new file mode 100644
index 00000000..b31364ef
--- /dev/null
+++ b/AFInAppEvents.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 4075c6cf6f3d94b9a9f37f826e6a0e6f
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/AFMiniJSON.cs b/AFMiniJSON.cs
new file mode 100755
index 00000000..d02bf2f6
--- /dev/null
+++ b/AFMiniJSON.cs
@@ -0,0 +1,547 @@
+/*
+ * Copyright (c) 2013 Calvin Rien
+ *
+ * Based on the JSON parser by Patrick van Bergen
+ * http://techblog.procurios.nl/k/618/news/view/14605/14863/How-do-I-write-my-own-parser-for-JSON.html
+ *
+ * Simplified it so that it doesn't throw exceptions
+ * and can be used in Unity iPhone with maximum code stripping.
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining
+ * a copy of this software and associated documentation files (the
+ * "Software"), to deal in the Software without restriction, including
+ * without limitation the rights to use, copy, modify, merge, publish,
+ * distribute, sublicense, and/or sell copies of the Software, and to
+ * permit persons to whom the Software is furnished to do so, subject to
+ * the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be
+ * included in all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+ * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+ * IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
+ * CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
+ * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
+ * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+ */
+using System;
+using System.Collections;
+using System.Collections.Generic;
+using System.IO;
+using System.Text;
+
+namespace AFMiniJSON {
+ // Example usage:
+ //
+ // using UnityEngine;
+ // using System.Collections;
+ // using System.Collections.Generic;
+ // using MiniJSON;
+ //
+ // public class MiniJSONTest : MonoBehaviour {
+ // void Start () {
+ // var jsonString = "{ \"array\": [1.44,2,3], " +
+ // "\"object\": {\"key1\":\"value1\", \"key2\":256}, " +
+ // "\"string\": \"The quick brown fox \\\"jumps\\\" over the lazy dog \", " +
+ // "\"unicode\": \"\\u3041 Men\u00fa sesi\u00f3n\", " +
+ // "\"int\": 65536, " +
+ // "\"float\": 3.1415926, " +
+ // "\"bool\": true, " +
+ // "\"null\": null }";
+ //
+ // var dict = Json.Deserialize(jsonString) as Dictionary;
+ //
+ // Debug.Log("deserialized: " + dict.GetType());
+ // Debug.Log("dict['array'][0]: " + ((List