diff --git a/docs/Classes.html b/docs/Classes.html index 12b6ffc2..7e3d7bf5 100644 --- a/docs/Classes.html +++ b/docs/Classes.html @@ -17,7 +17,7 @@ - Mixpanel 2.10.2 Docs (87% documented) + Mixpanel 2.10.3 Docs (87% documented) View on GitHub @@ -393,7 +393,7 @@ Declaration - © 2021 Mixpanel. All rights reserved. (Last updated: 2021-06-11) + © 2021 Mixpanel. All rights reserved. (Last updated: 2021-08-13) Generated by jazzy ♪♫ v0.13.6, a Realm project. diff --git a/docs/Classes/Group.html b/docs/Classes/Group.html index 2242cc9d..977a7694 100644 --- a/docs/Classes/Group.html +++ b/docs/Classes/Group.html @@ -17,7 +17,7 @@ - Mixpanel 2.10.2 Docs (87% documented) + Mixpanel 2.10.3 Docs (87% documented) View on GitHub @@ -548,7 +548,7 @@ Declaration - © 2021 Mixpanel. All rights reserved. (Last updated: 2021-06-11) + © 2021 Mixpanel. All rights reserved. (Last updated: 2021-08-13) Generated by jazzy ♪♫ v0.13.6, a Realm project. diff --git a/docs/Classes/Mixpanel.html b/docs/Classes/Mixpanel.html index 3da9d704..5ad5c5ed 100644 --- a/docs/Classes/Mixpanel.html +++ b/docs/Classes/Mixpanel.html @@ -17,7 +17,7 @@ - Mixpanel 2.10.2 Docs (87% documented) + Mixpanel 2.10.3 Docs (87% documented) View on GitHub @@ -522,7 +522,7 @@ Parameters - © 2021 Mixpanel. All rights reserved. (Last updated: 2021-06-11) + © 2021 Mixpanel. All rights reserved. (Last updated: 2021-08-13) Generated by jazzy ♪♫ v0.13.6, a Realm project. diff --git a/docs/Classes/MixpanelInstance.html b/docs/Classes/MixpanelInstance.html index 5be8822f..2829cdbb 100644 --- a/docs/Classes/MixpanelInstance.html +++ b/docs/Classes/MixpanelInstance.html @@ -17,7 +17,7 @@ - Mixpanel 2.10.2 Docs (87% documented) + Mixpanel 2.10.3 Docs (87% documented) View on GitHub @@ -888,9 +888,9 @@ Identity - - - identify(distinctId:usePeople:) + + + identify(distinctId:usePeople:completion:) @@ -925,7 +925,7 @@ Identity Declaration Swift - open func identify(distinctId: String, usePeople: Bool = true) + open func identify(distinctId: String, usePeople: Bool = true, completion: (() -> Void)? = nil) @@ -958,6 +958,18 @@ Parameters + + + + completion + + + + + an optional completion handler for when the identify has completed. + + + @@ -967,9 +979,9 @@ Parameters - - - createAlias(_:distinctId:usePeople:) + + + createAlias(_:distinctId:usePeople:completion:) @@ -991,7 +1003,7 @@ Parameters Declaration Swift - open func createAlias(_ alias: String, distinctId: String, usePeople: Bool = true) + open func createAlias(_ alias: String, distinctId: String, usePeople: Bool = true, completion: (() -> Void)? = nil) @@ -1031,7 +1043,19 @@ Parameters - boolean that controls whether or not to set the people distinctId to the event distinctId. + boolean that controls whether or not to set the people distinctId to the event distinctId. + + + + + + + completion + + + + + an optional completion handler for when the createAlias has completed. This should only be set to false if you wish to prevent people profile updates for that user. @@ -1045,9 +1069,9 @@ Parameters - - - reset() + + + reset(completion:) @@ -1063,10 +1087,29 @@ Parameters Declaration Swift - open func reset() + open func reset(completion: (() -> Void)? = nil) + + Parameters + + + + + + completion + + + + + an optional completion handler for when the reset has completed. + + + + + + @@ -2408,7 +2451,7 @@ Declaration - © 2021 Mixpanel. All rights reserved. (Last updated: 2021-06-11) + © 2021 Mixpanel. All rights reserved. (Last updated: 2021-08-13) Generated by jazzy ♪♫ v0.13.6, a Realm project. diff --git a/docs/Classes/MixpanelNotificationServiceExtension.html b/docs/Classes/MixpanelNotificationServiceExtension.html index 432a14d2..29881877 100644 --- a/docs/Classes/MixpanelNotificationServiceExtension.html +++ b/docs/Classes/MixpanelNotificationServiceExtension.html @@ -17,7 +17,7 @@ - Mixpanel 2.10.2 Docs (87% documented) + Mixpanel 2.10.3 Docs (87% documented) View on GitHub @@ -257,7 +257,7 @@ Declaration - © 2021 Mixpanel. All rights reserved. (Last updated: 2021-06-11) + © 2021 Mixpanel. All rights reserved. (Last updated: 2021-08-13) Generated by jazzy ♪♫ v0.13.6, a Realm project. diff --git a/docs/Classes/MixpanelPushNotifications.html b/docs/Classes/MixpanelPushNotifications.html index 85e50da8..631cd2e5 100644 --- a/docs/Classes/MixpanelPushNotifications.html +++ b/docs/Classes/MixpanelPushNotifications.html @@ -17,7 +17,7 @@ - Mixpanel 2.10.2 Docs (87% documented) + Mixpanel 2.10.3 Docs (87% documented) View on GitHub @@ -257,7 +257,7 @@ Declaration - © 2021 Mixpanel. All rights reserved. (Last updated: 2021-06-11) + © 2021 Mixpanel. All rights reserved. (Last updated: 2021-08-13) Generated by jazzy ♪♫ v0.13.6, a Realm project. diff --git a/docs/Classes/People.html b/docs/Classes/People.html index 3f2a4c72..b1a1ae1a 100644 --- a/docs/Classes/People.html +++ b/docs/Classes/People.html @@ -17,7 +17,7 @@ - Mixpanel 2.10.2 Docs (87% documented) + Mixpanel 2.10.3 Docs (87% documented) View on GitHub @@ -975,7 +975,7 @@ Declaration - © 2021 Mixpanel. All rights reserved. (Last updated: 2021-06-11) + © 2021 Mixpanel. All rights reserved. (Last updated: 2021-08-13) Generated by jazzy ♪♫ v0.13.6, a Realm project. diff --git a/docs/Enums.html b/docs/Enums.html index 88215042..86ed5a2c 100644 --- a/docs/Enums.html +++ b/docs/Enums.html @@ -17,7 +17,7 @@ - Mixpanel 2.10.2 Docs (87% documented) + Mixpanel 2.10.3 Docs (87% documented) View on GitHub @@ -230,7 +230,7 @@ Declaration - © 2021 Mixpanel. All rights reserved. (Last updated: 2021-06-11) + © 2021 Mixpanel. All rights reserved. (Last updated: 2021-08-13) Generated by jazzy ♪♫ v0.13.6, a Realm project. diff --git a/docs/Enums/TweakViewDataType.html b/docs/Enums/TweakViewDataType.html index fb134b07..4117bd16 100644 --- a/docs/Enums/TweakViewDataType.html +++ b/docs/Enums/TweakViewDataType.html @@ -17,7 +17,7 @@ - Mixpanel 2.10.2 Docs (87% documented) + Mixpanel 2.10.3 Docs (87% documented) View on GitHub @@ -344,7 +344,7 @@ Declaration - © 2021 Mixpanel. All rights reserved. (Last updated: 2021-06-11) + © 2021 Mixpanel. All rights reserved. (Last updated: 2021-08-13) Generated by jazzy ♪♫ v0.13.6, a Realm project. diff --git a/docs/Extensions.html b/docs/Extensions.html index d5584fc1..6a95c820 100644 --- a/docs/Extensions.html +++ b/docs/Extensions.html @@ -17,7 +17,7 @@ - Mixpanel 2.10.2 Docs (87% documented) + Mixpanel 2.10.3 Docs (87% documented) View on GitHub @@ -672,7 +672,7 @@ Declaration - © 2021 Mixpanel. All rights reserved. (Last updated: 2021-06-11) + © 2021 Mixpanel. All rights reserved. (Last updated: 2021-08-13) Generated by jazzy ♪♫ v0.13.6, a Realm project. diff --git a/docs/Extensions/Array.html b/docs/Extensions/Array.html index 9f068d88..e8eeb5b0 100644 --- a/docs/Extensions/Array.html +++ b/docs/Extensions/Array.html @@ -17,7 +17,7 @@ - Mixpanel 2.10.2 Docs (87% documented) + Mixpanel 2.10.3 Docs (87% documented) View on GitHub @@ -256,7 +256,7 @@ Declaration - © 2021 Mixpanel. All rights reserved. (Last updated: 2021-06-11) + © 2021 Mixpanel. All rights reserved. (Last updated: 2021-08-13) Generated by jazzy ♪♫ v0.13.6, a Realm project. diff --git a/docs/Extensions/Bool.html b/docs/Extensions/Bool.html index 257a25de..7c8fd8bc 100644 --- a/docs/Extensions/Bool.html +++ b/docs/Extensions/Bool.html @@ -17,7 +17,7 @@ - Mixpanel 2.10.2 Docs (87% documented) + Mixpanel 2.10.3 Docs (87% documented) View on GitHub @@ -298,7 +298,7 @@ Declaration - © 2021 Mixpanel. All rights reserved. (Last updated: 2021-06-11) + © 2021 Mixpanel. All rights reserved. (Last updated: 2021-08-13) Generated by jazzy ♪♫ v0.13.6, a Realm project. diff --git a/docs/Extensions/CGFloat.html b/docs/Extensions/CGFloat.html index a9d7ec08..994e13bf 100644 --- a/docs/Extensions/CGFloat.html +++ b/docs/Extensions/CGFloat.html @@ -17,7 +17,7 @@ - Mixpanel 2.10.2 Docs (87% documented) + Mixpanel 2.10.3 Docs (87% documented) View on GitHub @@ -229,7 +229,7 @@ Declaration - © 2021 Mixpanel. All rights reserved. (Last updated: 2021-06-11) + © 2021 Mixpanel. All rights reserved. (Last updated: 2021-08-13) Generated by jazzy ♪♫ v0.13.6, a Realm project. diff --git a/docs/Extensions/Date.html b/docs/Extensions/Date.html index b36f5676..45eef789 100644 --- a/docs/Extensions/Date.html +++ b/docs/Extensions/Date.html @@ -17,7 +17,7 @@ - Mixpanel 2.10.2 Docs (87% documented) + Mixpanel 2.10.3 Docs (87% documented) View on GitHub @@ -257,7 +257,7 @@ Declaration - © 2021 Mixpanel. All rights reserved. (Last updated: 2021-06-11) + © 2021 Mixpanel. All rights reserved. (Last updated: 2021-08-13) Generated by jazzy ♪♫ v0.13.6, a Realm project. diff --git a/docs/Extensions/Dictionary.html b/docs/Extensions/Dictionary.html index d5bb970c..bd618cf8 100644 --- a/docs/Extensions/Dictionary.html +++ b/docs/Extensions/Dictionary.html @@ -17,7 +17,7 @@ - Mixpanel 2.10.2 Docs (87% documented) + Mixpanel 2.10.3 Docs (87% documented) View on GitHub @@ -256,7 +256,7 @@ Declaration - © 2021 Mixpanel. All rights reserved. (Last updated: 2021-06-11) + © 2021 Mixpanel. All rights reserved. (Last updated: 2021-08-13) Generated by jazzy ♪♫ v0.13.6, a Realm project. diff --git a/docs/Extensions/Double.html b/docs/Extensions/Double.html index 7eee2eb9..b865874d 100644 --- a/docs/Extensions/Double.html +++ b/docs/Extensions/Double.html @@ -17,7 +17,7 @@ - Mixpanel 2.10.2 Docs (87% documented) + Mixpanel 2.10.3 Docs (87% documented) View on GitHub @@ -298,7 +298,7 @@ Declaration - © 2021 Mixpanel. All rights reserved. (Last updated: 2021-06-11) + © 2021 Mixpanel. All rights reserved. (Last updated: 2021-08-13) Generated by jazzy ♪♫ v0.13.6, a Realm project. diff --git a/docs/Extensions/Float.html b/docs/Extensions/Float.html index 21be46ef..cf550e61 100644 --- a/docs/Extensions/Float.html +++ b/docs/Extensions/Float.html @@ -17,7 +17,7 @@ - Mixpanel 2.10.2 Docs (87% documented) + Mixpanel 2.10.3 Docs (87% documented) View on GitHub @@ -257,7 +257,7 @@ Declaration - © 2021 Mixpanel. All rights reserved. (Last updated: 2021-06-11) + © 2021 Mixpanel. All rights reserved. (Last updated: 2021-08-13) Generated by jazzy ♪♫ v0.13.6, a Realm project. diff --git a/docs/Extensions/Int.html b/docs/Extensions/Int.html index a674242a..efcd81ae 100644 --- a/docs/Extensions/Int.html +++ b/docs/Extensions/Int.html @@ -17,7 +17,7 @@ - Mixpanel 2.10.2 Docs (87% documented) + Mixpanel 2.10.3 Docs (87% documented) View on GitHub @@ -298,7 +298,7 @@ Declaration - © 2021 Mixpanel. All rights reserved. (Last updated: 2021-06-11) + © 2021 Mixpanel. All rights reserved. (Last updated: 2021-08-13) Generated by jazzy ♪♫ v0.13.6, a Realm project. diff --git a/docs/Extensions/NSArray.html b/docs/Extensions/NSArray.html index 240eb378..db8ea70b 100644 --- a/docs/Extensions/NSArray.html +++ b/docs/Extensions/NSArray.html @@ -17,7 +17,7 @@ - Mixpanel 2.10.2 Docs (87% documented) + Mixpanel 2.10.3 Docs (87% documented) View on GitHub @@ -256,7 +256,7 @@ Declaration - © 2021 Mixpanel. All rights reserved. (Last updated: 2021-06-11) + © 2021 Mixpanel. All rights reserved. (Last updated: 2021-08-13) Generated by jazzy ♪♫ v0.13.6, a Realm project. diff --git a/docs/Extensions/NSNull.html b/docs/Extensions/NSNull.html index e39c884d..5cad9016 100644 --- a/docs/Extensions/NSNull.html +++ b/docs/Extensions/NSNull.html @@ -17,7 +17,7 @@ - Mixpanel 2.10.2 Docs (87% documented) + Mixpanel 2.10.3 Docs (87% documented) View on GitHub @@ -257,7 +257,7 @@ Declaration - © 2021 Mixpanel. All rights reserved. (Last updated: 2021-06-11) + © 2021 Mixpanel. All rights reserved. (Last updated: 2021-08-13) Generated by jazzy ♪♫ v0.13.6, a Realm project. diff --git a/docs/Extensions/NSNumber.html b/docs/Extensions/NSNumber.html index 27eb7a0b..4a75f19f 100644 --- a/docs/Extensions/NSNumber.html +++ b/docs/Extensions/NSNumber.html @@ -17,7 +17,7 @@ - Mixpanel 2.10.2 Docs (87% documented) + Mixpanel 2.10.3 Docs (87% documented) View on GitHub @@ -257,7 +257,7 @@ Declaration - © 2021 Mixpanel. All rights reserved. (Last updated: 2021-06-11) + © 2021 Mixpanel. All rights reserved. (Last updated: 2021-08-13) Generated by jazzy ♪♫ v0.13.6, a Realm project. diff --git a/docs/Extensions/NSString.html b/docs/Extensions/NSString.html index 2f85b27e..a75a18d6 100644 --- a/docs/Extensions/NSString.html +++ b/docs/Extensions/NSString.html @@ -17,7 +17,7 @@ - Mixpanel 2.10.2 Docs (87% documented) + Mixpanel 2.10.3 Docs (87% documented) View on GitHub @@ -257,7 +257,7 @@ Declaration - © 2021 Mixpanel. All rights reserved. (Last updated: 2021-06-11) + © 2021 Mixpanel. All rights reserved. (Last updated: 2021-08-13) Generated by jazzy ♪♫ v0.13.6, a Realm project. diff --git a/docs/Extensions/Optional.html b/docs/Extensions/Optional.html index 5ecdc63c..6a094297 100644 --- a/docs/Extensions/Optional.html +++ b/docs/Extensions/Optional.html @@ -17,7 +17,7 @@ - Mixpanel 2.10.2 Docs (87% documented) + Mixpanel 2.10.3 Docs (87% documented) View on GitHub @@ -256,7 +256,7 @@ Declaration - © 2021 Mixpanel. All rights reserved. (Last updated: 2021-06-11) + © 2021 Mixpanel. All rights reserved. (Last updated: 2021-08-13) Generated by jazzy ♪♫ v0.13.6, a Realm project. diff --git a/docs/Extensions/String.html b/docs/Extensions/String.html index bdf14abf..f375e331 100644 --- a/docs/Extensions/String.html +++ b/docs/Extensions/String.html @@ -17,7 +17,7 @@ - Mixpanel 2.10.2 Docs (87% documented) + Mixpanel 2.10.3 Docs (87% documented) View on GitHub @@ -298,7 +298,7 @@ Declaration - © 2021 Mixpanel. All rights reserved. (Last updated: 2021-06-11) + © 2021 Mixpanel. All rights reserved. (Last updated: 2021-08-13) Generated by jazzy ♪♫ v0.13.6, a Realm project. diff --git a/docs/Extensions/UIColor.html b/docs/Extensions/UIColor.html index d8f39aff..2bd8e49a 100644 --- a/docs/Extensions/UIColor.html +++ b/docs/Extensions/UIColor.html @@ -17,7 +17,7 @@ - Mixpanel 2.10.2 Docs (87% documented) + Mixpanel 2.10.3 Docs (87% documented) View on GitHub @@ -249,7 +249,7 @@ Parameters - © 2021 Mixpanel. All rights reserved. (Last updated: 2021-06-11) + © 2021 Mixpanel. All rights reserved. (Last updated: 2021-08-13) Generated by jazzy ♪♫ v0.13.6, a Realm project. diff --git a/docs/Extensions/UInt.html b/docs/Extensions/UInt.html index 7529d5a8..6d9020b3 100644 --- a/docs/Extensions/UInt.html +++ b/docs/Extensions/UInt.html @@ -17,7 +17,7 @@ - Mixpanel 2.10.2 Docs (87% documented) + Mixpanel 2.10.3 Docs (87% documented) View on GitHub @@ -257,7 +257,7 @@ Declaration - © 2021 Mixpanel. All rights reserved. (Last updated: 2021-06-11) + © 2021 Mixpanel. All rights reserved. (Last updated: 2021-08-13) Generated by jazzy ♪♫ v0.13.6, a Realm project. diff --git a/docs/Extensions/URL.html b/docs/Extensions/URL.html index acde30ec..537cff47 100644 --- a/docs/Extensions/URL.html +++ b/docs/Extensions/URL.html @@ -17,7 +17,7 @@ - Mixpanel 2.10.2 Docs (87% documented) + Mixpanel 2.10.3 Docs (87% documented) View on GitHub @@ -257,7 +257,7 @@ Declaration - © 2021 Mixpanel. All rights reserved. (Last updated: 2021-06-11) + © 2021 Mixpanel. All rights reserved. (Last updated: 2021-08-13) Generated by jazzy ♪♫ v0.13.6, a Realm project. diff --git a/docs/Functions.html b/docs/Functions.html index e25558b7..e0a8e64c 100644 --- a/docs/Functions.html +++ b/docs/Functions.html @@ -17,7 +17,7 @@ - Mixpanel 2.10.2 Docs (87% documented) + Mixpanel 2.10.3 Docs (87% documented) View on GitHub @@ -320,7 +320,7 @@ Return Value - © 2021 Mixpanel. All rights reserved. (Last updated: 2021-06-11) + © 2021 Mixpanel. All rights reserved. (Last updated: 2021-08-13) Generated by jazzy ♪♫ v0.13.6, a Realm project. diff --git a/docs/Protocols.html b/docs/Protocols.html index c62223dd..8ae1f832 100644 --- a/docs/Protocols.html +++ b/docs/Protocols.html @@ -17,7 +17,7 @@ - Mixpanel 2.10.2 Docs (87% documented) + Mixpanel 2.10.3 Docs (87% documented) View on GitHub @@ -340,7 +340,7 @@ Declaration - © 2021 Mixpanel. All rights reserved. (Last updated: 2021-06-11) + © 2021 Mixpanel. All rights reserved. (Last updated: 2021-08-13) Generated by jazzy ♪♫ v0.13.6, a Realm project. diff --git a/docs/Protocols/MixpanelDelegate.html b/docs/Protocols/MixpanelDelegate.html index 8bd67b8a..c44cc99e 100644 --- a/docs/Protocols/MixpanelDelegate.html +++ b/docs/Protocols/MixpanelDelegate.html @@ -17,7 +17,7 @@ - Mixpanel 2.10.2 Docs (87% documented) + Mixpanel 2.10.3 Docs (87% documented) View on GitHub @@ -253,7 +253,7 @@ Return Value - © 2021 Mixpanel. All rights reserved. (Last updated: 2021-06-11) + © 2021 Mixpanel. All rights reserved. (Last updated: 2021-08-13) Generated by jazzy ♪♫ v0.13.6, a Realm project. diff --git a/docs/Protocols/MixpanelType.html b/docs/Protocols/MixpanelType.html index e7f38b56..96016255 100644 --- a/docs/Protocols/MixpanelType.html +++ b/docs/Protocols/MixpanelType.html @@ -17,7 +17,7 @@ - Mixpanel 2.10.2 Docs (87% documented) + Mixpanel 2.10.3 Docs (87% documented) View on GitHub @@ -259,7 +259,7 @@ Declaration - © 2021 Mixpanel. All rights reserved. (Last updated: 2021-06-11) + © 2021 Mixpanel. All rights reserved. (Last updated: 2021-08-13) Generated by jazzy ♪♫ v0.13.6, a Realm project. diff --git a/docs/Protocols/TweakClusterType.html b/docs/Protocols/TweakClusterType.html index b4ff8858..405b526a 100644 --- a/docs/Protocols/TweakClusterType.html +++ b/docs/Protocols/TweakClusterType.html @@ -17,7 +17,7 @@ - Mixpanel 2.10.2 Docs (87% documented) + Mixpanel 2.10.3 Docs (87% documented) View on GitHub @@ -232,7 +232,7 @@ Declaration - © 2021 Mixpanel. All rights reserved. (Last updated: 2021-06-11) + © 2021 Mixpanel. All rights reserved. (Last updated: 2021-08-13) Generated by jazzy ♪♫ v0.13.6, a Realm project. diff --git a/docs/Protocols/TweakLibraryType.html b/docs/Protocols/TweakLibraryType.html index b3001272..9b2ac032 100644 --- a/docs/Protocols/TweakLibraryType.html +++ b/docs/Protocols/TweakLibraryType.html @@ -17,7 +17,7 @@ - Mixpanel 2.10.2 Docs (87% documented) + Mixpanel 2.10.3 Docs (87% documented) View on GitHub @@ -340,7 +340,7 @@ Parameters - © 2021 Mixpanel. All rights reserved. (Last updated: 2021-06-11) + © 2021 Mixpanel. All rights reserved. (Last updated: 2021-08-13) Generated by jazzy ♪♫ v0.13.6, a Realm project. diff --git a/docs/Protocols/TweakableType.html b/docs/Protocols/TweakableType.html index 9551bb6d..356fe9a8 100644 --- a/docs/Protocols/TweakableType.html +++ b/docs/Protocols/TweakableType.html @@ -17,7 +17,7 @@ - Mixpanel 2.10.2 Docs (87% documented) + Mixpanel 2.10.3 Docs (87% documented) View on GitHub @@ -230,7 +230,7 @@ Declaration - © 2021 Mixpanel. All rights reserved. (Last updated: 2021-06-11) + © 2021 Mixpanel. All rights reserved. (Last updated: 2021-08-13) Generated by jazzy ♪♫ v0.13.6, a Realm project. diff --git a/docs/Structs.html b/docs/Structs.html index 39fe3da3..057dbd59 100644 --- a/docs/Structs.html +++ b/docs/Structs.html @@ -17,7 +17,7 @@ - Mixpanel 2.10.2 Docs (87% documented) + Mixpanel 2.10.3 Docs (87% documented) View on GitHub @@ -286,7 +286,7 @@ Declaration - © 2021 Mixpanel. All rights reserved. (Last updated: 2021-06-11) + © 2021 Mixpanel. All rights reserved. (Last updated: 2021-08-13) Generated by jazzy ♪♫ v0.13.6, a Realm project. diff --git a/docs/Structs/AnyTweak.html b/docs/Structs/AnyTweak.html index 76705757..725a31ad 100644 --- a/docs/Structs/AnyTweak.html +++ b/docs/Structs/AnyTweak.html @@ -17,7 +17,7 @@ - Mixpanel 2.10.2 Docs (87% documented) + Mixpanel 2.10.3 Docs (87% documented) View on GitHub @@ -258,7 +258,7 @@ Declaration - © 2021 Mixpanel. All rights reserved. (Last updated: 2021-06-11) + © 2021 Mixpanel. All rights reserved. (Last updated: 2021-08-13) Generated by jazzy ♪♫ v0.13.6, a Realm project. diff --git a/docs/Structs/MixpanelTweaks.html b/docs/Structs/MixpanelTweaks.html index 3405d99c..835acc4f 100644 --- a/docs/Structs/MixpanelTweaks.html +++ b/docs/Structs/MixpanelTweaks.html @@ -17,7 +17,7 @@ - Mixpanel 2.10.2 Docs (87% documented) + Mixpanel 2.10.3 Docs (87% documented) View on GitHub @@ -276,7 +276,7 @@ Parameters - © 2021 Mixpanel. All rights reserved. (Last updated: 2021-06-11) + © 2021 Mixpanel. All rights reserved. (Last updated: 2021-08-13) Generated by jazzy ♪♫ v0.13.6, a Realm project. diff --git a/docs/Structs/Tweak.html b/docs/Structs/Tweak.html index e87c46d8..eb1ba9b2 100644 --- a/docs/Structs/Tweak.html +++ b/docs/Structs/Tweak.html @@ -17,7 +17,7 @@ - Mixpanel 2.10.2 Docs (87% documented) + Mixpanel 2.10.3 Docs (87% documented) View on GitHub @@ -430,7 +430,7 @@ Parameters - © 2021 Mixpanel. All rights reserved. (Last updated: 2021-06-11) + © 2021 Mixpanel. All rights reserved. (Last updated: 2021-08-13) Generated by jazzy ♪♫ v0.13.6, a Realm project. diff --git a/docs/Typealiases.html b/docs/Typealiases.html index e8aae453..ec419f4a 100644 --- a/docs/Typealiases.html +++ b/docs/Typealiases.html @@ -17,7 +17,7 @@ - Mixpanel 2.10.2 Docs (87% documented) + Mixpanel 2.10.3 Docs (87% documented) View on GitHub @@ -223,7 +223,7 @@ Declaration - © 2021 Mixpanel. All rights reserved. (Last updated: 2021-06-11) + © 2021 Mixpanel. All rights reserved. (Last updated: 2021-08-13) Generated by jazzy ♪♫ v0.13.6, a Realm project. diff --git a/docs/docsets/Mixpanel.docset/Contents/Resources/Documents/Classes.html b/docs/docsets/Mixpanel.docset/Contents/Resources/Documents/Classes.html index 12b6ffc2..7e3d7bf5 100644 --- a/docs/docsets/Mixpanel.docset/Contents/Resources/Documents/Classes.html +++ b/docs/docsets/Mixpanel.docset/Contents/Resources/Documents/Classes.html @@ -17,7 +17,7 @@ - Mixpanel 2.10.2 Docs (87% documented) + Mixpanel 2.10.3 Docs (87% documented) View on GitHub @@ -393,7 +393,7 @@ Declaration - © 2021 Mixpanel. All rights reserved. (Last updated: 2021-06-11) + © 2021 Mixpanel. All rights reserved. (Last updated: 2021-08-13) Generated by jazzy ♪♫ v0.13.6, a Realm project. diff --git a/docs/docsets/Mixpanel.docset/Contents/Resources/Documents/Classes/Group.html b/docs/docsets/Mixpanel.docset/Contents/Resources/Documents/Classes/Group.html index 2242cc9d..977a7694 100644 --- a/docs/docsets/Mixpanel.docset/Contents/Resources/Documents/Classes/Group.html +++ b/docs/docsets/Mixpanel.docset/Contents/Resources/Documents/Classes/Group.html @@ -17,7 +17,7 @@ - Mixpanel 2.10.2 Docs (87% documented) + Mixpanel 2.10.3 Docs (87% documented) View on GitHub @@ -548,7 +548,7 @@ Declaration - © 2021 Mixpanel. All rights reserved. (Last updated: 2021-06-11) + © 2021 Mixpanel. All rights reserved. (Last updated: 2021-08-13) Generated by jazzy ♪♫ v0.13.6, a Realm project. diff --git a/docs/docsets/Mixpanel.docset/Contents/Resources/Documents/Classes/Mixpanel.html b/docs/docsets/Mixpanel.docset/Contents/Resources/Documents/Classes/Mixpanel.html index 3da9d704..5ad5c5ed 100644 --- a/docs/docsets/Mixpanel.docset/Contents/Resources/Documents/Classes/Mixpanel.html +++ b/docs/docsets/Mixpanel.docset/Contents/Resources/Documents/Classes/Mixpanel.html @@ -17,7 +17,7 @@ - Mixpanel 2.10.2 Docs (87% documented) + Mixpanel 2.10.3 Docs (87% documented) View on GitHub @@ -522,7 +522,7 @@ Parameters - © 2021 Mixpanel. All rights reserved. (Last updated: 2021-06-11) + © 2021 Mixpanel. All rights reserved. (Last updated: 2021-08-13) Generated by jazzy ♪♫ v0.13.6, a Realm project. diff --git a/docs/docsets/Mixpanel.docset/Contents/Resources/Documents/Classes/MixpanelInstance.html b/docs/docsets/Mixpanel.docset/Contents/Resources/Documents/Classes/MixpanelInstance.html index 5be8822f..2829cdbb 100644 --- a/docs/docsets/Mixpanel.docset/Contents/Resources/Documents/Classes/MixpanelInstance.html +++ b/docs/docsets/Mixpanel.docset/Contents/Resources/Documents/Classes/MixpanelInstance.html @@ -17,7 +17,7 @@ - Mixpanel 2.10.2 Docs (87% documented) + Mixpanel 2.10.3 Docs (87% documented) View on GitHub @@ -888,9 +888,9 @@ Identity - - - identify(distinctId:usePeople:) + + + identify(distinctId:usePeople:completion:) @@ -925,7 +925,7 @@ Identity Declaration Swift - open func identify(distinctId: String, usePeople: Bool = true) + open func identify(distinctId: String, usePeople: Bool = true, completion: (() -> Void)? = nil) @@ -958,6 +958,18 @@ Parameters + + + + completion + + + + + an optional completion handler for when the identify has completed. + + + @@ -967,9 +979,9 @@ Parameters - - - createAlias(_:distinctId:usePeople:) + + + createAlias(_:distinctId:usePeople:completion:) @@ -991,7 +1003,7 @@ Parameters Declaration Swift - open func createAlias(_ alias: String, distinctId: String, usePeople: Bool = true) + open func createAlias(_ alias: String, distinctId: String, usePeople: Bool = true, completion: (() -> Void)? = nil) @@ -1031,7 +1043,19 @@ Parameters - boolean that controls whether or not to set the people distinctId to the event distinctId. + boolean that controls whether or not to set the people distinctId to the event distinctId. + + + + + + + completion + + + + + an optional completion handler for when the createAlias has completed. This should only be set to false if you wish to prevent people profile updates for that user. @@ -1045,9 +1069,9 @@ Parameters - - - reset() + + + reset(completion:) @@ -1063,10 +1087,29 @@ Parameters Declaration Swift - open func reset() + open func reset(completion: (() -> Void)? = nil) + + Parameters + + + + + + completion + + + + + an optional completion handler for when the reset has completed. + + + + + + @@ -2408,7 +2451,7 @@ Declaration - © 2021 Mixpanel. All rights reserved. (Last updated: 2021-06-11) + © 2021 Mixpanel. All rights reserved. (Last updated: 2021-08-13) Generated by jazzy ♪♫ v0.13.6, a Realm project. diff --git a/docs/docsets/Mixpanel.docset/Contents/Resources/Documents/Classes/MixpanelNotificationServiceExtension.html b/docs/docsets/Mixpanel.docset/Contents/Resources/Documents/Classes/MixpanelNotificationServiceExtension.html index 432a14d2..29881877 100644 --- a/docs/docsets/Mixpanel.docset/Contents/Resources/Documents/Classes/MixpanelNotificationServiceExtension.html +++ b/docs/docsets/Mixpanel.docset/Contents/Resources/Documents/Classes/MixpanelNotificationServiceExtension.html @@ -17,7 +17,7 @@ - Mixpanel 2.10.2 Docs (87% documented) + Mixpanel 2.10.3 Docs (87% documented) View on GitHub @@ -257,7 +257,7 @@ Declaration - © 2021 Mixpanel. All rights reserved. (Last updated: 2021-06-11) + © 2021 Mixpanel. All rights reserved. (Last updated: 2021-08-13) Generated by jazzy ♪♫ v0.13.6, a Realm project. diff --git a/docs/docsets/Mixpanel.docset/Contents/Resources/Documents/Classes/MixpanelPushNotifications.html b/docs/docsets/Mixpanel.docset/Contents/Resources/Documents/Classes/MixpanelPushNotifications.html index 85e50da8..631cd2e5 100644 --- a/docs/docsets/Mixpanel.docset/Contents/Resources/Documents/Classes/MixpanelPushNotifications.html +++ b/docs/docsets/Mixpanel.docset/Contents/Resources/Documents/Classes/MixpanelPushNotifications.html @@ -17,7 +17,7 @@ - Mixpanel 2.10.2 Docs (87% documented) + Mixpanel 2.10.3 Docs (87% documented) View on GitHub @@ -257,7 +257,7 @@ Declaration - © 2021 Mixpanel. All rights reserved. (Last updated: 2021-06-11) + © 2021 Mixpanel. All rights reserved. (Last updated: 2021-08-13) Generated by jazzy ♪♫ v0.13.6, a Realm project. diff --git a/docs/docsets/Mixpanel.docset/Contents/Resources/Documents/Classes/People.html b/docs/docsets/Mixpanel.docset/Contents/Resources/Documents/Classes/People.html index 3f2a4c72..b1a1ae1a 100644 --- a/docs/docsets/Mixpanel.docset/Contents/Resources/Documents/Classes/People.html +++ b/docs/docsets/Mixpanel.docset/Contents/Resources/Documents/Classes/People.html @@ -17,7 +17,7 @@ - Mixpanel 2.10.2 Docs (87% documented) + Mixpanel 2.10.3 Docs (87% documented) View on GitHub @@ -975,7 +975,7 @@ Declaration - © 2021 Mixpanel. All rights reserved. (Last updated: 2021-06-11) + © 2021 Mixpanel. All rights reserved. (Last updated: 2021-08-13) Generated by jazzy ♪♫ v0.13.6, a Realm project. diff --git a/docs/docsets/Mixpanel.docset/Contents/Resources/Documents/Enums.html b/docs/docsets/Mixpanel.docset/Contents/Resources/Documents/Enums.html index 88215042..86ed5a2c 100644 --- a/docs/docsets/Mixpanel.docset/Contents/Resources/Documents/Enums.html +++ b/docs/docsets/Mixpanel.docset/Contents/Resources/Documents/Enums.html @@ -17,7 +17,7 @@ - Mixpanel 2.10.2 Docs (87% documented) + Mixpanel 2.10.3 Docs (87% documented) View on GitHub @@ -230,7 +230,7 @@ Declaration - © 2021 Mixpanel. All rights reserved. (Last updated: 2021-06-11) + © 2021 Mixpanel. All rights reserved. (Last updated: 2021-08-13) Generated by jazzy ♪♫ v0.13.6, a Realm project. diff --git a/docs/docsets/Mixpanel.docset/Contents/Resources/Documents/Enums/TweakViewDataType.html b/docs/docsets/Mixpanel.docset/Contents/Resources/Documents/Enums/TweakViewDataType.html index fb134b07..4117bd16 100644 --- a/docs/docsets/Mixpanel.docset/Contents/Resources/Documents/Enums/TweakViewDataType.html +++ b/docs/docsets/Mixpanel.docset/Contents/Resources/Documents/Enums/TweakViewDataType.html @@ -17,7 +17,7 @@ - Mixpanel 2.10.2 Docs (87% documented) + Mixpanel 2.10.3 Docs (87% documented) View on GitHub @@ -344,7 +344,7 @@ Declaration - © 2021 Mixpanel. All rights reserved. (Last updated: 2021-06-11) + © 2021 Mixpanel. All rights reserved. (Last updated: 2021-08-13) Generated by jazzy ♪♫ v0.13.6, a Realm project. diff --git a/docs/docsets/Mixpanel.docset/Contents/Resources/Documents/Extensions.html b/docs/docsets/Mixpanel.docset/Contents/Resources/Documents/Extensions.html index d5584fc1..6a95c820 100644 --- a/docs/docsets/Mixpanel.docset/Contents/Resources/Documents/Extensions.html +++ b/docs/docsets/Mixpanel.docset/Contents/Resources/Documents/Extensions.html @@ -17,7 +17,7 @@ - Mixpanel 2.10.2 Docs (87% documented) + Mixpanel 2.10.3 Docs (87% documented) View on GitHub @@ -672,7 +672,7 @@ Declaration - © 2021 Mixpanel. All rights reserved. (Last updated: 2021-06-11) + © 2021 Mixpanel. All rights reserved. (Last updated: 2021-08-13) Generated by jazzy ♪♫ v0.13.6, a Realm project. diff --git a/docs/docsets/Mixpanel.docset/Contents/Resources/Documents/Extensions/Array.html b/docs/docsets/Mixpanel.docset/Contents/Resources/Documents/Extensions/Array.html index 9f068d88..e8eeb5b0 100644 --- a/docs/docsets/Mixpanel.docset/Contents/Resources/Documents/Extensions/Array.html +++ b/docs/docsets/Mixpanel.docset/Contents/Resources/Documents/Extensions/Array.html @@ -17,7 +17,7 @@ - Mixpanel 2.10.2 Docs (87% documented) + Mixpanel 2.10.3 Docs (87% documented) View on GitHub @@ -256,7 +256,7 @@ Declaration - © 2021 Mixpanel. All rights reserved. (Last updated: 2021-06-11) + © 2021 Mixpanel. All rights reserved. (Last updated: 2021-08-13) Generated by jazzy ♪♫ v0.13.6, a Realm project. diff --git a/docs/docsets/Mixpanel.docset/Contents/Resources/Documents/Extensions/Bool.html b/docs/docsets/Mixpanel.docset/Contents/Resources/Documents/Extensions/Bool.html index 257a25de..7c8fd8bc 100644 --- a/docs/docsets/Mixpanel.docset/Contents/Resources/Documents/Extensions/Bool.html +++ b/docs/docsets/Mixpanel.docset/Contents/Resources/Documents/Extensions/Bool.html @@ -17,7 +17,7 @@ - Mixpanel 2.10.2 Docs (87% documented) + Mixpanel 2.10.3 Docs (87% documented) View on GitHub @@ -298,7 +298,7 @@ Declaration - © 2021 Mixpanel. All rights reserved. (Last updated: 2021-06-11) + © 2021 Mixpanel. All rights reserved. (Last updated: 2021-08-13) Generated by jazzy ♪♫ v0.13.6, a Realm project. diff --git a/docs/docsets/Mixpanel.docset/Contents/Resources/Documents/Extensions/CGFloat.html b/docs/docsets/Mixpanel.docset/Contents/Resources/Documents/Extensions/CGFloat.html index a9d7ec08..994e13bf 100644 --- a/docs/docsets/Mixpanel.docset/Contents/Resources/Documents/Extensions/CGFloat.html +++ b/docs/docsets/Mixpanel.docset/Contents/Resources/Documents/Extensions/CGFloat.html @@ -17,7 +17,7 @@ - Mixpanel 2.10.2 Docs (87% documented) + Mixpanel 2.10.3 Docs (87% documented) View on GitHub @@ -229,7 +229,7 @@ Declaration - © 2021 Mixpanel. All rights reserved. (Last updated: 2021-06-11) + © 2021 Mixpanel. All rights reserved. (Last updated: 2021-08-13) Generated by jazzy ♪♫ v0.13.6, a Realm project. diff --git a/docs/docsets/Mixpanel.docset/Contents/Resources/Documents/Extensions/Date.html b/docs/docsets/Mixpanel.docset/Contents/Resources/Documents/Extensions/Date.html index b36f5676..45eef789 100644 --- a/docs/docsets/Mixpanel.docset/Contents/Resources/Documents/Extensions/Date.html +++ b/docs/docsets/Mixpanel.docset/Contents/Resources/Documents/Extensions/Date.html @@ -17,7 +17,7 @@ - Mixpanel 2.10.2 Docs (87% documented) + Mixpanel 2.10.3 Docs (87% documented) View on GitHub @@ -257,7 +257,7 @@ Declaration - © 2021 Mixpanel. All rights reserved. (Last updated: 2021-06-11) + © 2021 Mixpanel. All rights reserved. (Last updated: 2021-08-13) Generated by jazzy ♪♫ v0.13.6, a Realm project. diff --git a/docs/docsets/Mixpanel.docset/Contents/Resources/Documents/Extensions/Dictionary.html b/docs/docsets/Mixpanel.docset/Contents/Resources/Documents/Extensions/Dictionary.html index d5bb970c..bd618cf8 100644 --- a/docs/docsets/Mixpanel.docset/Contents/Resources/Documents/Extensions/Dictionary.html +++ b/docs/docsets/Mixpanel.docset/Contents/Resources/Documents/Extensions/Dictionary.html @@ -17,7 +17,7 @@ - Mixpanel 2.10.2 Docs (87% documented) + Mixpanel 2.10.3 Docs (87% documented) View on GitHub @@ -256,7 +256,7 @@ Declaration - © 2021 Mixpanel. All rights reserved. (Last updated: 2021-06-11) + © 2021 Mixpanel. All rights reserved. (Last updated: 2021-08-13) Generated by jazzy ♪♫ v0.13.6, a Realm project. diff --git a/docs/docsets/Mixpanel.docset/Contents/Resources/Documents/Extensions/Double.html b/docs/docsets/Mixpanel.docset/Contents/Resources/Documents/Extensions/Double.html index 7eee2eb9..b865874d 100644 --- a/docs/docsets/Mixpanel.docset/Contents/Resources/Documents/Extensions/Double.html +++ b/docs/docsets/Mixpanel.docset/Contents/Resources/Documents/Extensions/Double.html @@ -17,7 +17,7 @@ - Mixpanel 2.10.2 Docs (87% documented) + Mixpanel 2.10.3 Docs (87% documented) View on GitHub @@ -298,7 +298,7 @@ Declaration - © 2021 Mixpanel. All rights reserved. (Last updated: 2021-06-11) + © 2021 Mixpanel. All rights reserved. (Last updated: 2021-08-13) Generated by jazzy ♪♫ v0.13.6, a Realm project. diff --git a/docs/docsets/Mixpanel.docset/Contents/Resources/Documents/Extensions/Float.html b/docs/docsets/Mixpanel.docset/Contents/Resources/Documents/Extensions/Float.html index 21be46ef..cf550e61 100644 --- a/docs/docsets/Mixpanel.docset/Contents/Resources/Documents/Extensions/Float.html +++ b/docs/docsets/Mixpanel.docset/Contents/Resources/Documents/Extensions/Float.html @@ -17,7 +17,7 @@ - Mixpanel 2.10.2 Docs (87% documented) + Mixpanel 2.10.3 Docs (87% documented) View on GitHub @@ -257,7 +257,7 @@ Declaration - © 2021 Mixpanel. All rights reserved. (Last updated: 2021-06-11) + © 2021 Mixpanel. All rights reserved. (Last updated: 2021-08-13) Generated by jazzy ♪♫ v0.13.6, a Realm project. diff --git a/docs/docsets/Mixpanel.docset/Contents/Resources/Documents/Extensions/Int.html b/docs/docsets/Mixpanel.docset/Contents/Resources/Documents/Extensions/Int.html index a674242a..efcd81ae 100644 --- a/docs/docsets/Mixpanel.docset/Contents/Resources/Documents/Extensions/Int.html +++ b/docs/docsets/Mixpanel.docset/Contents/Resources/Documents/Extensions/Int.html @@ -17,7 +17,7 @@ - Mixpanel 2.10.2 Docs (87% documented) + Mixpanel 2.10.3 Docs (87% documented) View on GitHub @@ -298,7 +298,7 @@ Declaration - © 2021 Mixpanel. All rights reserved. (Last updated: 2021-06-11) + © 2021 Mixpanel. All rights reserved. (Last updated: 2021-08-13) Generated by jazzy ♪♫ v0.13.6, a Realm project. diff --git a/docs/docsets/Mixpanel.docset/Contents/Resources/Documents/Extensions/NSArray.html b/docs/docsets/Mixpanel.docset/Contents/Resources/Documents/Extensions/NSArray.html index 240eb378..db8ea70b 100644 --- a/docs/docsets/Mixpanel.docset/Contents/Resources/Documents/Extensions/NSArray.html +++ b/docs/docsets/Mixpanel.docset/Contents/Resources/Documents/Extensions/NSArray.html @@ -17,7 +17,7 @@ - Mixpanel 2.10.2 Docs (87% documented) + Mixpanel 2.10.3 Docs (87% documented) View on GitHub @@ -256,7 +256,7 @@ Declaration - © 2021 Mixpanel. All rights reserved. (Last updated: 2021-06-11) + © 2021 Mixpanel. All rights reserved. (Last updated: 2021-08-13) Generated by jazzy ♪♫ v0.13.6, a Realm project. diff --git a/docs/docsets/Mixpanel.docset/Contents/Resources/Documents/Extensions/NSNull.html b/docs/docsets/Mixpanel.docset/Contents/Resources/Documents/Extensions/NSNull.html index e39c884d..5cad9016 100644 --- a/docs/docsets/Mixpanel.docset/Contents/Resources/Documents/Extensions/NSNull.html +++ b/docs/docsets/Mixpanel.docset/Contents/Resources/Documents/Extensions/NSNull.html @@ -17,7 +17,7 @@ - Mixpanel 2.10.2 Docs (87% documented) + Mixpanel 2.10.3 Docs (87% documented) View on GitHub @@ -257,7 +257,7 @@ Declaration - © 2021 Mixpanel. All rights reserved. (Last updated: 2021-06-11) + © 2021 Mixpanel. All rights reserved. (Last updated: 2021-08-13) Generated by jazzy ♪♫ v0.13.6, a Realm project. diff --git a/docs/docsets/Mixpanel.docset/Contents/Resources/Documents/Extensions/NSNumber.html b/docs/docsets/Mixpanel.docset/Contents/Resources/Documents/Extensions/NSNumber.html index 27eb7a0b..4a75f19f 100644 --- a/docs/docsets/Mixpanel.docset/Contents/Resources/Documents/Extensions/NSNumber.html +++ b/docs/docsets/Mixpanel.docset/Contents/Resources/Documents/Extensions/NSNumber.html @@ -17,7 +17,7 @@ - Mixpanel 2.10.2 Docs (87% documented) + Mixpanel 2.10.3 Docs (87% documented) View on GitHub @@ -257,7 +257,7 @@ Declaration - © 2021 Mixpanel. All rights reserved. (Last updated: 2021-06-11) + © 2021 Mixpanel. All rights reserved. (Last updated: 2021-08-13) Generated by jazzy ♪♫ v0.13.6, a Realm project. diff --git a/docs/docsets/Mixpanel.docset/Contents/Resources/Documents/Extensions/NSString.html b/docs/docsets/Mixpanel.docset/Contents/Resources/Documents/Extensions/NSString.html index 2f85b27e..a75a18d6 100644 --- a/docs/docsets/Mixpanel.docset/Contents/Resources/Documents/Extensions/NSString.html +++ b/docs/docsets/Mixpanel.docset/Contents/Resources/Documents/Extensions/NSString.html @@ -17,7 +17,7 @@ - Mixpanel 2.10.2 Docs (87% documented) + Mixpanel 2.10.3 Docs (87% documented) View on GitHub @@ -257,7 +257,7 @@ Declaration - © 2021 Mixpanel. All rights reserved. (Last updated: 2021-06-11) + © 2021 Mixpanel. All rights reserved. (Last updated: 2021-08-13) Generated by jazzy ♪♫ v0.13.6, a Realm project. diff --git a/docs/docsets/Mixpanel.docset/Contents/Resources/Documents/Extensions/Optional.html b/docs/docsets/Mixpanel.docset/Contents/Resources/Documents/Extensions/Optional.html index 5ecdc63c..6a094297 100644 --- a/docs/docsets/Mixpanel.docset/Contents/Resources/Documents/Extensions/Optional.html +++ b/docs/docsets/Mixpanel.docset/Contents/Resources/Documents/Extensions/Optional.html @@ -17,7 +17,7 @@ - Mixpanel 2.10.2 Docs (87% documented) + Mixpanel 2.10.3 Docs (87% documented) View on GitHub @@ -256,7 +256,7 @@ Declaration - © 2021 Mixpanel. All rights reserved. (Last updated: 2021-06-11) + © 2021 Mixpanel. All rights reserved. (Last updated: 2021-08-13) Generated by jazzy ♪♫ v0.13.6, a Realm project. diff --git a/docs/docsets/Mixpanel.docset/Contents/Resources/Documents/Extensions/String.html b/docs/docsets/Mixpanel.docset/Contents/Resources/Documents/Extensions/String.html index bdf14abf..f375e331 100644 --- a/docs/docsets/Mixpanel.docset/Contents/Resources/Documents/Extensions/String.html +++ b/docs/docsets/Mixpanel.docset/Contents/Resources/Documents/Extensions/String.html @@ -17,7 +17,7 @@ - Mixpanel 2.10.2 Docs (87% documented) + Mixpanel 2.10.3 Docs (87% documented) View on GitHub @@ -298,7 +298,7 @@ Declaration - © 2021 Mixpanel. All rights reserved. (Last updated: 2021-06-11) + © 2021 Mixpanel. All rights reserved. (Last updated: 2021-08-13) Generated by jazzy ♪♫ v0.13.6, a Realm project. diff --git a/docs/docsets/Mixpanel.docset/Contents/Resources/Documents/Extensions/UIColor.html b/docs/docsets/Mixpanel.docset/Contents/Resources/Documents/Extensions/UIColor.html index d8f39aff..2bd8e49a 100644 --- a/docs/docsets/Mixpanel.docset/Contents/Resources/Documents/Extensions/UIColor.html +++ b/docs/docsets/Mixpanel.docset/Contents/Resources/Documents/Extensions/UIColor.html @@ -17,7 +17,7 @@ - Mixpanel 2.10.2 Docs (87% documented) + Mixpanel 2.10.3 Docs (87% documented) View on GitHub @@ -249,7 +249,7 @@ Parameters - © 2021 Mixpanel. All rights reserved. (Last updated: 2021-06-11) + © 2021 Mixpanel. All rights reserved. (Last updated: 2021-08-13) Generated by jazzy ♪♫ v0.13.6, a Realm project. diff --git a/docs/docsets/Mixpanel.docset/Contents/Resources/Documents/Extensions/UInt.html b/docs/docsets/Mixpanel.docset/Contents/Resources/Documents/Extensions/UInt.html index 7529d5a8..6d9020b3 100644 --- a/docs/docsets/Mixpanel.docset/Contents/Resources/Documents/Extensions/UInt.html +++ b/docs/docsets/Mixpanel.docset/Contents/Resources/Documents/Extensions/UInt.html @@ -17,7 +17,7 @@ - Mixpanel 2.10.2 Docs (87% documented) + Mixpanel 2.10.3 Docs (87% documented) View on GitHub @@ -257,7 +257,7 @@ Declaration - © 2021 Mixpanel. All rights reserved. (Last updated: 2021-06-11) + © 2021 Mixpanel. All rights reserved. (Last updated: 2021-08-13) Generated by jazzy ♪♫ v0.13.6, a Realm project. diff --git a/docs/docsets/Mixpanel.docset/Contents/Resources/Documents/Extensions/URL.html b/docs/docsets/Mixpanel.docset/Contents/Resources/Documents/Extensions/URL.html index acde30ec..537cff47 100644 --- a/docs/docsets/Mixpanel.docset/Contents/Resources/Documents/Extensions/URL.html +++ b/docs/docsets/Mixpanel.docset/Contents/Resources/Documents/Extensions/URL.html @@ -17,7 +17,7 @@ - Mixpanel 2.10.2 Docs (87% documented) + Mixpanel 2.10.3 Docs (87% documented) View on GitHub @@ -257,7 +257,7 @@ Declaration - © 2021 Mixpanel. All rights reserved. (Last updated: 2021-06-11) + © 2021 Mixpanel. All rights reserved. (Last updated: 2021-08-13) Generated by jazzy ♪♫ v0.13.6, a Realm project. diff --git a/docs/docsets/Mixpanel.docset/Contents/Resources/Documents/Functions.html b/docs/docsets/Mixpanel.docset/Contents/Resources/Documents/Functions.html index e25558b7..e0a8e64c 100644 --- a/docs/docsets/Mixpanel.docset/Contents/Resources/Documents/Functions.html +++ b/docs/docsets/Mixpanel.docset/Contents/Resources/Documents/Functions.html @@ -17,7 +17,7 @@ - Mixpanel 2.10.2 Docs (87% documented) + Mixpanel 2.10.3 Docs (87% documented) View on GitHub @@ -320,7 +320,7 @@ Return Value - © 2021 Mixpanel. All rights reserved. (Last updated: 2021-06-11) + © 2021 Mixpanel. All rights reserved. (Last updated: 2021-08-13) Generated by jazzy ♪♫ v0.13.6, a Realm project. diff --git a/docs/docsets/Mixpanel.docset/Contents/Resources/Documents/Protocols.html b/docs/docsets/Mixpanel.docset/Contents/Resources/Documents/Protocols.html index c62223dd..8ae1f832 100644 --- a/docs/docsets/Mixpanel.docset/Contents/Resources/Documents/Protocols.html +++ b/docs/docsets/Mixpanel.docset/Contents/Resources/Documents/Protocols.html @@ -17,7 +17,7 @@ - Mixpanel 2.10.2 Docs (87% documented) + Mixpanel 2.10.3 Docs (87% documented) View on GitHub @@ -340,7 +340,7 @@ Declaration - © 2021 Mixpanel. All rights reserved. (Last updated: 2021-06-11) + © 2021 Mixpanel. All rights reserved. (Last updated: 2021-08-13) Generated by jazzy ♪♫ v0.13.6, a Realm project. diff --git a/docs/docsets/Mixpanel.docset/Contents/Resources/Documents/Protocols/MixpanelDelegate.html b/docs/docsets/Mixpanel.docset/Contents/Resources/Documents/Protocols/MixpanelDelegate.html index 8bd67b8a..c44cc99e 100644 --- a/docs/docsets/Mixpanel.docset/Contents/Resources/Documents/Protocols/MixpanelDelegate.html +++ b/docs/docsets/Mixpanel.docset/Contents/Resources/Documents/Protocols/MixpanelDelegate.html @@ -17,7 +17,7 @@ - Mixpanel 2.10.2 Docs (87% documented) + Mixpanel 2.10.3 Docs (87% documented) View on GitHub @@ -253,7 +253,7 @@ Return Value - © 2021 Mixpanel. All rights reserved. (Last updated: 2021-06-11) + © 2021 Mixpanel. All rights reserved. (Last updated: 2021-08-13) Generated by jazzy ♪♫ v0.13.6, a Realm project. diff --git a/docs/docsets/Mixpanel.docset/Contents/Resources/Documents/Protocols/MixpanelType.html b/docs/docsets/Mixpanel.docset/Contents/Resources/Documents/Protocols/MixpanelType.html index e7f38b56..96016255 100644 --- a/docs/docsets/Mixpanel.docset/Contents/Resources/Documents/Protocols/MixpanelType.html +++ b/docs/docsets/Mixpanel.docset/Contents/Resources/Documents/Protocols/MixpanelType.html @@ -17,7 +17,7 @@ - Mixpanel 2.10.2 Docs (87% documented) + Mixpanel 2.10.3 Docs (87% documented) View on GitHub @@ -259,7 +259,7 @@ Declaration - © 2021 Mixpanel. All rights reserved. (Last updated: 2021-06-11) + © 2021 Mixpanel. All rights reserved. (Last updated: 2021-08-13) Generated by jazzy ♪♫ v0.13.6, a Realm project. diff --git a/docs/docsets/Mixpanel.docset/Contents/Resources/Documents/Protocols/TweakClusterType.html b/docs/docsets/Mixpanel.docset/Contents/Resources/Documents/Protocols/TweakClusterType.html index b4ff8858..405b526a 100644 --- a/docs/docsets/Mixpanel.docset/Contents/Resources/Documents/Protocols/TweakClusterType.html +++ b/docs/docsets/Mixpanel.docset/Contents/Resources/Documents/Protocols/TweakClusterType.html @@ -17,7 +17,7 @@ - Mixpanel 2.10.2 Docs (87% documented) + Mixpanel 2.10.3 Docs (87% documented) View on GitHub @@ -232,7 +232,7 @@ Declaration - © 2021 Mixpanel. All rights reserved. (Last updated: 2021-06-11) + © 2021 Mixpanel. All rights reserved. (Last updated: 2021-08-13) Generated by jazzy ♪♫ v0.13.6, a Realm project. diff --git a/docs/docsets/Mixpanel.docset/Contents/Resources/Documents/Protocols/TweakLibraryType.html b/docs/docsets/Mixpanel.docset/Contents/Resources/Documents/Protocols/TweakLibraryType.html index b3001272..9b2ac032 100644 --- a/docs/docsets/Mixpanel.docset/Contents/Resources/Documents/Protocols/TweakLibraryType.html +++ b/docs/docsets/Mixpanel.docset/Contents/Resources/Documents/Protocols/TweakLibraryType.html @@ -17,7 +17,7 @@ - Mixpanel 2.10.2 Docs (87% documented) + Mixpanel 2.10.3 Docs (87% documented) View on GitHub @@ -340,7 +340,7 @@ Parameters - © 2021 Mixpanel. All rights reserved. (Last updated: 2021-06-11) + © 2021 Mixpanel. All rights reserved. (Last updated: 2021-08-13) Generated by jazzy ♪♫ v0.13.6, a Realm project. diff --git a/docs/docsets/Mixpanel.docset/Contents/Resources/Documents/Protocols/TweakableType.html b/docs/docsets/Mixpanel.docset/Contents/Resources/Documents/Protocols/TweakableType.html index 9551bb6d..356fe9a8 100644 --- a/docs/docsets/Mixpanel.docset/Contents/Resources/Documents/Protocols/TweakableType.html +++ b/docs/docsets/Mixpanel.docset/Contents/Resources/Documents/Protocols/TweakableType.html @@ -17,7 +17,7 @@ - Mixpanel 2.10.2 Docs (87% documented) + Mixpanel 2.10.3 Docs (87% documented) View on GitHub @@ -230,7 +230,7 @@ Declaration - © 2021 Mixpanel. All rights reserved. (Last updated: 2021-06-11) + © 2021 Mixpanel. All rights reserved. (Last updated: 2021-08-13) Generated by jazzy ♪♫ v0.13.6, a Realm project. diff --git a/docs/docsets/Mixpanel.docset/Contents/Resources/Documents/Structs.html b/docs/docsets/Mixpanel.docset/Contents/Resources/Documents/Structs.html index 39fe3da3..057dbd59 100644 --- a/docs/docsets/Mixpanel.docset/Contents/Resources/Documents/Structs.html +++ b/docs/docsets/Mixpanel.docset/Contents/Resources/Documents/Structs.html @@ -17,7 +17,7 @@ - Mixpanel 2.10.2 Docs (87% documented) + Mixpanel 2.10.3 Docs (87% documented) View on GitHub @@ -286,7 +286,7 @@ Declaration - © 2021 Mixpanel. All rights reserved. (Last updated: 2021-06-11) + © 2021 Mixpanel. All rights reserved. (Last updated: 2021-08-13) Generated by jazzy ♪♫ v0.13.6, a Realm project. diff --git a/docs/docsets/Mixpanel.docset/Contents/Resources/Documents/Structs/AnyTweak.html b/docs/docsets/Mixpanel.docset/Contents/Resources/Documents/Structs/AnyTweak.html index 76705757..725a31ad 100644 --- a/docs/docsets/Mixpanel.docset/Contents/Resources/Documents/Structs/AnyTweak.html +++ b/docs/docsets/Mixpanel.docset/Contents/Resources/Documents/Structs/AnyTweak.html @@ -17,7 +17,7 @@ - Mixpanel 2.10.2 Docs (87% documented) + Mixpanel 2.10.3 Docs (87% documented) View on GitHub @@ -258,7 +258,7 @@ Declaration - © 2021 Mixpanel. All rights reserved. (Last updated: 2021-06-11) + © 2021 Mixpanel. All rights reserved. (Last updated: 2021-08-13) Generated by jazzy ♪♫ v0.13.6, a Realm project. diff --git a/docs/docsets/Mixpanel.docset/Contents/Resources/Documents/Structs/MixpanelTweaks.html b/docs/docsets/Mixpanel.docset/Contents/Resources/Documents/Structs/MixpanelTweaks.html index 3405d99c..835acc4f 100644 --- a/docs/docsets/Mixpanel.docset/Contents/Resources/Documents/Structs/MixpanelTweaks.html +++ b/docs/docsets/Mixpanel.docset/Contents/Resources/Documents/Structs/MixpanelTweaks.html @@ -17,7 +17,7 @@ - Mixpanel 2.10.2 Docs (87% documented) + Mixpanel 2.10.3 Docs (87% documented) View on GitHub @@ -276,7 +276,7 @@ Parameters - © 2021 Mixpanel. All rights reserved. (Last updated: 2021-06-11) + © 2021 Mixpanel. All rights reserved. (Last updated: 2021-08-13) Generated by jazzy ♪♫ v0.13.6, a Realm project. diff --git a/docs/docsets/Mixpanel.docset/Contents/Resources/Documents/Structs/Tweak.html b/docs/docsets/Mixpanel.docset/Contents/Resources/Documents/Structs/Tweak.html index e87c46d8..eb1ba9b2 100644 --- a/docs/docsets/Mixpanel.docset/Contents/Resources/Documents/Structs/Tweak.html +++ b/docs/docsets/Mixpanel.docset/Contents/Resources/Documents/Structs/Tweak.html @@ -17,7 +17,7 @@ - Mixpanel 2.10.2 Docs (87% documented) + Mixpanel 2.10.3 Docs (87% documented) View on GitHub @@ -430,7 +430,7 @@ Parameters - © 2021 Mixpanel. All rights reserved. (Last updated: 2021-06-11) + © 2021 Mixpanel. All rights reserved. (Last updated: 2021-08-13) Generated by jazzy ♪♫ v0.13.6, a Realm project. diff --git a/docs/docsets/Mixpanel.docset/Contents/Resources/Documents/Typealiases.html b/docs/docsets/Mixpanel.docset/Contents/Resources/Documents/Typealiases.html index e8aae453..ec419f4a 100644 --- a/docs/docsets/Mixpanel.docset/Contents/Resources/Documents/Typealiases.html +++ b/docs/docsets/Mixpanel.docset/Contents/Resources/Documents/Typealiases.html @@ -17,7 +17,7 @@ - Mixpanel 2.10.2 Docs (87% documented) + Mixpanel 2.10.3 Docs (87% documented) View on GitHub @@ -223,7 +223,7 @@ Declaration - © 2021 Mixpanel. All rights reserved. (Last updated: 2021-06-11) + © 2021 Mixpanel. All rights reserved. (Last updated: 2021-08-13) Generated by jazzy ♪♫ v0.13.6, a Realm project. diff --git a/docs/docsets/Mixpanel.docset/Contents/Resources/Documents/index.html b/docs/docsets/Mixpanel.docset/Contents/Resources/Documents/index.html index 3fbf72db..e8aa8cd9 100644 --- a/docs/docsets/Mixpanel.docset/Contents/Resources/Documents/index.html +++ b/docs/docsets/Mixpanel.docset/Contents/Resources/Documents/index.html @@ -16,7 +16,7 @@ - Mixpanel 2.10.2 Docs (87% documented) + Mixpanel 2.10.3 Docs (87% documented) View on GitHub @@ -188,8 +188,7 @@ - - + @@ -201,196 +200,152 @@ Table of Contents -Introduction +Overview +Quick Start Guide -Current supported features - -Installation - - -CocoaPods -Carthage -Manual Installation - -Initializing and Usage - - -Integrate -Start tracking +Install Mixpanel +Initialize Mixpanel +Send Data +Check for Success +Complete Code Example +FAQ +I want to know more! -Introduction +Overview Welcome to the official Mixpanel Swift Library -The Mixpanel Swift library for iOS is an open-source project, and we’d love to see your contributions! +The Mixpanel Swift library for iOS is an open-source project, and we’d love to see your contributions! We’d also love for you to come and work with us! Check out Jobs for details. If you are using Objective-C, we recommend using our Objective-C Library. - -Current supported features - -Our master branch and our releases are now on Swift 5. - -If you wish to use our Swift 4.2 implementation, please point to the v2.6.1 release. For Swift 4/4.1 implementation, please point to the v2.4.5 release. For Swift 3 implementation, please point to the v2.2.3 release. For Swift 2.3 implementation, please point to the v1.0.1 release. +Check out our Advanced iOS Swift Guide for additional advanced configurations and use cases, like setting up your project with European Union data storage. +Quick Start Guide -Our Swift library fully supports all of the Mixpanel features and has full parity with the Objective-C Library. +Our master branch and our releases are on Swift 5. If you wish to use our Swift 4.2 implementation, please point to the v2.6.1 release. For Swift 4/4.1 implementation, please point to the v2.4.5 release. For Swift 3 implementation, please point to the v2.2.3 release. +1. Install Mixpanel - -Installation +You will need your project token for initializing your library. You can get your project token from project settings. +Installation Option 1: Swift Package Manager -On Jan 1, 2022, we’ll remove the Messages & Experiments feature from Mixpanel. For now, you can choose to opt in to our beta version without Messages & Experiments feature support. You can use Swift Package Manager to install the beta version: +The easiest way to get Mixpanel into your iOS project is to use Swift Package Manager(requires Xcode 12+). In Xcode, select File > Swift Packages > Add Package Dependency. -Follow the prompts using the URL for this repository and point to the branch 3.0.0.beta +Follow the prompts using the Github URL for Mixpanel Swift library and a minimum semantic version of v2.8.0. -Swift Package Manager -It requires Xcode 12+ and v2.8.0+ release - -Important: It only supports for iOS, if you need integrations for other platforms(tvOS or macOS), please use other integration methods instead or use our beta version by pointing to the branch 3.0.0.beta +On Jan 1, 2022, we’ll remove the Messages & Experiments feature from Mixpanel. For now, you can choose to opt in to our beta version without Messages & Experiments feature support. You can use Swift Package Manager to point to the branch 3.0.0.beta +Installation Option 2: CocoaPods -In Xcode, select File > Swift Packages > Add Package Dependency. -Follow the prompts using the URL for this repository and a minimum semantic version of v2.8.0 +If this is your first time using CocoaPods, Install CocoaPods using gem install cocoapods. Otherwise, continue to Step 3. +Run pod setup to create a local CocoaPods spec mirror. +Create a Podfile in your Xcode project directory by running pod init in your terminal, edit the Podfile generated, and add the following line: pod 'Mixpanel-swift'. +Run pod install in your Xcode project directory. CocoaPods should download and install the Mixpanel library, and create a new Xcode workspace. Open up this workspace in Xcode or typing open *.xcworkspace in your terminal. +Installation Option 3: Carthage -Check out our swift integration guide » for more info. -CocoaPods - -Our current release only supports CocoaPods version 1.4.0+ - -Mixpanel supports CocoaPods for easy installation. -To Install, see our swift integration guide » - -For iOS, tvOS, macOS, and App Extension integrations: - -pod 'Mixpanel-swift' - - -Carthage - -Mixpanel also supports Carthage to package your dependencies as a framework. Include the following dependency in your Cartfile: - -github "mixpanel/mixpanel-swift" - -Check out the Carthage docs » for more info. +Mixpanel supports Carthage to package your dependencies as a framework. Include the following dependency in your Cartfile: +github "mixpanel/mixpanel-swift" + - -Manual Installation +Check out the Carthage docs for more info. +2. Initialize Mixpanel -To help users stay up to date with the latest version of our Swift SDK, we always recommend integrating our SDK via CocoaPods, which simplifies version updates and dependency management. However, there are cases where users can’t use CocoaPods. Not to worry, just follow these manual installation steps and you’ll be all set. -Step 1: Add as a Submodule +Import Mixpanel into AppDelegate.swift, and initialize Mixpanel within application:didFinishLaunchingWithOptions: +import Mixpanel -Add Mixpanel as a submodule to your local git repo like so: -git submodule add git@github.com:mixpanel/mixpanel-swift.git +func application(_ application: UIApplication, + didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool { + ... + Mixpanel.initialize(token: "MIXPANEL_TOKEN") + ... +} -Now the Mixpanel project and its files should be in your project folder! -Step 2: Drag Mixpanel to your project +See all configuration options +3. Send Data -Drag the Mixpanel.xcodeproj inside your sample project under the main sample project file: - - -Step 3: Embed the framework +Let’s get started by sending event data. You can send an event from anywhere in your application. Better understand user behavior by storing details that are specific to the event (properties). After initializing the library, Mixpanel will automatically collect common mobile events. You can enable/disable automatic collection through your project settings. Also, Mixpanel automatically tracks some properties by default. learn more +Mixpanel.mainInstance().track(event: "Sign Up", properties: [ + "source": "Pat's affiliate site", + "Opted out of email": true +]) + -Select your app .xcodeproj file. Under “General”, add the Mixpanel framework as an embedded binary: +In addition to event data, you can also send user profile data. We recommend this after completing the quickstart guide. +4. Check for Success - +Open up Live View in Mixpanel to view incoming events. - -Initializing and Usage +Once data hits our API, it generally takes ~60 seconds for it to be processed, stored, and queryable in your project. +Complete Code Example - -Integrate +Here’s a runnable code example that covers everything in this quickstart guide. +import Mixpanel -Import Mixpanel into AppDelegate.swift, and initialize Mixpanel within application:didFinishLaunchingWithOptions: - -func application(_ application: UIApplication, +func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool { + ... Mixpanel.initialize(token: "MIXPANEL_TOKEN") + Mixpanel.mainInstance().track(event: "Sign Up", properties: [ + "source": "Pat's affiliate site", + "Opted out of email": true + ]) + ... } +FAQ -You initialize your Mixpanel instance with the token provided to you on mixpanel.com. - - -Start tracking - -After installing the library into your iOS app, Mixpanel will automatically collect common mobile events. You can enable/ disable automatic collection through your project settings. - -To interact with the instance and track additional events, you can either use the mixpanel instance given when initializing: -mixpanel.track(event: "Tracked Event!") - +I want to stop tracking an event/event property in Mixpanel. Is that possible? -or you can directly fetch the instance and use it from the Mixpanel object: -Mixpanel.mainInstance().track(event: "Tracked Event!") - +Yes, in Lexicon, you can intercept and drop incoming events or properties. Mixpanel won’t store any new data for the event or property you select to drop. See this article for more information. -You’re done! You’ve successfully integrated the Mixpanel Swift SDK into your app. To stay up to speed on important SDK releases and updates, star or watch our repository on Github. +I have a test user I would like to opt out of tracking. How do I do that? -Have any questions? Reach out to support@mixpanel.com to speak to someone smart, quickly. -Using Mixpanel Push Notifications +Mixpanel’s client-side tracking library contains the optOutTracking() method, which will set the user’s local opt-out state to “true” and will prevent data from being sent from a user’s device. More detailed instructions can be found in the section, Opting users out of tracking. -First enable Mixpanel push notifications in your app. Then for Rich Push Notifications, you’ll need to integrate your application with the MixpanelNotificationServiceExtension. -Integrating the MixpanelNotificationServiceExtension +Why aren’t my events showing up? -The Mixpanel SDK comes with a custom Notification Service Extension used to render rich media, custom action buttons, and track when push notifications are received. To enable these features, you will need to integrate it into your application. -1. Create a new Notification Service Extension Target +To preserve battery life and customer bandwidth, the Mixpanel library doesn’t send the events you record immediately. Instead, it sends batches to the Mixpanel servers every 60 seconds while your application is running, as well as when the application transitions to the background. You can call flush() manually if you want to force a flush at a particular moment. +Mixpanel.mainInstance().flush() + - - - -2. Add Mixpanel-swift as a dependency +If your events are still not showing up after 60 seconds, check if you have opted out of tracking. You can also enable Mixpanel debugging and logging, it allows you to see the debug output from the Mixpanel library. To enable it, set loggingEnabled to true. +Mixpanel.mainInstance().loggingEnabled = true + -Add the following to the end of your Podfile: -target 'NotificationService' do - use_frameworks! +Starting with iOS 14.5, do I need to request the user’s permission through the AppTrackingTransparency framework to use Mixpanel? - pod 'Mixpanel-swift' -end - +No, Mixpanel does not use IDFA so it does not require user permission through the AppTrackingTransparency(ATT) framework. -Then run pod install -3. Extend your NotificationService from MixpanelNotificationServiceExtension +If I use Mixpanel, how do I answer app privacy questions for the App Store? -Replace the contents of your NotificationService.swift file with the following: -import Mixpanel +Please refer to our Apple App Developer Privacy Guidance +I want to know more! -class NotificationService: MixpanelNotificationServiceExtension {} - -4. Delegate the handling of the notification response to the Mixpanel SDK - -In your AppDelegate.swift file, you need to call MixpanelPushNotifications.handleResponse when a push notification response is received: -@available(iOS 10.0, *) -func userNotificationCenter(_ center: UNUserNotificationCenter, didReceive response: UNNotificationResponse, withCompletionHandler completionHandler: @escaping () -> Void) { - if MixpanelPushNotifications.isMixpanelPushNotification(response.notification.request.content) { - debugPrint("Handling Mixpanel push notification response...") - MixpanelPushNotifications.handleResponse(response: response, withCompletionHandler: completionHandler) - } else { - // not a Mixpanel push notification - debugPrint("Not a Mixpanel push notification.") - completionHandler() - } -} - +No worries, here are some links that you will find useful: -This will make sure the tap actions are appropriately handled (open URL, deeplink, etc) as well as track whether a notification was tapped or dismissed. -5. Run the app and send a test push notification from Mixpanel that includes an image or buttons + +Advanced iOS - Swift Guide +Sample app +Full API Reference + -That’s it! Your app should now be able to receive rich push notifications from Mixpanel. +Have any questions? Reach out to Mixpanel Support to speak to someone smart, quickly. - © 2021 Mixpanel. All rights reserved. (Last updated: 2021-06-11) + © 2021 Mixpanel. All rights reserved. (Last updated: 2021-08-13) Generated by jazzy ♪♫ v0.13.6, a Realm project. diff --git a/docs/docsets/Mixpanel.docset/Contents/Resources/Documents/search.json b/docs/docsets/Mixpanel.docset/Contents/Resources/Documents/search.json index 040a3460..dc8e93ad 100644 --- a/docs/docsets/Mixpanel.docset/Contents/Resources/Documents/search.json +++ b/docs/docsets/Mixpanel.docset/Contents/Resources/Documents/search.json @@ -1 +1 @@ -{"Typealiases.html#/s:8Mixpanel10Propertiesa":{"name":"Properties","abstract":"Undocumented"},"Structs/MixpanelTweaks.html#/s:8Mixpanel0A6TweaksV12defaultStoreAA05TweakD0CvpZ":{"name":"defaultStore","abstract":"The default store that holds the Tweaks","parent_name":"MixpanelTweaks"},"Structs/MixpanelTweaks.html#/s:8Mixpanel0A6TweaksV03setB06tweaksySayAA16TweakClusterType_pG_tFZ":{"name":"setTweaks(tweaks:)","abstract":"setTweaks needs to be called to add the defined Tweaks into the environment.","parent_name":"MixpanelTweaks"},"Structs/Tweak.html#/s:8Mixpanel5TweakV9tweakName12defaultValueACyxGSS_xtcfc":{"name":"init(tweakName:defaultValue:)","abstract":"Initializer for a Tweak for A/B Testing","parent_name":"Tweak"},"Structs/Tweak.html#/s:8Mixpanel5TweakV4hash4intoys6HasherVz_tF":{"name":"hash(into:)","abstract":"Hashing for a Tweak for A/B Testing in order for it to be stored.","parent_name":"Tweak"},"Structs/Tweak.html#/s:8Mixpanel16TweakClusterTypeP05tweakC0SayAA03AnyB0VGvp":{"name":"tweakCluster","parent_name":"Tweak"},"Structs/Tweak.html#/s:8Mixpanel5TweakVAASLRzs13SignedNumericRzrlE9tweakName12defaultValue3min3max8stepSizeACyxGSS_xxSgA2Ktcfc":{"name":"init(tweakName:defaultValue:min:max:stepSize:)","abstract":"Creates a Tweak where T: SignedNumberType","parent_name":"Tweak"},"Structs/AnyTweak.html#/s:SH4hash4intoys6HasherVz_tF":{"name":"hash(into:)","parent_name":"AnyTweak"},"Structs/AnyTweak.html#/s:8Mixpanel8AnyTweakV12tweakClusterSayACGvp":{"name":"tweakCluster","abstract":"Allows easy tweak initialization by clustering tweaks together for A/B Testing","parent_name":"AnyTweak"},"Structs/AnyTweak.html":{"name":"AnyTweak","abstract":"A type-erasure around Tweak for A/B Testing."},"Structs/Tweak.html":{"name":"Tweak","abstract":"Tweaks let you adjust things on the fly."},"Structs/MixpanelTweaks.html":{"name":"MixpanelTweaks","abstract":"The MixpanelTweaks struct that needs to be extended to define new Tweaks for A/B testing"},"Protocols/TweakableType.html#/s:8Mixpanel13TweakableTypeP013tweakViewDataC0AA05TweakefC0OvpZ":{"name":"tweakViewDataType","abstract":"The data type of the TweakableType","parent_name":"TweakableType"},"Protocols/TweakLibraryType.html#/s:8Mixpanel16TweakLibraryTypeP12defaultStoreAA0bF0CvpZ":{"name":"defaultStore","abstract":"the default tweak store","parent_name":"TweakLibraryType"},"Protocols/TweakLibraryType.html#/s:8Mixpanel16TweakLibraryTypePAAE6assignyqd__AA0B0Vyqd__GAA09TweakableD0Rd__lFZ":{"name":"assign(_:)","abstract":"Returns the current value for a tweak from the TweakLibrary’s default store.","parent_name":"TweakLibraryType"},"Protocols/TweakLibraryType.html#/s:8Mixpanel16TweakLibraryTypePAAE4bind_7bindingyAA0B0Vyqd__G_yqd__ctAA09TweakableD0Rd__lFZ":{"name":"bind(_:binding:)","abstract":"Immediately binds the currentValue of a given tweak, and then continues to update whenever the tweak changes.","parent_name":"TweakLibraryType"},"Protocols/TweakClusterType.html#/s:8Mixpanel16TweakClusterTypeP05tweakC0SayAA03AnyB0VGvp":{"name":"tweakCluster","abstract":"The tweak cluster to allow easy initialization of Tweaks","parent_name":"TweakClusterType"},"Protocols/MixpanelType.html#/s:8Mixpanel0A4TypeP013isValidNestedB8AndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"Checks if this object has nested object types that Mixpanel supports.","parent_name":"MixpanelType"},"Protocols/MixpanelType.html#/s:8Mixpanel0A4TypeP6equals3rhsSbAaB_p_tF":{"name":"equals(rhs:)","abstract":"Undocumented","parent_name":"MixpanelType"},"Protocols/MixpanelDelegate.html#/s:8Mixpanel0A8DelegateP17mixpanelWillFlushySbAA0A8InstanceCF":{"name":"mixpanelWillFlush(_:)","abstract":"Asks the delegate if data should be uploaded to the server.","parent_name":"MixpanelDelegate"},"Protocols/MixpanelDelegate.html":{"name":"MixpanelDelegate","abstract":"Delegate protocol for controlling the Mixpanel API’s network behavior."},"Protocols/MixpanelType.html":{"name":"MixpanelType","abstract":"Property keys must be String objects and the supported value types need to conform to MixpanelType."},"Protocols/TweakClusterType.html":{"name":"TweakClusterType","abstract":"This protocol allows for easy initialization of TweakStore."},"Protocols/TweakLibraryType.html":{"name":"TweakLibraryType","abstract":"Create a public struct in your application that conforms to this protocol to declare your own tweaks!"},"Protocols/TweakableType.html":{"name":"TweakableType","abstract":"To add a new to our Tweak, make T conform to this protocol."},"Functions.html#/s:8Mixpanel2eeoiySbAA8AnyTweakV_ADtF":{"name":"==(_:_:)","abstract":"Comparator between two tweaks for A/B Testing."},"Functions.html#/s:8Mixpanel2eeoiySbAA5TweakVyxG_AEtAA13TweakableTypeRzlF":{"name":"==(_:_:)","abstract":"Comparator between two tweaks for A/B Testing."},"Extensions/CGFloat.html#/s:12CoreGraphics7CGFloatV8MixpanelE17tweakViewDataTypeAD05TweakfgH0OvpZ":{"name":"tweakViewDataType","abstract":"TweakableType supports the cgFloat type","parent_name":"CGFloat"},"Extensions/Dictionary.html#/s:SD8MixpanelE25isValidNestedTypeAndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"Checks if this object has nested object types that Mixpanel supports.","parent_name":"Dictionary"},"Extensions/Dictionary.html#/s:SD8MixpanelE6equals3rhsSbAA0A4Type_p_tF":{"name":"equals(rhs:)","abstract":"Undocumented","parent_name":"Dictionary"},"Extensions/NSArray.html#/s:So7NSArrayC8MixpanelE25isValidNestedTypeAndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"Checks if this object has nested object types that Mixpanel supports.","parent_name":"NSArray"},"Extensions/NSArray.html#/s:So7NSArrayC8MixpanelE6equals3rhsSbAC0B4Type_p_tF":{"name":"equals(rhs:)","abstract":"Undocumented","parent_name":"NSArray"},"Extensions/NSNull.html#/s:So6NSNullC8MixpanelE25isValidNestedTypeAndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"Checks if this object has nested object types that Mixpanel supports.","parent_name":"NSNull"},"Extensions/NSNull.html#/s:So6NSNullC8MixpanelE6equals3rhsSbAC0B4Type_p_tF":{"name":"equals(rhs:)","abstract":"Undocumented","parent_name":"NSNull"},"Extensions/URL.html#/s:10Foundation3URLV8MixpanelE25isValidNestedTypeAndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"Checks if this object has nested object types that Mixpanel supports.","parent_name":"URL"},"Extensions/URL.html#/s:10Foundation3URLV8MixpanelE6equals3rhsSbAD0C4Type_p_tF":{"name":"equals(rhs:)","abstract":"Undocumented","parent_name":"URL"},"Extensions/Date.html#/s:10Foundation4DateV8MixpanelE25isValidNestedTypeAndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"Checks if this object has nested object types that Mixpanel supports.","parent_name":"Date"},"Extensions/Date.html#/s:10Foundation4DateV8MixpanelE6equals3rhsSbAD0C4Type_p_tF":{"name":"equals(rhs:)","abstract":"Undocumented","parent_name":"Date"},"Extensions/Bool.html#/s:Sb8MixpanelE25isValidNestedTypeAndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"Checks if this object has nested object types that Mixpanel supports.","parent_name":"Bool"},"Extensions/Bool.html#/s:Sb8MixpanelE6equals3rhsSbAA0A4Type_p_tF":{"name":"equals(rhs:)","abstract":"Undocumented","parent_name":"Bool"},"Extensions/Bool.html#/s:Sb8MixpanelE17tweakViewDataTypeAA05TweakcdE0OvpZ":{"name":"tweakViewDataType","abstract":"TweakableType supports the boolean type","parent_name":"Bool"},"Extensions/Float.html#/s:Sf8MixpanelE25isValidNestedTypeAndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"Checks if this object has nested object types that Mixpanel supports.","parent_name":"Float"},"Extensions/Float.html#/s:Sf8MixpanelE6equals3rhsSbAA0A4Type_p_tF":{"name":"equals(rhs:)","abstract":"Undocumented","parent_name":"Float"},"Extensions/Double.html#/s:Sd8MixpanelE25isValidNestedTypeAndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"Checks if this object has nested object types that Mixpanel supports.","parent_name":"Double"},"Extensions/Double.html#/s:Sd8MixpanelE6equals3rhsSbAA0A4Type_p_tF":{"name":"equals(rhs:)","abstract":"Undocumented","parent_name":"Double"},"Extensions/Double.html#/s:Sd8MixpanelE17tweakViewDataTypeAA05TweakcdE0OvpZ":{"name":"tweakViewDataType","abstract":"TweakableType supports the double type","parent_name":"Double"},"Extensions/UInt.html#/s:Su8MixpanelE25isValidNestedTypeAndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"Checks if this object has nested object types that Mixpanel supports.","parent_name":"UInt"},"Extensions/UInt.html#/s:Su8MixpanelE6equals3rhsSbAA0A4Type_p_tF":{"name":"equals(rhs:)","abstract":"Undocumented","parent_name":"UInt"},"Extensions/Int.html#/s:Si8MixpanelE25isValidNestedTypeAndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"Checks if this object has nested object types that Mixpanel supports.","parent_name":"Int"},"Extensions/Int.html#/s:Si8MixpanelE6equals3rhsSbAA0A4Type_p_tF":{"name":"equals(rhs:)","abstract":"Undocumented","parent_name":"Int"},"Extensions/Int.html#/s:Si8MixpanelE17tweakViewDataTypeAA05TweakcdE0OvpZ":{"name":"tweakViewDataType","abstract":"TweakableType supports the integer type","parent_name":"Int"},"Extensions/NSNumber.html#/s:So8NSNumberC8MixpanelE25isValidNestedTypeAndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"Checks if this object has nested object types that Mixpanel supports.","parent_name":"NSNumber"},"Extensions/NSNumber.html#/s:So8NSNumberC8MixpanelE6equals3rhsSbAC0B4Type_p_tF":{"name":"equals(rhs:)","abstract":"Undocumented","parent_name":"NSNumber"},"Extensions/NSString.html#/s:So8NSStringC8MixpanelE25isValidNestedTypeAndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"Checks if this object has nested object types that Mixpanel supports.","parent_name":"NSString"},"Extensions/NSString.html#/s:So8NSStringC8MixpanelE6equals3rhsSbAC0B4Type_p_tF":{"name":"equals(rhs:)","abstract":"Undocumented","parent_name":"NSString"},"Extensions/String.html#/s:SS8MixpanelE25isValidNestedTypeAndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"Checks if this object has nested object types that Mixpanel supports.","parent_name":"String"},"Extensions/String.html#/s:SS8MixpanelE6equals3rhsSbAA0A4Type_p_tF":{"name":"equals(rhs:)","abstract":"Undocumented","parent_name":"String"},"Extensions/String.html#/s:SS8MixpanelE17tweakViewDataTypeAA05TweakcdE0OvpZ":{"name":"tweakViewDataType","abstract":"TweakableType supports the string type","parent_name":"String"},"Extensions/Optional.html#/s:Sq8MixpanelE25isValidNestedTypeAndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"Checks if this object has nested object types that Mixpanel supports.","parent_name":"Optional"},"Extensions/Optional.html#/s:Sq8MixpanelE6equals3rhsSbAA0A4Type_p_tF":{"name":"equals(rhs:)","abstract":"Undocumented","parent_name":"Optional"},"Extensions/Array.html#/s:Sa8MixpanelE25isValidNestedTypeAndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"Checks if this object has nested object types that Mixpanel supports.","parent_name":"Array"},"Extensions/Array.html#/s:Sa8MixpanelE6equals3rhsSbAA0A4Type_p_tF":{"name":"equals(rhs:)","abstract":"Undocumented","parent_name":"Array"},"Extensions/UIColor.html#/s:So7UIColorC8MixpanelE5MPHexABSu_tcfc":{"name":"init(MPHex:)","abstract":"The shorthand four-digit hexadecimal representation of color with alpha.","parent_name":"UIColor"},"Extensions/UIColor.html":{"name":"UIColor"},"Extensions/Array.html":{"name":"Array"},"Extensions/Optional.html":{"name":"Optional"},"Extensions/String.html":{"name":"String"},"Extensions/NSString.html":{"name":"NSString"},"Extensions/NSNumber.html":{"name":"NSNumber"},"Extensions/Int.html":{"name":"Int"},"Extensions/UInt.html":{"name":"UInt"},"Extensions/Double.html":{"name":"Double"},"Extensions/Float.html":{"name":"Float"},"Extensions/Bool.html":{"name":"Bool"},"Extensions/Date.html":{"name":"Date"},"Extensions/URL.html":{"name":"URL"},"Extensions/NSNull.html":{"name":"NSNull"},"Extensions/NSArray.html":{"name":"NSArray"},"Extensions/Dictionary.html":{"name":"Dictionary"},"Extensions/CGFloat.html":{"name":"CGFloat"},"Enums/TweakViewDataType.html#/s:8Mixpanel17TweakViewDataTypeO7booleanyA2CmF":{"name":"boolean","abstract":"TweakableType supports the boolean type","parent_name":"TweakViewDataType"},"Enums/TweakViewDataType.html#/s:8Mixpanel17TweakViewDataTypeO7integeryA2CmF":{"name":"integer","abstract":"TweakableType supports the integer type","parent_name":"TweakViewDataType"},"Enums/TweakViewDataType.html#/s:8Mixpanel17TweakViewDataTypeO7cgFloatyA2CmF":{"name":"cgFloat","abstract":"TweakableType supports the cgFloat type","parent_name":"TweakViewDataType"},"Enums/TweakViewDataType.html#/s:8Mixpanel17TweakViewDataTypeO6doubleyA2CmF":{"name":"double","abstract":"TweakableType supports the double type","parent_name":"TweakViewDataType"},"Enums/TweakViewDataType.html#/s:8Mixpanel17TweakViewDataTypeO6stringyA2CmF":{"name":"string","abstract":"TweakableType supports the string type","parent_name":"TweakViewDataType"},"Enums/TweakViewDataType.html":{"name":"TweakViewDataType","abstract":"The data types that are currently supported for SwiftTweaks."},"Classes/MixpanelPushNotifications.html#/s:8Mixpanel0A17PushNotificationsC02isaB12NotificationySbSo21UNNotificationContentCFZ":{"name":"isMixpanelPushNotification(_:)","abstract":"Undocumented","parent_name":"MixpanelPushNotifications"},"Classes/MixpanelPushNotifications.html#/s:8Mixpanel0A17PushNotificationsC10trackEvent_10properties7requestySS_SDySSAA0A4Type_pGSo21UNNotificationRequestCtFZ":{"name":"trackEvent(_:properties:request:)","abstract":"Undocumented","parent_name":"MixpanelPushNotifications"},"Classes/People.html#/s:8Mixpanel6PeopleC10ignoreTimeSbvp":{"name":"ignoreTime","abstract":"controls the $ignore_time property in any subsequent MixpanelPeople operation.","parent_name":"People"},"Classes/People.html#/s:8Mixpanel6PeopleC18addPushDeviceTokenyy10Foundation4DataVF":{"name":"addPushDeviceToken(_:)","abstract":"Register the given device to receive push notifications.","parent_name":"People"},"Classes/People.html#/s:8Mixpanel6PeopleC25removeAllPushDeviceTokensyyF":{"name":"removeAllPushDeviceTokens()","abstract":"Unregister the given device to receive push notifications.","parent_name":"People"},"Classes/People.html#/s:8Mixpanel6PeopleC21removePushDeviceTokenyy10Foundation4DataVF":{"name":"removePushDeviceToken(_:)","abstract":"Unregister a specific device token from the ability to receive push notifications.","parent_name":"People"},"Classes/People.html#/s:8Mixpanel6PeopleC3set10propertiesySDySSAA0A4Type_pG_tF":{"name":"set(properties:)","abstract":"Set properties on the current user in Mixpanel People.","parent_name":"People"},"Classes/People.html#/s:8Mixpanel6PeopleC3set8property2toySS_AA0A4Type_ptF":{"name":"set(property:to:)","abstract":"Convenience method for setting a single property in Mixpanel People.","parent_name":"People"},"Classes/People.html#/s:8Mixpanel6PeopleC7setOnce10propertiesySDySSAA0A4Type_pG_tF":{"name":"setOnce(properties:)","abstract":"Set properties on the current user in Mixpanel People, but doesn’t overwrite if","parent_name":"People"},"Classes/People.html#/s:8Mixpanel6PeopleC5unset10propertiesySaySSG_tF":{"name":"unset(properties:)","abstract":"Remove a list of properties and their values from the current user’s profile","parent_name":"People"},"Classes/People.html#/s:8Mixpanel6PeopleC9increment10propertiesySDySSAA0A4Type_pG_tF":{"name":"increment(properties:)","abstract":"Increment the given numeric properties by the given values.","parent_name":"People"},"Classes/People.html#/s:8Mixpanel6PeopleC9increment8property2byySS_SdtF":{"name":"increment(property:by:)","abstract":"Convenience method for incrementing a single numeric property by the specified","parent_name":"People"},"Classes/People.html#/s:8Mixpanel6PeopleC6append10propertiesySDySSAA0A4Type_pG_tF":{"name":"append(properties:)","abstract":"Append values to list properties.","parent_name":"People"},"Classes/People.html#/s:8Mixpanel6PeopleC6remove10propertiesySDySSAA0A4Type_pG_tF":{"name":"remove(properties:)","abstract":"Removes list properties.","parent_name":"People"},"Classes/People.html#/s:8Mixpanel6PeopleC5union10propertiesySDySSAA0A4Type_pG_tF":{"name":"union(properties:)","abstract":"Union list properties.","parent_name":"People"},"Classes/People.html#/s:8Mixpanel6PeopleC11trackCharge6amount10propertiesySd_SDySSAA0A4Type_pGSgtF":{"name":"trackCharge(amount:properties:)","abstract":"Track money spent by the current user for revenue analytics and associate","parent_name":"People"},"Classes/People.html#/s:8Mixpanel6PeopleC12clearChargesyyF":{"name":"clearCharges()","abstract":"Delete current user’s revenue history.","parent_name":"People"},"Classes/People.html#/s:8Mixpanel6PeopleC10deleteUseryyF":{"name":"deleteUser()","abstract":"Delete current user’s record from Mixpanel People.","parent_name":"People"},"Classes/MixpanelNotificationServiceExtension.html#/c:@M@Mixpanel@objc(cs)MixpanelNotificationServiceExtension(im)didReceiveNotificationRequest:withContentHandler:":{"name":"didReceive(_:withContentHandler:)","abstract":"Undocumented","parent_name":"MixpanelNotificationServiceExtension"},"Classes/MixpanelNotificationServiceExtension.html#/c:@M@Mixpanel@objc(cs)MixpanelNotificationServiceExtension(im)serviceExtensionTimeWillExpire":{"name":"serviceExtensionTimeWillExpire()","abstract":"Undocumented","parent_name":"MixpanelNotificationServiceExtension"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC8apiTokenSSvp":{"name":"apiToken","abstract":"apiToken string that identifies the project to track data to","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC8delegateAA0A8Delegate_pSgvp":{"name":"delegate","abstract":"The a MixpanelDelegate object that gives control over Mixpanel network activity.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC10distinctIdSSvp":{"name":"distinctId","abstract":"distinctId string that uniquely identifies the current user.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC11anonymousIdSSSgvp":{"name":"anonymousId","abstract":"anonymousId string that uniquely identifies the device.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC6userIdSSSgvp":{"name":"userId","abstract":"userId string that identify is called with.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC22hadPersistedDistinctIdSbSgvp":{"name":"hadPersistedDistinctId","abstract":"hadPersistedDistinctId is a boolean value which specifies that the stored distinct_id","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC5aliasSSSgvp":{"name":"alias","abstract":"alias string that uniquely identifies the current user.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC6peopleAA6PeopleCSgvp":{"name":"people","abstract":"Accessor to the Mixpanel People API object.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC28showNetworkActivityIndicatorSbvp":{"name":"showNetworkActivityIndicator","abstract":"Controls whether to show spinning network activity indicator when flushing","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC27trackAutomaticEventsEnabledSbSgvp":{"name":"trackAutomaticEventsEnabled","abstract":"This allows enabling or disabling collecting common mobile events","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC13flushIntervalSdvp":{"name":"flushInterval","abstract":"Flush timer’s interval.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC17flushOnBackgroundSbvp":{"name":"flushOnBackground","abstract":"Control whether the library should flush data to Mixpanel when the app","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC26useIPAddressForGeoLocationSbvp":{"name":"useIPAddressForGeoLocation","abstract":"Controls whether to automatically send the client IP Address as part of","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC9serverURLSSvp":{"name":"serverURL","abstract":"The base URL used for Mixpanel API requests.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:s28CustomDebugStringConvertibleP16debugDescriptionSSvp":{"name":"debugDescription","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC14loggingEnabledSbvp":{"name":"loggingEnabled","abstract":"This allows enabling or disabling of all Mixpanel logs at run time.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC4nameSSvp":{"name":"name","abstract":"A unique identifier for this MixpanelInstance","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC29enableVisualEditorForCodelessSbvp":{"name":"enableVisualEditorForCodeless","abstract":"Controls whether to enable the visual editor for codeless on mixpanel.com","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC24checkForVariantsOnActiveSbvp":{"name":"checkForVariantsOnActive","abstract":"Controls whether to automatically check for A/B test variants for the","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC28checkForNotificationOnActiveSbvp":{"name":"checkForNotificationOnActive","abstract":"Controls whether to automatically check for notifications for the","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC24showNotificationOnActiveSbvp":{"name":"showNotificationOnActive","abstract":"Controls whether to automatically check for and show in-app notifications","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC32miniNotificationPresentationTimeSdvp":{"name":"miniNotificationPresentationTime","abstract":"Determines the time, in seconds, that a mini notification will remain on","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC22minimumSessionDurations6UInt64Vvp":{"name":"minimumSessionDuration","abstract":"The minimum session duration (ms) that is tracked in automatic events.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC22maximumSessionDurations6UInt64Vvp":{"name":"maximumSessionDuration","abstract":"The maximum session duration (ms) that is tracked in automatic events.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC8identify10distinctId9usePeopleySS_SbtF":{"name":"identify(distinctId:usePeople:)","abstract":"Sets the distinct ID of the current user.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC11createAlias_10distinctId9usePeopleySS_SSSbtF":{"name":"createAlias(_:distinctId:usePeople:)","abstract":"The alias method creates an alias which Mixpanel will use to remap one id to another.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC5resetyyF":{"name":"reset()","abstract":"Clears all stored properties including the distinct Id.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC7archiveyyF":{"name":"archive()","abstract":"Writes current project info including the distinct Id, super properties,","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/archive()":{"name":"archive()","abstract":"Writes current project info including the distinct Id, super properties,","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC5flush10completionyyycSg_tF":{"name":"flush(completion:)","abstract":"Uploads queued data to the Mixpanel server.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC5track5event10propertiesySSSg_SDySSAA0A4Type_pGSgtF":{"name":"track(event:properties:)","abstract":"Tracks an event with properties.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC15trackWithGroups5event10properties6groupsySSSg_SDySSAA0A4Type_pGSgAKtF":{"name":"trackWithGroups(event:properties:groups:)","abstract":"Tracks an event with properties and to specific groups.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC8getGroup8groupKey0E2IDAA0D0CSS_AA0A4Type_ptF":{"name":"getGroup(groupKey:groupID:)","abstract":"Undocumented","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC4time5eventySS_tF":{"name":"time(event:)","abstract":"Starts a timer that will be stopped and added as a property when a","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC16eventElapsedTime0C0SdSS_tF":{"name":"eventElapsedTime(event:)","abstract":"Retrieves the time elapsed for the named event since time(event:) was called.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC16clearTimedEventsyyF":{"name":"clearTimedEvents()","abstract":"Clears all current event timers.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC15clearTimedEvent5eventySS_tF":{"name":"clearTimedEvent(event:)","abstract":"Clears the event timer for the named event.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC22currentSuperPropertiesSDySSypGyF":{"name":"currentSuperProperties()","abstract":"Returns the currently set super properties.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC20clearSuperPropertiesyyF":{"name":"clearSuperProperties()","abstract":"Clears all currently set super properties.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC23registerSuperPropertiesyySDySSAA0A4Type_pGF":{"name":"registerSuperProperties(_:)","abstract":"Registers super properties, overwriting ones that have already been set.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC27registerSuperPropertiesOnce_12defaultValueySDySSAA0A4Type_pG_AaF_pSgtF":{"name":"registerSuperPropertiesOnce(_:defaultValue:)","abstract":"Registers super properties without overwriting ones that have already been set,","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC23unregisterSuperPropertyyySSF":{"name":"unregisterSuperProperty(_:)","abstract":"Removes a previously registered super property.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC8setGroup8groupKey0E2IDySS_AA0A4Type_ptF":{"name":"setGroup(groupKey:groupID:)","abstract":"Convenience method to set a single group the user belongs to.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC8setGroup8groupKey0E3IDsySS_SayAA0A4Type_pGtF":{"name":"setGroup(groupKey:groupIDs:)","abstract":"Set the groups this user belongs to.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC8addGroup8groupKey0E2IDySS_AA0A4Type_ptF":{"name":"addGroup(groupKey:groupID:)","abstract":"Add a group to this user’s membership for a particular group key","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC11removeGroup8groupKey0E2IDySS_AA0A4Type_ptF":{"name":"removeGroup(groupKey:groupID:)","abstract":"Remove a group from this user’s membership for a particular group key","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC14optOutTrackingyyF":{"name":"optOutTracking()","abstract":"Opt out tracking.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC13optInTracking10distinctId10propertiesySSSg_SDySSAA0A4Type_pGSgtF":{"name":"optInTracking(distinctId:properties:)","abstract":"Opt in tracking.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC19hasOptedOutTrackingSbyF":{"name":"hasOptedOutTracking()","abstract":"Returns if the current user has opted out tracking.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC15joinExperiments8callbackyyycSg_tF":{"name":"joinExperiments(callback:)","abstract":"Join any experiments (A/B tests) that are available for the current user.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC16showNotificationyyF":{"name":"showNotification()","abstract":"Shows a notification if one is available.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC16showNotification4typeySS_tF":{"name":"showNotification(type:)","abstract":"Shows a notification with the given type if one is available.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC16showNotification2IDySi_tF":{"name":"showNotification(ID:)","abstract":"Shows a notification with the given ID","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC24fetchNotificationPayload10completionyySDySSyXlGSgc_tF":{"name":"fetchNotificationPayload(completion:)","abstract":"Returns the payload of a notification if available","parent_name":"MixpanelInstance"},"Classes/Mixpanel.html#/s:8MixpanelAAC10initialize5token13launchOptions13flushInterval12instanceName21automaticPushTracking06optOutL9ByDefaultAA0A8InstanceCSS_SDySo019UIApplicationLaunchE3KeyaypGSgSdSSS2btFZ":{"name":"initialize(token:launchOptions:flushInterval:instanceName:automaticPushTracking:optOutTrackingByDefault:)","abstract":"Initializes an instance of the API with the given project token.","parent_name":"Mixpanel"},"Classes/Mixpanel.html#/initialize(token:flushInterval:instanceName:optOutTrackingByDefault:)":{"name":"initialize(token:flushInterval:instanceName:optOutTrackingByDefault:)","abstract":"Initializes an instance of the API with the given project token (MAC OS ONLY).","parent_name":"Mixpanel"},"Classes/Mixpanel.html#/s:8MixpanelAAC11getInstance4nameAA0aC0CSgSS_tFZ":{"name":"getInstance(name:)","abstract":"Gets the mixpanel instance with the given name","parent_name":"Mixpanel"},"Classes/Mixpanel.html#/s:8MixpanelAAC12mainInstanceAA0aC0CyFZ":{"name":"mainInstance()","abstract":"Returns the main instance that was initialized.","parent_name":"Mixpanel"},"Classes/Mixpanel.html#/s:8MixpanelAAC15setMainInstance4nameySS_tFZ":{"name":"setMainInstance(name:)","abstract":"Sets the main instance based on the instance name","parent_name":"Mixpanel"},"Classes/Mixpanel.html#/s:8MixpanelAAC14removeInstance4nameySS_tFZ":{"name":"removeInstance(name:)","abstract":"Removes an unneeded Mixpanel instance based on its name","parent_name":"Mixpanel"},"Classes/Group.html#/s:8Mixpanel5GroupC3set10propertiesySDySSAA0A4Type_pG_tF":{"name":"set(properties:)","abstract":"Sets properties on this group.","parent_name":"Group"},"Classes/Group.html#/s:8Mixpanel5GroupC3set8property2toySS_AA0A4Type_ptF":{"name":"set(property:to:)","abstract":"Convenience method for setting a single property in Mixpanel Groups.","parent_name":"Group"},"Classes/Group.html#/s:8Mixpanel5GroupC7setOnce10propertiesySDySSAA0A4Type_pG_tF":{"name":"setOnce(properties:)","abstract":"Sets properties on the current Mixpanel Group, but doesn’t overwrite if","parent_name":"Group"},"Classes/Group.html#/s:8Mixpanel5GroupC5unset8propertyySS_tF":{"name":"unset(property:)","abstract":"Remove a property and its value from a group’s profile in Mixpanel Groups.","parent_name":"Group"},"Classes/Group.html#/s:8Mixpanel5GroupC6remove3key5valueySS_AA0A4Type_ptF":{"name":"remove(key:value:)","abstract":"Removes list properties.","parent_name":"Group"},"Classes/Group.html#/s:8Mixpanel5GroupC5union3key6valuesySS_SayAA0A4Type_pGtF":{"name":"union(key:values:)","abstract":"Union list properties.","parent_name":"Group"},"Classes/Group.html#/s:8Mixpanel5GroupC06deleteB0yyF":{"name":"deleteGroup()","abstract":"Delete group’s record from Mixpanel Groups.","parent_name":"Group"},"Classes/Group.html":{"name":"Group","abstract":"Access to the Mixpanel Groups API, available through the getGroup function from"},"Classes/Mixpanel.html":{"name":"Mixpanel","abstract":"The primary class for integrating Mixpanel with your app."},"Classes/MixpanelInstance.html":{"name":"MixpanelInstance","abstract":"The class that represents the Mixpanel Instance"},"Classes/MixpanelNotificationServiceExtension.html":{"name":"MixpanelNotificationServiceExtension","abstract":"Undocumented"},"Classes/People.html":{"name":"People","abstract":"Access to the Mixpanel People API, available as an accessible variable from"},"Classes/MixpanelPushNotifications.html":{"name":"MixpanelPushNotifications","abstract":"Undocumented"},"Classes.html#/s:8Mixpanel10TweakStoreC":{"name":"TweakStore","abstract":"Looks up the persisted state for tweaks."},"Classes.html":{"name":"Classes","abstract":"The following classes are available globally."},"Enums.html":{"name":"Enumerations","abstract":"The following enumerations are available globally."},"Extensions.html":{"name":"Extensions","abstract":"The following extensions are available globally."},"Functions.html":{"name":"Functions","abstract":"The following functions are available globally."},"Protocols.html":{"name":"Protocols","abstract":"The following protocols are available globally."},"Structs.html":{"name":"Structures","abstract":"The following structures are available globally."},"Typealiases.html":{"name":"Type Aliases","abstract":"The following type aliases are available globally."}} \ No newline at end of file +{"Typealiases.html#/s:8Mixpanel10Propertiesa":{"name":"Properties","abstract":"Undocumented"},"Structs/MixpanelTweaks.html#/s:8Mixpanel0A6TweaksV12defaultStoreAA05TweakD0CvpZ":{"name":"defaultStore","abstract":"The default store that holds the Tweaks","parent_name":"MixpanelTweaks"},"Structs/MixpanelTweaks.html#/s:8Mixpanel0A6TweaksV03setB06tweaksySayAA16TweakClusterType_pG_tFZ":{"name":"setTweaks(tweaks:)","abstract":"setTweaks needs to be called to add the defined Tweaks into the environment.","parent_name":"MixpanelTweaks"},"Structs/Tweak.html#/s:8Mixpanel5TweakV9tweakName12defaultValueACyxGSS_xtcfc":{"name":"init(tweakName:defaultValue:)","abstract":"Initializer for a Tweak for A/B Testing","parent_name":"Tweak"},"Structs/Tweak.html#/s:8Mixpanel5TweakV4hash4intoys6HasherVz_tF":{"name":"hash(into:)","abstract":"Hashing for a Tweak for A/B Testing in order for it to be stored.","parent_name":"Tweak"},"Structs/Tweak.html#/s:8Mixpanel16TweakClusterTypeP05tweakC0SayAA03AnyB0VGvp":{"name":"tweakCluster","parent_name":"Tweak"},"Structs/Tweak.html#/s:8Mixpanel5TweakVAASLRzs13SignedNumericRzrlE9tweakName12defaultValue3min3max8stepSizeACyxGSS_xxSgA2Ktcfc":{"name":"init(tweakName:defaultValue:min:max:stepSize:)","abstract":"Creates a Tweak where T: SignedNumberType","parent_name":"Tweak"},"Structs/AnyTweak.html#/s:SH4hash4intoys6HasherVz_tF":{"name":"hash(into:)","parent_name":"AnyTweak"},"Structs/AnyTweak.html#/s:8Mixpanel8AnyTweakV12tweakClusterSayACGvp":{"name":"tweakCluster","abstract":"Allows easy tweak initialization by clustering tweaks together for A/B Testing","parent_name":"AnyTweak"},"Structs/AnyTweak.html":{"name":"AnyTweak","abstract":"A type-erasure around Tweak for A/B Testing."},"Structs/Tweak.html":{"name":"Tweak","abstract":"Tweaks let you adjust things on the fly."},"Structs/MixpanelTweaks.html":{"name":"MixpanelTweaks","abstract":"The MixpanelTweaks struct that needs to be extended to define new Tweaks for A/B testing"},"Protocols/TweakableType.html#/s:8Mixpanel13TweakableTypeP013tweakViewDataC0AA05TweakefC0OvpZ":{"name":"tweakViewDataType","abstract":"The data type of the TweakableType","parent_name":"TweakableType"},"Protocols/TweakLibraryType.html#/s:8Mixpanel16TweakLibraryTypeP12defaultStoreAA0bF0CvpZ":{"name":"defaultStore","abstract":"the default tweak store","parent_name":"TweakLibraryType"},"Protocols/TweakLibraryType.html#/s:8Mixpanel16TweakLibraryTypePAAE6assignyqd__AA0B0Vyqd__GAA09TweakableD0Rd__lFZ":{"name":"assign(_:)","abstract":"Returns the current value for a tweak from the TweakLibrary’s default store.","parent_name":"TweakLibraryType"},"Protocols/TweakLibraryType.html#/s:8Mixpanel16TweakLibraryTypePAAE4bind_7bindingyAA0B0Vyqd__G_yqd__ctAA09TweakableD0Rd__lFZ":{"name":"bind(_:binding:)","abstract":"Immediately binds the currentValue of a given tweak, and then continues to update whenever the tweak changes.","parent_name":"TweakLibraryType"},"Protocols/TweakClusterType.html#/s:8Mixpanel16TweakClusterTypeP05tweakC0SayAA03AnyB0VGvp":{"name":"tweakCluster","abstract":"The tweak cluster to allow easy initialization of Tweaks","parent_name":"TweakClusterType"},"Protocols/MixpanelType.html#/s:8Mixpanel0A4TypeP013isValidNestedB8AndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"Checks if this object has nested object types that Mixpanel supports.","parent_name":"MixpanelType"},"Protocols/MixpanelType.html#/s:8Mixpanel0A4TypeP6equals3rhsSbAaB_p_tF":{"name":"equals(rhs:)","abstract":"Undocumented","parent_name":"MixpanelType"},"Protocols/MixpanelDelegate.html#/s:8Mixpanel0A8DelegateP17mixpanelWillFlushySbAA0A8InstanceCF":{"name":"mixpanelWillFlush(_:)","abstract":"Asks the delegate if data should be uploaded to the server.","parent_name":"MixpanelDelegate"},"Protocols/MixpanelDelegate.html":{"name":"MixpanelDelegate","abstract":"Delegate protocol for controlling the Mixpanel API’s network behavior."},"Protocols/MixpanelType.html":{"name":"MixpanelType","abstract":"Property keys must be String objects and the supported value types need to conform to MixpanelType."},"Protocols/TweakClusterType.html":{"name":"TweakClusterType","abstract":"This protocol allows for easy initialization of TweakStore."},"Protocols/TweakLibraryType.html":{"name":"TweakLibraryType","abstract":"Create a public struct in your application that conforms to this protocol to declare your own tweaks!"},"Protocols/TweakableType.html":{"name":"TweakableType","abstract":"To add a new to our Tweak, make T conform to this protocol."},"Functions.html#/s:8Mixpanel2eeoiySbAA8AnyTweakV_ADtF":{"name":"==(_:_:)","abstract":"Comparator between two tweaks for A/B Testing."},"Functions.html#/s:8Mixpanel2eeoiySbAA5TweakVyxG_AEtAA13TweakableTypeRzlF":{"name":"==(_:_:)","abstract":"Comparator between two tweaks for A/B Testing."},"Extensions/CGFloat.html#/s:12CoreGraphics7CGFloatV8MixpanelE17tweakViewDataTypeAD05TweakfgH0OvpZ":{"name":"tweakViewDataType","abstract":"TweakableType supports the cgFloat type","parent_name":"CGFloat"},"Extensions/Dictionary.html#/s:SD8MixpanelE25isValidNestedTypeAndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"Checks if this object has nested object types that Mixpanel supports.","parent_name":"Dictionary"},"Extensions/Dictionary.html#/s:SD8MixpanelE6equals3rhsSbAA0A4Type_p_tF":{"name":"equals(rhs:)","abstract":"Undocumented","parent_name":"Dictionary"},"Extensions/NSArray.html#/s:So7NSArrayC8MixpanelE25isValidNestedTypeAndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"Checks if this object has nested object types that Mixpanel supports.","parent_name":"NSArray"},"Extensions/NSArray.html#/s:So7NSArrayC8MixpanelE6equals3rhsSbAC0B4Type_p_tF":{"name":"equals(rhs:)","abstract":"Undocumented","parent_name":"NSArray"},"Extensions/NSNull.html#/s:So6NSNullC8MixpanelE25isValidNestedTypeAndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"Checks if this object has nested object types that Mixpanel supports.","parent_name":"NSNull"},"Extensions/NSNull.html#/s:So6NSNullC8MixpanelE6equals3rhsSbAC0B4Type_p_tF":{"name":"equals(rhs:)","abstract":"Undocumented","parent_name":"NSNull"},"Extensions/URL.html#/s:10Foundation3URLV8MixpanelE25isValidNestedTypeAndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"Checks if this object has nested object types that Mixpanel supports.","parent_name":"URL"},"Extensions/URL.html#/s:10Foundation3URLV8MixpanelE6equals3rhsSbAD0C4Type_p_tF":{"name":"equals(rhs:)","abstract":"Undocumented","parent_name":"URL"},"Extensions/Date.html#/s:10Foundation4DateV8MixpanelE25isValidNestedTypeAndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"Checks if this object has nested object types that Mixpanel supports.","parent_name":"Date"},"Extensions/Date.html#/s:10Foundation4DateV8MixpanelE6equals3rhsSbAD0C4Type_p_tF":{"name":"equals(rhs:)","abstract":"Undocumented","parent_name":"Date"},"Extensions/Bool.html#/s:Sb8MixpanelE25isValidNestedTypeAndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"Checks if this object has nested object types that Mixpanel supports.","parent_name":"Bool"},"Extensions/Bool.html#/s:Sb8MixpanelE6equals3rhsSbAA0A4Type_p_tF":{"name":"equals(rhs:)","abstract":"Undocumented","parent_name":"Bool"},"Extensions/Bool.html#/s:Sb8MixpanelE17tweakViewDataTypeAA05TweakcdE0OvpZ":{"name":"tweakViewDataType","abstract":"TweakableType supports the boolean type","parent_name":"Bool"},"Extensions/Float.html#/s:Sf8MixpanelE25isValidNestedTypeAndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"Checks if this object has nested object types that Mixpanel supports.","parent_name":"Float"},"Extensions/Float.html#/s:Sf8MixpanelE6equals3rhsSbAA0A4Type_p_tF":{"name":"equals(rhs:)","abstract":"Undocumented","parent_name":"Float"},"Extensions/Double.html#/s:Sd8MixpanelE25isValidNestedTypeAndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"Checks if this object has nested object types that Mixpanel supports.","parent_name":"Double"},"Extensions/Double.html#/s:Sd8MixpanelE6equals3rhsSbAA0A4Type_p_tF":{"name":"equals(rhs:)","abstract":"Undocumented","parent_name":"Double"},"Extensions/Double.html#/s:Sd8MixpanelE17tweakViewDataTypeAA05TweakcdE0OvpZ":{"name":"tweakViewDataType","abstract":"TweakableType supports the double type","parent_name":"Double"},"Extensions/UInt.html#/s:Su8MixpanelE25isValidNestedTypeAndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"Checks if this object has nested object types that Mixpanel supports.","parent_name":"UInt"},"Extensions/UInt.html#/s:Su8MixpanelE6equals3rhsSbAA0A4Type_p_tF":{"name":"equals(rhs:)","abstract":"Undocumented","parent_name":"UInt"},"Extensions/Int.html#/s:Si8MixpanelE25isValidNestedTypeAndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"Checks if this object has nested object types that Mixpanel supports.","parent_name":"Int"},"Extensions/Int.html#/s:Si8MixpanelE6equals3rhsSbAA0A4Type_p_tF":{"name":"equals(rhs:)","abstract":"Undocumented","parent_name":"Int"},"Extensions/Int.html#/s:Si8MixpanelE17tweakViewDataTypeAA05TweakcdE0OvpZ":{"name":"tweakViewDataType","abstract":"TweakableType supports the integer type","parent_name":"Int"},"Extensions/NSNumber.html#/s:So8NSNumberC8MixpanelE25isValidNestedTypeAndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"Checks if this object has nested object types that Mixpanel supports.","parent_name":"NSNumber"},"Extensions/NSNumber.html#/s:So8NSNumberC8MixpanelE6equals3rhsSbAC0B4Type_p_tF":{"name":"equals(rhs:)","abstract":"Undocumented","parent_name":"NSNumber"},"Extensions/NSString.html#/s:So8NSStringC8MixpanelE25isValidNestedTypeAndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"Checks if this object has nested object types that Mixpanel supports.","parent_name":"NSString"},"Extensions/NSString.html#/s:So8NSStringC8MixpanelE6equals3rhsSbAC0B4Type_p_tF":{"name":"equals(rhs:)","abstract":"Undocumented","parent_name":"NSString"},"Extensions/String.html#/s:SS8MixpanelE25isValidNestedTypeAndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"Checks if this object has nested object types that Mixpanel supports.","parent_name":"String"},"Extensions/String.html#/s:SS8MixpanelE6equals3rhsSbAA0A4Type_p_tF":{"name":"equals(rhs:)","abstract":"Undocumented","parent_name":"String"},"Extensions/String.html#/s:SS8MixpanelE17tweakViewDataTypeAA05TweakcdE0OvpZ":{"name":"tweakViewDataType","abstract":"TweakableType supports the string type","parent_name":"String"},"Extensions/Optional.html#/s:Sq8MixpanelE25isValidNestedTypeAndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"Checks if this object has nested object types that Mixpanel supports.","parent_name":"Optional"},"Extensions/Optional.html#/s:Sq8MixpanelE6equals3rhsSbAA0A4Type_p_tF":{"name":"equals(rhs:)","abstract":"Undocumented","parent_name":"Optional"},"Extensions/Array.html#/s:Sa8MixpanelE25isValidNestedTypeAndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"Checks if this object has nested object types that Mixpanel supports.","parent_name":"Array"},"Extensions/Array.html#/s:Sa8MixpanelE6equals3rhsSbAA0A4Type_p_tF":{"name":"equals(rhs:)","abstract":"Undocumented","parent_name":"Array"},"Extensions/UIColor.html#/s:So7UIColorC8MixpanelE5MPHexABSu_tcfc":{"name":"init(MPHex:)","abstract":"The shorthand four-digit hexadecimal representation of color with alpha.","parent_name":"UIColor"},"Extensions/UIColor.html":{"name":"UIColor"},"Extensions/Array.html":{"name":"Array"},"Extensions/Optional.html":{"name":"Optional"},"Extensions/String.html":{"name":"String"},"Extensions/NSString.html":{"name":"NSString"},"Extensions/NSNumber.html":{"name":"NSNumber"},"Extensions/Int.html":{"name":"Int"},"Extensions/UInt.html":{"name":"UInt"},"Extensions/Double.html":{"name":"Double"},"Extensions/Float.html":{"name":"Float"},"Extensions/Bool.html":{"name":"Bool"},"Extensions/Date.html":{"name":"Date"},"Extensions/URL.html":{"name":"URL"},"Extensions/NSNull.html":{"name":"NSNull"},"Extensions/NSArray.html":{"name":"NSArray"},"Extensions/Dictionary.html":{"name":"Dictionary"},"Extensions/CGFloat.html":{"name":"CGFloat"},"Enums/TweakViewDataType.html#/s:8Mixpanel17TweakViewDataTypeO7booleanyA2CmF":{"name":"boolean","abstract":"TweakableType supports the boolean type","parent_name":"TweakViewDataType"},"Enums/TweakViewDataType.html#/s:8Mixpanel17TweakViewDataTypeO7integeryA2CmF":{"name":"integer","abstract":"TweakableType supports the integer type","parent_name":"TweakViewDataType"},"Enums/TweakViewDataType.html#/s:8Mixpanel17TweakViewDataTypeO7cgFloatyA2CmF":{"name":"cgFloat","abstract":"TweakableType supports the cgFloat type","parent_name":"TweakViewDataType"},"Enums/TweakViewDataType.html#/s:8Mixpanel17TweakViewDataTypeO6doubleyA2CmF":{"name":"double","abstract":"TweakableType supports the double type","parent_name":"TweakViewDataType"},"Enums/TweakViewDataType.html#/s:8Mixpanel17TweakViewDataTypeO6stringyA2CmF":{"name":"string","abstract":"TweakableType supports the string type","parent_name":"TweakViewDataType"},"Enums/TweakViewDataType.html":{"name":"TweakViewDataType","abstract":"The data types that are currently supported for SwiftTweaks."},"Classes/MixpanelPushNotifications.html#/s:8Mixpanel0A17PushNotificationsC02isaB12NotificationySbSo21UNNotificationContentCFZ":{"name":"isMixpanelPushNotification(_:)","abstract":"Undocumented","parent_name":"MixpanelPushNotifications"},"Classes/MixpanelPushNotifications.html#/s:8Mixpanel0A17PushNotificationsC10trackEvent_10properties7requestySS_SDySSAA0A4Type_pGSo21UNNotificationRequestCtFZ":{"name":"trackEvent(_:properties:request:)","abstract":"Undocumented","parent_name":"MixpanelPushNotifications"},"Classes/People.html#/s:8Mixpanel6PeopleC10ignoreTimeSbvp":{"name":"ignoreTime","abstract":"controls the $ignore_time property in any subsequent MixpanelPeople operation.","parent_name":"People"},"Classes/People.html#/s:8Mixpanel6PeopleC18addPushDeviceTokenyy10Foundation4DataVF":{"name":"addPushDeviceToken(_:)","abstract":"Register the given device to receive push notifications.","parent_name":"People"},"Classes/People.html#/s:8Mixpanel6PeopleC25removeAllPushDeviceTokensyyF":{"name":"removeAllPushDeviceTokens()","abstract":"Unregister the given device to receive push notifications.","parent_name":"People"},"Classes/People.html#/s:8Mixpanel6PeopleC21removePushDeviceTokenyy10Foundation4DataVF":{"name":"removePushDeviceToken(_:)","abstract":"Unregister a specific device token from the ability to receive push notifications.","parent_name":"People"},"Classes/People.html#/s:8Mixpanel6PeopleC3set10propertiesySDySSAA0A4Type_pG_tF":{"name":"set(properties:)","abstract":"Set properties on the current user in Mixpanel People.","parent_name":"People"},"Classes/People.html#/s:8Mixpanel6PeopleC3set8property2toySS_AA0A4Type_ptF":{"name":"set(property:to:)","abstract":"Convenience method for setting a single property in Mixpanel People.","parent_name":"People"},"Classes/People.html#/s:8Mixpanel6PeopleC7setOnce10propertiesySDySSAA0A4Type_pG_tF":{"name":"setOnce(properties:)","abstract":"Set properties on the current user in Mixpanel People, but doesn’t overwrite if","parent_name":"People"},"Classes/People.html#/s:8Mixpanel6PeopleC5unset10propertiesySaySSG_tF":{"name":"unset(properties:)","abstract":"Remove a list of properties and their values from the current user’s profile","parent_name":"People"},"Classes/People.html#/s:8Mixpanel6PeopleC9increment10propertiesySDySSAA0A4Type_pG_tF":{"name":"increment(properties:)","abstract":"Increment the given numeric properties by the given values.","parent_name":"People"},"Classes/People.html#/s:8Mixpanel6PeopleC9increment8property2byySS_SdtF":{"name":"increment(property:by:)","abstract":"Convenience method for incrementing a single numeric property by the specified","parent_name":"People"},"Classes/People.html#/s:8Mixpanel6PeopleC6append10propertiesySDySSAA0A4Type_pG_tF":{"name":"append(properties:)","abstract":"Append values to list properties.","parent_name":"People"},"Classes/People.html#/s:8Mixpanel6PeopleC6remove10propertiesySDySSAA0A4Type_pG_tF":{"name":"remove(properties:)","abstract":"Removes list properties.","parent_name":"People"},"Classes/People.html#/s:8Mixpanel6PeopleC5union10propertiesySDySSAA0A4Type_pG_tF":{"name":"union(properties:)","abstract":"Union list properties.","parent_name":"People"},"Classes/People.html#/s:8Mixpanel6PeopleC11trackCharge6amount10propertiesySd_SDySSAA0A4Type_pGSgtF":{"name":"trackCharge(amount:properties:)","abstract":"Track money spent by the current user for revenue analytics and associate","parent_name":"People"},"Classes/People.html#/s:8Mixpanel6PeopleC12clearChargesyyF":{"name":"clearCharges()","abstract":"Delete current user’s revenue history.","parent_name":"People"},"Classes/People.html#/s:8Mixpanel6PeopleC10deleteUseryyF":{"name":"deleteUser()","abstract":"Delete current user’s record from Mixpanel People.","parent_name":"People"},"Classes/MixpanelNotificationServiceExtension.html#/c:@M@Mixpanel@objc(cs)MixpanelNotificationServiceExtension(im)didReceiveNotificationRequest:withContentHandler:":{"name":"didReceive(_:withContentHandler:)","abstract":"Undocumented","parent_name":"MixpanelNotificationServiceExtension"},"Classes/MixpanelNotificationServiceExtension.html#/c:@M@Mixpanel@objc(cs)MixpanelNotificationServiceExtension(im)serviceExtensionTimeWillExpire":{"name":"serviceExtensionTimeWillExpire()","abstract":"Undocumented","parent_name":"MixpanelNotificationServiceExtension"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC8apiTokenSSvp":{"name":"apiToken","abstract":"apiToken string that identifies the project to track data to","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC8delegateAA0A8Delegate_pSgvp":{"name":"delegate","abstract":"The a MixpanelDelegate object that gives control over Mixpanel network activity.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC10distinctIdSSvp":{"name":"distinctId","abstract":"distinctId string that uniquely identifies the current user.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC11anonymousIdSSSgvp":{"name":"anonymousId","abstract":"anonymousId string that uniquely identifies the device.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC6userIdSSSgvp":{"name":"userId","abstract":"userId string that identify is called with.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC22hadPersistedDistinctIdSbSgvp":{"name":"hadPersistedDistinctId","abstract":"hadPersistedDistinctId is a boolean value which specifies that the stored distinct_id","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC5aliasSSSgvp":{"name":"alias","abstract":"alias string that uniquely identifies the current user.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC6peopleAA6PeopleCSgvp":{"name":"people","abstract":"Accessor to the Mixpanel People API object.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC28showNetworkActivityIndicatorSbvp":{"name":"showNetworkActivityIndicator","abstract":"Controls whether to show spinning network activity indicator when flushing","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC27trackAutomaticEventsEnabledSbSgvp":{"name":"trackAutomaticEventsEnabled","abstract":"This allows enabling or disabling collecting common mobile events","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC13flushIntervalSdvp":{"name":"flushInterval","abstract":"Flush timer’s interval.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC17flushOnBackgroundSbvp":{"name":"flushOnBackground","abstract":"Control whether the library should flush data to Mixpanel when the app","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC26useIPAddressForGeoLocationSbvp":{"name":"useIPAddressForGeoLocation","abstract":"Controls whether to automatically send the client IP Address as part of","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC9serverURLSSvp":{"name":"serverURL","abstract":"The base URL used for Mixpanel API requests.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:s28CustomDebugStringConvertibleP16debugDescriptionSSvp":{"name":"debugDescription","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC14loggingEnabledSbvp":{"name":"loggingEnabled","abstract":"This allows enabling or disabling of all Mixpanel logs at run time.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC4nameSSvp":{"name":"name","abstract":"A unique identifier for this MixpanelInstance","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC29enableVisualEditorForCodelessSbvp":{"name":"enableVisualEditorForCodeless","abstract":"Controls whether to enable the visual editor for codeless on mixpanel.com","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC24checkForVariantsOnActiveSbvp":{"name":"checkForVariantsOnActive","abstract":"Controls whether to automatically check for A/B test variants for the","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC28checkForNotificationOnActiveSbvp":{"name":"checkForNotificationOnActive","abstract":"Controls whether to automatically check for notifications for the","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC24showNotificationOnActiveSbvp":{"name":"showNotificationOnActive","abstract":"Controls whether to automatically check for and show in-app notifications","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC32miniNotificationPresentationTimeSdvp":{"name":"miniNotificationPresentationTime","abstract":"Determines the time, in seconds, that a mini notification will remain on","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC22minimumSessionDurations6UInt64Vvp":{"name":"minimumSessionDuration","abstract":"The minimum session duration (ms) that is tracked in automatic events.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC22maximumSessionDurations6UInt64Vvp":{"name":"maximumSessionDuration","abstract":"The maximum session duration (ms) that is tracked in automatic events.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC8identify10distinctId9usePeople10completionySS_SbyycSgtF":{"name":"identify(distinctId:usePeople:completion:)","abstract":"Sets the distinct ID of the current user.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC11createAlias_10distinctId9usePeople10completionySS_SSSbyycSgtF":{"name":"createAlias(_:distinctId:usePeople:completion:)","abstract":"The alias method creates an alias which Mixpanel will use to remap one id to another.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC5reset10completionyyycSg_tF":{"name":"reset(completion:)","abstract":"Clears all stored properties including the distinct Id.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC7archiveyyF":{"name":"archive()","abstract":"Writes current project info including the distinct Id, super properties,","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/archive()":{"name":"archive()","abstract":"Writes current project info including the distinct Id, super properties,","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC5flush10completionyyycSg_tF":{"name":"flush(completion:)","abstract":"Uploads queued data to the Mixpanel server.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC5track5event10propertiesySSSg_SDySSAA0A4Type_pGSgtF":{"name":"track(event:properties:)","abstract":"Tracks an event with properties.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC15trackWithGroups5event10properties6groupsySSSg_SDySSAA0A4Type_pGSgAKtF":{"name":"trackWithGroups(event:properties:groups:)","abstract":"Tracks an event with properties and to specific groups.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC8getGroup8groupKey0E2IDAA0D0CSS_AA0A4Type_ptF":{"name":"getGroup(groupKey:groupID:)","abstract":"Undocumented","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC4time5eventySS_tF":{"name":"time(event:)","abstract":"Starts a timer that will be stopped and added as a property when a","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC16eventElapsedTime0C0SdSS_tF":{"name":"eventElapsedTime(event:)","abstract":"Retrieves the time elapsed for the named event since time(event:) was called.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC16clearTimedEventsyyF":{"name":"clearTimedEvents()","abstract":"Clears all current event timers.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC15clearTimedEvent5eventySS_tF":{"name":"clearTimedEvent(event:)","abstract":"Clears the event timer for the named event.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC22currentSuperPropertiesSDySSypGyF":{"name":"currentSuperProperties()","abstract":"Returns the currently set super properties.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC20clearSuperPropertiesyyF":{"name":"clearSuperProperties()","abstract":"Clears all currently set super properties.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC23registerSuperPropertiesyySDySSAA0A4Type_pGF":{"name":"registerSuperProperties(_:)","abstract":"Registers super properties, overwriting ones that have already been set.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC27registerSuperPropertiesOnce_12defaultValueySDySSAA0A4Type_pG_AaF_pSgtF":{"name":"registerSuperPropertiesOnce(_:defaultValue:)","abstract":"Registers super properties without overwriting ones that have already been set,","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC23unregisterSuperPropertyyySSF":{"name":"unregisterSuperProperty(_:)","abstract":"Removes a previously registered super property.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC8setGroup8groupKey0E2IDySS_AA0A4Type_ptF":{"name":"setGroup(groupKey:groupID:)","abstract":"Convenience method to set a single group the user belongs to.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC8setGroup8groupKey0E3IDsySS_SayAA0A4Type_pGtF":{"name":"setGroup(groupKey:groupIDs:)","abstract":"Set the groups this user belongs to.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC8addGroup8groupKey0E2IDySS_AA0A4Type_ptF":{"name":"addGroup(groupKey:groupID:)","abstract":"Add a group to this user’s membership for a particular group key","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC11removeGroup8groupKey0E2IDySS_AA0A4Type_ptF":{"name":"removeGroup(groupKey:groupID:)","abstract":"Remove a group from this user’s membership for a particular group key","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC14optOutTrackingyyF":{"name":"optOutTracking()","abstract":"Opt out tracking.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC13optInTracking10distinctId10propertiesySSSg_SDySSAA0A4Type_pGSgtF":{"name":"optInTracking(distinctId:properties:)","abstract":"Opt in tracking.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC19hasOptedOutTrackingSbyF":{"name":"hasOptedOutTracking()","abstract":"Returns if the current user has opted out tracking.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC15joinExperiments8callbackyyycSg_tF":{"name":"joinExperiments(callback:)","abstract":"Join any experiments (A/B tests) that are available for the current user.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC16showNotificationyyF":{"name":"showNotification()","abstract":"Shows a notification if one is available.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC16showNotification4typeySS_tF":{"name":"showNotification(type:)","abstract":"Shows a notification with the given type if one is available.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC16showNotification2IDySi_tF":{"name":"showNotification(ID:)","abstract":"Shows a notification with the given ID","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC24fetchNotificationPayload10completionyySDySSyXlGSgc_tF":{"name":"fetchNotificationPayload(completion:)","abstract":"Returns the payload of a notification if available","parent_name":"MixpanelInstance"},"Classes/Mixpanel.html#/s:8MixpanelAAC10initialize5token13launchOptions13flushInterval12instanceName21automaticPushTracking06optOutL9ByDefaultAA0A8InstanceCSS_SDySo019UIApplicationLaunchE3KeyaypGSgSdSSS2btFZ":{"name":"initialize(token:launchOptions:flushInterval:instanceName:automaticPushTracking:optOutTrackingByDefault:)","abstract":"Initializes an instance of the API with the given project token.","parent_name":"Mixpanel"},"Classes/Mixpanel.html#/initialize(token:flushInterval:instanceName:optOutTrackingByDefault:)":{"name":"initialize(token:flushInterval:instanceName:optOutTrackingByDefault:)","abstract":"Initializes an instance of the API with the given project token (MAC OS ONLY).","parent_name":"Mixpanel"},"Classes/Mixpanel.html#/s:8MixpanelAAC11getInstance4nameAA0aC0CSgSS_tFZ":{"name":"getInstance(name:)","abstract":"Gets the mixpanel instance with the given name","parent_name":"Mixpanel"},"Classes/Mixpanel.html#/s:8MixpanelAAC12mainInstanceAA0aC0CyFZ":{"name":"mainInstance()","abstract":"Returns the main instance that was initialized.","parent_name":"Mixpanel"},"Classes/Mixpanel.html#/s:8MixpanelAAC15setMainInstance4nameySS_tFZ":{"name":"setMainInstance(name:)","abstract":"Sets the main instance based on the instance name","parent_name":"Mixpanel"},"Classes/Mixpanel.html#/s:8MixpanelAAC14removeInstance4nameySS_tFZ":{"name":"removeInstance(name:)","abstract":"Removes an unneeded Mixpanel instance based on its name","parent_name":"Mixpanel"},"Classes/Group.html#/s:8Mixpanel5GroupC3set10propertiesySDySSAA0A4Type_pG_tF":{"name":"set(properties:)","abstract":"Sets properties on this group.","parent_name":"Group"},"Classes/Group.html#/s:8Mixpanel5GroupC3set8property2toySS_AA0A4Type_ptF":{"name":"set(property:to:)","abstract":"Convenience method for setting a single property in Mixpanel Groups.","parent_name":"Group"},"Classes/Group.html#/s:8Mixpanel5GroupC7setOnce10propertiesySDySSAA0A4Type_pG_tF":{"name":"setOnce(properties:)","abstract":"Sets properties on the current Mixpanel Group, but doesn’t overwrite if","parent_name":"Group"},"Classes/Group.html#/s:8Mixpanel5GroupC5unset8propertyySS_tF":{"name":"unset(property:)","abstract":"Remove a property and its value from a group’s profile in Mixpanel Groups.","parent_name":"Group"},"Classes/Group.html#/s:8Mixpanel5GroupC6remove3key5valueySS_AA0A4Type_ptF":{"name":"remove(key:value:)","abstract":"Removes list properties.","parent_name":"Group"},"Classes/Group.html#/s:8Mixpanel5GroupC5union3key6valuesySS_SayAA0A4Type_pGtF":{"name":"union(key:values:)","abstract":"Union list properties.","parent_name":"Group"},"Classes/Group.html#/s:8Mixpanel5GroupC06deleteB0yyF":{"name":"deleteGroup()","abstract":"Delete group’s record from Mixpanel Groups.","parent_name":"Group"},"Classes/Group.html":{"name":"Group","abstract":"Access to the Mixpanel Groups API, available through the getGroup function from"},"Classes/Mixpanel.html":{"name":"Mixpanel","abstract":"The primary class for integrating Mixpanel with your app."},"Classes/MixpanelInstance.html":{"name":"MixpanelInstance","abstract":"The class that represents the Mixpanel Instance"},"Classes/MixpanelNotificationServiceExtension.html":{"name":"MixpanelNotificationServiceExtension","abstract":"Undocumented"},"Classes/People.html":{"name":"People","abstract":"Access to the Mixpanel People API, available as an accessible variable from"},"Classes/MixpanelPushNotifications.html":{"name":"MixpanelPushNotifications","abstract":"Undocumented"},"Classes.html#/s:8Mixpanel10TweakStoreC":{"name":"TweakStore","abstract":"Looks up the persisted state for tweaks."},"Classes.html":{"name":"Classes","abstract":"The following classes are available globally."},"Enums.html":{"name":"Enumerations","abstract":"The following enumerations are available globally."},"Extensions.html":{"name":"Extensions","abstract":"The following extensions are available globally."},"Functions.html":{"name":"Functions","abstract":"The following functions are available globally."},"Protocols.html":{"name":"Protocols","abstract":"The following protocols are available globally."},"Structs.html":{"name":"Structures","abstract":"The following structures are available globally."},"Typealiases.html":{"name":"Type Aliases","abstract":"The following type aliases are available globally."}} \ No newline at end of file diff --git a/docs/docsets/Mixpanel.docset/Contents/Resources/docSet.dsidx b/docs/docsets/Mixpanel.docset/Contents/Resources/docSet.dsidx index 527a2f16..360cfdea 100644 Binary files a/docs/docsets/Mixpanel.docset/Contents/Resources/docSet.dsidx and b/docs/docsets/Mixpanel.docset/Contents/Resources/docSet.dsidx differ diff --git a/docs/docsets/Mixpanel.tgz b/docs/docsets/Mixpanel.tgz index d376333f..8b9cbd2e 100644 Binary files a/docs/docsets/Mixpanel.tgz and b/docs/docsets/Mixpanel.tgz differ diff --git a/docs/index.html b/docs/index.html index 3fbf72db..e8aa8cd9 100644 --- a/docs/index.html +++ b/docs/index.html @@ -16,7 +16,7 @@ - Mixpanel 2.10.2 Docs (87% documented) + Mixpanel 2.10.3 Docs (87% documented) View on GitHub @@ -188,8 +188,7 @@ - - + @@ -201,196 +200,152 @@ Table of Contents -Introduction +Overview +Quick Start Guide -Current supported features - -Installation - - -CocoaPods -Carthage -Manual Installation - -Initializing and Usage - - -Integrate -Start tracking +Install Mixpanel +Initialize Mixpanel +Send Data +Check for Success +Complete Code Example +FAQ +I want to know more! -Introduction +Overview Welcome to the official Mixpanel Swift Library -The Mixpanel Swift library for iOS is an open-source project, and we’d love to see your contributions! +The Mixpanel Swift library for iOS is an open-source project, and we’d love to see your contributions! We’d also love for you to come and work with us! Check out Jobs for details. If you are using Objective-C, we recommend using our Objective-C Library. - -Current supported features - -Our master branch and our releases are now on Swift 5. - -If you wish to use our Swift 4.2 implementation, please point to the v2.6.1 release. For Swift 4/4.1 implementation, please point to the v2.4.5 release. For Swift 3 implementation, please point to the v2.2.3 release. For Swift 2.3 implementation, please point to the v1.0.1 release. +Check out our Advanced iOS Swift Guide for additional advanced configurations and use cases, like setting up your project with European Union data storage. +Quick Start Guide -Our Swift library fully supports all of the Mixpanel features and has full parity with the Objective-C Library. +Our master branch and our releases are on Swift 5. If you wish to use our Swift 4.2 implementation, please point to the v2.6.1 release. For Swift 4/4.1 implementation, please point to the v2.4.5 release. For Swift 3 implementation, please point to the v2.2.3 release. +1. Install Mixpanel - -Installation +You will need your project token for initializing your library. You can get your project token from project settings. +Installation Option 1: Swift Package Manager -On Jan 1, 2022, we’ll remove the Messages & Experiments feature from Mixpanel. For now, you can choose to opt in to our beta version without Messages & Experiments feature support. You can use Swift Package Manager to install the beta version: +The easiest way to get Mixpanel into your iOS project is to use Swift Package Manager(requires Xcode 12+). In Xcode, select File > Swift Packages > Add Package Dependency. -Follow the prompts using the URL for this repository and point to the branch 3.0.0.beta +Follow the prompts using the Github URL for Mixpanel Swift library and a minimum semantic version of v2.8.0. -Swift Package Manager -It requires Xcode 12+ and v2.8.0+ release - -Important: It only supports for iOS, if you need integrations for other platforms(tvOS or macOS), please use other integration methods instead or use our beta version by pointing to the branch 3.0.0.beta +On Jan 1, 2022, we’ll remove the Messages & Experiments feature from Mixpanel. For now, you can choose to opt in to our beta version without Messages & Experiments feature support. You can use Swift Package Manager to point to the branch 3.0.0.beta +Installation Option 2: CocoaPods -In Xcode, select File > Swift Packages > Add Package Dependency. -Follow the prompts using the URL for this repository and a minimum semantic version of v2.8.0 +If this is your first time using CocoaPods, Install CocoaPods using gem install cocoapods. Otherwise, continue to Step 3. +Run pod setup to create a local CocoaPods spec mirror. +Create a Podfile in your Xcode project directory by running pod init in your terminal, edit the Podfile generated, and add the following line: pod 'Mixpanel-swift'. +Run pod install in your Xcode project directory. CocoaPods should download and install the Mixpanel library, and create a new Xcode workspace. Open up this workspace in Xcode or typing open *.xcworkspace in your terminal. +Installation Option 3: Carthage -Check out our swift integration guide » for more info. -CocoaPods - -Our current release only supports CocoaPods version 1.4.0+ - -Mixpanel supports CocoaPods for easy installation. -To Install, see our swift integration guide » - -For iOS, tvOS, macOS, and App Extension integrations: - -pod 'Mixpanel-swift' - - -Carthage - -Mixpanel also supports Carthage to package your dependencies as a framework. Include the following dependency in your Cartfile: - -github "mixpanel/mixpanel-swift" - -Check out the Carthage docs » for more info. +Mixpanel supports Carthage to package your dependencies as a framework. Include the following dependency in your Cartfile: +github "mixpanel/mixpanel-swift" + - -Manual Installation +Check out the Carthage docs for more info. +2. Initialize Mixpanel -To help users stay up to date with the latest version of our Swift SDK, we always recommend integrating our SDK via CocoaPods, which simplifies version updates and dependency management. However, there are cases where users can’t use CocoaPods. Not to worry, just follow these manual installation steps and you’ll be all set. -Step 1: Add as a Submodule +Import Mixpanel into AppDelegate.swift, and initialize Mixpanel within application:didFinishLaunchingWithOptions: +import Mixpanel -Add Mixpanel as a submodule to your local git repo like so: -git submodule add git@github.com:mixpanel/mixpanel-swift.git +func application(_ application: UIApplication, + didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool { + ... + Mixpanel.initialize(token: "MIXPANEL_TOKEN") + ... +} -Now the Mixpanel project and its files should be in your project folder! -Step 2: Drag Mixpanel to your project +See all configuration options +3. Send Data -Drag the Mixpanel.xcodeproj inside your sample project under the main sample project file: - - -Step 3: Embed the framework +Let’s get started by sending event data. You can send an event from anywhere in your application. Better understand user behavior by storing details that are specific to the event (properties). After initializing the library, Mixpanel will automatically collect common mobile events. You can enable/disable automatic collection through your project settings. Also, Mixpanel automatically tracks some properties by default. learn more +Mixpanel.mainInstance().track(event: "Sign Up", properties: [ + "source": "Pat's affiliate site", + "Opted out of email": true +]) + -Select your app .xcodeproj file. Under “General”, add the Mixpanel framework as an embedded binary: +In addition to event data, you can also send user profile data. We recommend this after completing the quickstart guide. +4. Check for Success - +Open up Live View in Mixpanel to view incoming events. - -Initializing and Usage +Once data hits our API, it generally takes ~60 seconds for it to be processed, stored, and queryable in your project. +Complete Code Example - -Integrate +Here’s a runnable code example that covers everything in this quickstart guide. +import Mixpanel -Import Mixpanel into AppDelegate.swift, and initialize Mixpanel within application:didFinishLaunchingWithOptions: - -func application(_ application: UIApplication, +func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool { + ... Mixpanel.initialize(token: "MIXPANEL_TOKEN") + Mixpanel.mainInstance().track(event: "Sign Up", properties: [ + "source": "Pat's affiliate site", + "Opted out of email": true + ]) + ... } +FAQ -You initialize your Mixpanel instance with the token provided to you on mixpanel.com. - - -Start tracking - -After installing the library into your iOS app, Mixpanel will automatically collect common mobile events. You can enable/ disable automatic collection through your project settings. - -To interact with the instance and track additional events, you can either use the mixpanel instance given when initializing: -mixpanel.track(event: "Tracked Event!") - +I want to stop tracking an event/event property in Mixpanel. Is that possible? -or you can directly fetch the instance and use it from the Mixpanel object: -Mixpanel.mainInstance().track(event: "Tracked Event!") - +Yes, in Lexicon, you can intercept and drop incoming events or properties. Mixpanel won’t store any new data for the event or property you select to drop. See this article for more information. -You’re done! You’ve successfully integrated the Mixpanel Swift SDK into your app. To stay up to speed on important SDK releases and updates, star or watch our repository on Github. +I have a test user I would like to opt out of tracking. How do I do that? -Have any questions? Reach out to support@mixpanel.com to speak to someone smart, quickly. -Using Mixpanel Push Notifications +Mixpanel’s client-side tracking library contains the optOutTracking() method, which will set the user’s local opt-out state to “true” and will prevent data from being sent from a user’s device. More detailed instructions can be found in the section, Opting users out of tracking. -First enable Mixpanel push notifications in your app. Then for Rich Push Notifications, you’ll need to integrate your application with the MixpanelNotificationServiceExtension. -Integrating the MixpanelNotificationServiceExtension +Why aren’t my events showing up? -The Mixpanel SDK comes with a custom Notification Service Extension used to render rich media, custom action buttons, and track when push notifications are received. To enable these features, you will need to integrate it into your application. -1. Create a new Notification Service Extension Target +To preserve battery life and customer bandwidth, the Mixpanel library doesn’t send the events you record immediately. Instead, it sends batches to the Mixpanel servers every 60 seconds while your application is running, as well as when the application transitions to the background. You can call flush() manually if you want to force a flush at a particular moment. +Mixpanel.mainInstance().flush() + - - - -2. Add Mixpanel-swift as a dependency +If your events are still not showing up after 60 seconds, check if you have opted out of tracking. You can also enable Mixpanel debugging and logging, it allows you to see the debug output from the Mixpanel library. To enable it, set loggingEnabled to true. +Mixpanel.mainInstance().loggingEnabled = true + -Add the following to the end of your Podfile: -target 'NotificationService' do - use_frameworks! +Starting with iOS 14.5, do I need to request the user’s permission through the AppTrackingTransparency framework to use Mixpanel? - pod 'Mixpanel-swift' -end - +No, Mixpanel does not use IDFA so it does not require user permission through the AppTrackingTransparency(ATT) framework. -Then run pod install -3. Extend your NotificationService from MixpanelNotificationServiceExtension +If I use Mixpanel, how do I answer app privacy questions for the App Store? -Replace the contents of your NotificationService.swift file with the following: -import Mixpanel +Please refer to our Apple App Developer Privacy Guidance +I want to know more! -class NotificationService: MixpanelNotificationServiceExtension {} - -4. Delegate the handling of the notification response to the Mixpanel SDK - -In your AppDelegate.swift file, you need to call MixpanelPushNotifications.handleResponse when a push notification response is received: -@available(iOS 10.0, *) -func userNotificationCenter(_ center: UNUserNotificationCenter, didReceive response: UNNotificationResponse, withCompletionHandler completionHandler: @escaping () -> Void) { - if MixpanelPushNotifications.isMixpanelPushNotification(response.notification.request.content) { - debugPrint("Handling Mixpanel push notification response...") - MixpanelPushNotifications.handleResponse(response: response, withCompletionHandler: completionHandler) - } else { - // not a Mixpanel push notification - debugPrint("Not a Mixpanel push notification.") - completionHandler() - } -} - +No worries, here are some links that you will find useful: -This will make sure the tap actions are appropriately handled (open URL, deeplink, etc) as well as track whether a notification was tapped or dismissed. -5. Run the app and send a test push notification from Mixpanel that includes an image or buttons + +Advanced iOS - Swift Guide +Sample app +Full API Reference + -That’s it! Your app should now be able to receive rich push notifications from Mixpanel. +Have any questions? Reach out to Mixpanel Support to speak to someone smart, quickly. - © 2021 Mixpanel. All rights reserved. (Last updated: 2021-06-11) + © 2021 Mixpanel. All rights reserved. (Last updated: 2021-08-13) Generated by jazzy ♪♫ v0.13.6, a Realm project. diff --git a/docs/search.json b/docs/search.json index 040a3460..dc8e93ad 100644 --- a/docs/search.json +++ b/docs/search.json @@ -1 +1 @@ -{"Typealiases.html#/s:8Mixpanel10Propertiesa":{"name":"Properties","abstract":"Undocumented"},"Structs/MixpanelTweaks.html#/s:8Mixpanel0A6TweaksV12defaultStoreAA05TweakD0CvpZ":{"name":"defaultStore","abstract":"The default store that holds the Tweaks","parent_name":"MixpanelTweaks"},"Structs/MixpanelTweaks.html#/s:8Mixpanel0A6TweaksV03setB06tweaksySayAA16TweakClusterType_pG_tFZ":{"name":"setTweaks(tweaks:)","abstract":"setTweaks needs to be called to add the defined Tweaks into the environment.","parent_name":"MixpanelTweaks"},"Structs/Tweak.html#/s:8Mixpanel5TweakV9tweakName12defaultValueACyxGSS_xtcfc":{"name":"init(tweakName:defaultValue:)","abstract":"Initializer for a Tweak for A/B Testing","parent_name":"Tweak"},"Structs/Tweak.html#/s:8Mixpanel5TweakV4hash4intoys6HasherVz_tF":{"name":"hash(into:)","abstract":"Hashing for a Tweak for A/B Testing in order for it to be stored.","parent_name":"Tweak"},"Structs/Tweak.html#/s:8Mixpanel16TweakClusterTypeP05tweakC0SayAA03AnyB0VGvp":{"name":"tweakCluster","parent_name":"Tweak"},"Structs/Tweak.html#/s:8Mixpanel5TweakVAASLRzs13SignedNumericRzrlE9tweakName12defaultValue3min3max8stepSizeACyxGSS_xxSgA2Ktcfc":{"name":"init(tweakName:defaultValue:min:max:stepSize:)","abstract":"Creates a Tweak where T: SignedNumberType","parent_name":"Tweak"},"Structs/AnyTweak.html#/s:SH4hash4intoys6HasherVz_tF":{"name":"hash(into:)","parent_name":"AnyTweak"},"Structs/AnyTweak.html#/s:8Mixpanel8AnyTweakV12tweakClusterSayACGvp":{"name":"tweakCluster","abstract":"Allows easy tweak initialization by clustering tweaks together for A/B Testing","parent_name":"AnyTweak"},"Structs/AnyTweak.html":{"name":"AnyTweak","abstract":"A type-erasure around Tweak for A/B Testing."},"Structs/Tweak.html":{"name":"Tweak","abstract":"Tweaks let you adjust things on the fly."},"Structs/MixpanelTweaks.html":{"name":"MixpanelTweaks","abstract":"The MixpanelTweaks struct that needs to be extended to define new Tweaks for A/B testing"},"Protocols/TweakableType.html#/s:8Mixpanel13TweakableTypeP013tweakViewDataC0AA05TweakefC0OvpZ":{"name":"tweakViewDataType","abstract":"The data type of the TweakableType","parent_name":"TweakableType"},"Protocols/TweakLibraryType.html#/s:8Mixpanel16TweakLibraryTypeP12defaultStoreAA0bF0CvpZ":{"name":"defaultStore","abstract":"the default tweak store","parent_name":"TweakLibraryType"},"Protocols/TweakLibraryType.html#/s:8Mixpanel16TweakLibraryTypePAAE6assignyqd__AA0B0Vyqd__GAA09TweakableD0Rd__lFZ":{"name":"assign(_:)","abstract":"Returns the current value for a tweak from the TweakLibrary’s default store.","parent_name":"TweakLibraryType"},"Protocols/TweakLibraryType.html#/s:8Mixpanel16TweakLibraryTypePAAE4bind_7bindingyAA0B0Vyqd__G_yqd__ctAA09TweakableD0Rd__lFZ":{"name":"bind(_:binding:)","abstract":"Immediately binds the currentValue of a given tweak, and then continues to update whenever the tweak changes.","parent_name":"TweakLibraryType"},"Protocols/TweakClusterType.html#/s:8Mixpanel16TweakClusterTypeP05tweakC0SayAA03AnyB0VGvp":{"name":"tweakCluster","abstract":"The tweak cluster to allow easy initialization of Tweaks","parent_name":"TweakClusterType"},"Protocols/MixpanelType.html#/s:8Mixpanel0A4TypeP013isValidNestedB8AndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"Checks if this object has nested object types that Mixpanel supports.","parent_name":"MixpanelType"},"Protocols/MixpanelType.html#/s:8Mixpanel0A4TypeP6equals3rhsSbAaB_p_tF":{"name":"equals(rhs:)","abstract":"Undocumented","parent_name":"MixpanelType"},"Protocols/MixpanelDelegate.html#/s:8Mixpanel0A8DelegateP17mixpanelWillFlushySbAA0A8InstanceCF":{"name":"mixpanelWillFlush(_:)","abstract":"Asks the delegate if data should be uploaded to the server.","parent_name":"MixpanelDelegate"},"Protocols/MixpanelDelegate.html":{"name":"MixpanelDelegate","abstract":"Delegate protocol for controlling the Mixpanel API’s network behavior."},"Protocols/MixpanelType.html":{"name":"MixpanelType","abstract":"Property keys must be String objects and the supported value types need to conform to MixpanelType."},"Protocols/TweakClusterType.html":{"name":"TweakClusterType","abstract":"This protocol allows for easy initialization of TweakStore."},"Protocols/TweakLibraryType.html":{"name":"TweakLibraryType","abstract":"Create a public struct in your application that conforms to this protocol to declare your own tweaks!"},"Protocols/TweakableType.html":{"name":"TweakableType","abstract":"To add a new to our Tweak, make T conform to this protocol."},"Functions.html#/s:8Mixpanel2eeoiySbAA8AnyTweakV_ADtF":{"name":"==(_:_:)","abstract":"Comparator between two tweaks for A/B Testing."},"Functions.html#/s:8Mixpanel2eeoiySbAA5TweakVyxG_AEtAA13TweakableTypeRzlF":{"name":"==(_:_:)","abstract":"Comparator between two tweaks for A/B Testing."},"Extensions/CGFloat.html#/s:12CoreGraphics7CGFloatV8MixpanelE17tweakViewDataTypeAD05TweakfgH0OvpZ":{"name":"tweakViewDataType","abstract":"TweakableType supports the cgFloat type","parent_name":"CGFloat"},"Extensions/Dictionary.html#/s:SD8MixpanelE25isValidNestedTypeAndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"Checks if this object has nested object types that Mixpanel supports.","parent_name":"Dictionary"},"Extensions/Dictionary.html#/s:SD8MixpanelE6equals3rhsSbAA0A4Type_p_tF":{"name":"equals(rhs:)","abstract":"Undocumented","parent_name":"Dictionary"},"Extensions/NSArray.html#/s:So7NSArrayC8MixpanelE25isValidNestedTypeAndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"Checks if this object has nested object types that Mixpanel supports.","parent_name":"NSArray"},"Extensions/NSArray.html#/s:So7NSArrayC8MixpanelE6equals3rhsSbAC0B4Type_p_tF":{"name":"equals(rhs:)","abstract":"Undocumented","parent_name":"NSArray"},"Extensions/NSNull.html#/s:So6NSNullC8MixpanelE25isValidNestedTypeAndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"Checks if this object has nested object types that Mixpanel supports.","parent_name":"NSNull"},"Extensions/NSNull.html#/s:So6NSNullC8MixpanelE6equals3rhsSbAC0B4Type_p_tF":{"name":"equals(rhs:)","abstract":"Undocumented","parent_name":"NSNull"},"Extensions/URL.html#/s:10Foundation3URLV8MixpanelE25isValidNestedTypeAndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"Checks if this object has nested object types that Mixpanel supports.","parent_name":"URL"},"Extensions/URL.html#/s:10Foundation3URLV8MixpanelE6equals3rhsSbAD0C4Type_p_tF":{"name":"equals(rhs:)","abstract":"Undocumented","parent_name":"URL"},"Extensions/Date.html#/s:10Foundation4DateV8MixpanelE25isValidNestedTypeAndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"Checks if this object has nested object types that Mixpanel supports.","parent_name":"Date"},"Extensions/Date.html#/s:10Foundation4DateV8MixpanelE6equals3rhsSbAD0C4Type_p_tF":{"name":"equals(rhs:)","abstract":"Undocumented","parent_name":"Date"},"Extensions/Bool.html#/s:Sb8MixpanelE25isValidNestedTypeAndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"Checks if this object has nested object types that Mixpanel supports.","parent_name":"Bool"},"Extensions/Bool.html#/s:Sb8MixpanelE6equals3rhsSbAA0A4Type_p_tF":{"name":"equals(rhs:)","abstract":"Undocumented","parent_name":"Bool"},"Extensions/Bool.html#/s:Sb8MixpanelE17tweakViewDataTypeAA05TweakcdE0OvpZ":{"name":"tweakViewDataType","abstract":"TweakableType supports the boolean type","parent_name":"Bool"},"Extensions/Float.html#/s:Sf8MixpanelE25isValidNestedTypeAndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"Checks if this object has nested object types that Mixpanel supports.","parent_name":"Float"},"Extensions/Float.html#/s:Sf8MixpanelE6equals3rhsSbAA0A4Type_p_tF":{"name":"equals(rhs:)","abstract":"Undocumented","parent_name":"Float"},"Extensions/Double.html#/s:Sd8MixpanelE25isValidNestedTypeAndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"Checks if this object has nested object types that Mixpanel supports.","parent_name":"Double"},"Extensions/Double.html#/s:Sd8MixpanelE6equals3rhsSbAA0A4Type_p_tF":{"name":"equals(rhs:)","abstract":"Undocumented","parent_name":"Double"},"Extensions/Double.html#/s:Sd8MixpanelE17tweakViewDataTypeAA05TweakcdE0OvpZ":{"name":"tweakViewDataType","abstract":"TweakableType supports the double type","parent_name":"Double"},"Extensions/UInt.html#/s:Su8MixpanelE25isValidNestedTypeAndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"Checks if this object has nested object types that Mixpanel supports.","parent_name":"UInt"},"Extensions/UInt.html#/s:Su8MixpanelE6equals3rhsSbAA0A4Type_p_tF":{"name":"equals(rhs:)","abstract":"Undocumented","parent_name":"UInt"},"Extensions/Int.html#/s:Si8MixpanelE25isValidNestedTypeAndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"Checks if this object has nested object types that Mixpanel supports.","parent_name":"Int"},"Extensions/Int.html#/s:Si8MixpanelE6equals3rhsSbAA0A4Type_p_tF":{"name":"equals(rhs:)","abstract":"Undocumented","parent_name":"Int"},"Extensions/Int.html#/s:Si8MixpanelE17tweakViewDataTypeAA05TweakcdE0OvpZ":{"name":"tweakViewDataType","abstract":"TweakableType supports the integer type","parent_name":"Int"},"Extensions/NSNumber.html#/s:So8NSNumberC8MixpanelE25isValidNestedTypeAndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"Checks if this object has nested object types that Mixpanel supports.","parent_name":"NSNumber"},"Extensions/NSNumber.html#/s:So8NSNumberC8MixpanelE6equals3rhsSbAC0B4Type_p_tF":{"name":"equals(rhs:)","abstract":"Undocumented","parent_name":"NSNumber"},"Extensions/NSString.html#/s:So8NSStringC8MixpanelE25isValidNestedTypeAndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"Checks if this object has nested object types that Mixpanel supports.","parent_name":"NSString"},"Extensions/NSString.html#/s:So8NSStringC8MixpanelE6equals3rhsSbAC0B4Type_p_tF":{"name":"equals(rhs:)","abstract":"Undocumented","parent_name":"NSString"},"Extensions/String.html#/s:SS8MixpanelE25isValidNestedTypeAndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"Checks if this object has nested object types that Mixpanel supports.","parent_name":"String"},"Extensions/String.html#/s:SS8MixpanelE6equals3rhsSbAA0A4Type_p_tF":{"name":"equals(rhs:)","abstract":"Undocumented","parent_name":"String"},"Extensions/String.html#/s:SS8MixpanelE17tweakViewDataTypeAA05TweakcdE0OvpZ":{"name":"tweakViewDataType","abstract":"TweakableType supports the string type","parent_name":"String"},"Extensions/Optional.html#/s:Sq8MixpanelE25isValidNestedTypeAndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"Checks if this object has nested object types that Mixpanel supports.","parent_name":"Optional"},"Extensions/Optional.html#/s:Sq8MixpanelE6equals3rhsSbAA0A4Type_p_tF":{"name":"equals(rhs:)","abstract":"Undocumented","parent_name":"Optional"},"Extensions/Array.html#/s:Sa8MixpanelE25isValidNestedTypeAndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"Checks if this object has nested object types that Mixpanel supports.","parent_name":"Array"},"Extensions/Array.html#/s:Sa8MixpanelE6equals3rhsSbAA0A4Type_p_tF":{"name":"equals(rhs:)","abstract":"Undocumented","parent_name":"Array"},"Extensions/UIColor.html#/s:So7UIColorC8MixpanelE5MPHexABSu_tcfc":{"name":"init(MPHex:)","abstract":"The shorthand four-digit hexadecimal representation of color with alpha.","parent_name":"UIColor"},"Extensions/UIColor.html":{"name":"UIColor"},"Extensions/Array.html":{"name":"Array"},"Extensions/Optional.html":{"name":"Optional"},"Extensions/String.html":{"name":"String"},"Extensions/NSString.html":{"name":"NSString"},"Extensions/NSNumber.html":{"name":"NSNumber"},"Extensions/Int.html":{"name":"Int"},"Extensions/UInt.html":{"name":"UInt"},"Extensions/Double.html":{"name":"Double"},"Extensions/Float.html":{"name":"Float"},"Extensions/Bool.html":{"name":"Bool"},"Extensions/Date.html":{"name":"Date"},"Extensions/URL.html":{"name":"URL"},"Extensions/NSNull.html":{"name":"NSNull"},"Extensions/NSArray.html":{"name":"NSArray"},"Extensions/Dictionary.html":{"name":"Dictionary"},"Extensions/CGFloat.html":{"name":"CGFloat"},"Enums/TweakViewDataType.html#/s:8Mixpanel17TweakViewDataTypeO7booleanyA2CmF":{"name":"boolean","abstract":"TweakableType supports the boolean type","parent_name":"TweakViewDataType"},"Enums/TweakViewDataType.html#/s:8Mixpanel17TweakViewDataTypeO7integeryA2CmF":{"name":"integer","abstract":"TweakableType supports the integer type","parent_name":"TweakViewDataType"},"Enums/TweakViewDataType.html#/s:8Mixpanel17TweakViewDataTypeO7cgFloatyA2CmF":{"name":"cgFloat","abstract":"TweakableType supports the cgFloat type","parent_name":"TweakViewDataType"},"Enums/TweakViewDataType.html#/s:8Mixpanel17TweakViewDataTypeO6doubleyA2CmF":{"name":"double","abstract":"TweakableType supports the double type","parent_name":"TweakViewDataType"},"Enums/TweakViewDataType.html#/s:8Mixpanel17TweakViewDataTypeO6stringyA2CmF":{"name":"string","abstract":"TweakableType supports the string type","parent_name":"TweakViewDataType"},"Enums/TweakViewDataType.html":{"name":"TweakViewDataType","abstract":"The data types that are currently supported for SwiftTweaks."},"Classes/MixpanelPushNotifications.html#/s:8Mixpanel0A17PushNotificationsC02isaB12NotificationySbSo21UNNotificationContentCFZ":{"name":"isMixpanelPushNotification(_:)","abstract":"Undocumented","parent_name":"MixpanelPushNotifications"},"Classes/MixpanelPushNotifications.html#/s:8Mixpanel0A17PushNotificationsC10trackEvent_10properties7requestySS_SDySSAA0A4Type_pGSo21UNNotificationRequestCtFZ":{"name":"trackEvent(_:properties:request:)","abstract":"Undocumented","parent_name":"MixpanelPushNotifications"},"Classes/People.html#/s:8Mixpanel6PeopleC10ignoreTimeSbvp":{"name":"ignoreTime","abstract":"controls the $ignore_time property in any subsequent MixpanelPeople operation.","parent_name":"People"},"Classes/People.html#/s:8Mixpanel6PeopleC18addPushDeviceTokenyy10Foundation4DataVF":{"name":"addPushDeviceToken(_:)","abstract":"Register the given device to receive push notifications.","parent_name":"People"},"Classes/People.html#/s:8Mixpanel6PeopleC25removeAllPushDeviceTokensyyF":{"name":"removeAllPushDeviceTokens()","abstract":"Unregister the given device to receive push notifications.","parent_name":"People"},"Classes/People.html#/s:8Mixpanel6PeopleC21removePushDeviceTokenyy10Foundation4DataVF":{"name":"removePushDeviceToken(_:)","abstract":"Unregister a specific device token from the ability to receive push notifications.","parent_name":"People"},"Classes/People.html#/s:8Mixpanel6PeopleC3set10propertiesySDySSAA0A4Type_pG_tF":{"name":"set(properties:)","abstract":"Set properties on the current user in Mixpanel People.","parent_name":"People"},"Classes/People.html#/s:8Mixpanel6PeopleC3set8property2toySS_AA0A4Type_ptF":{"name":"set(property:to:)","abstract":"Convenience method for setting a single property in Mixpanel People.","parent_name":"People"},"Classes/People.html#/s:8Mixpanel6PeopleC7setOnce10propertiesySDySSAA0A4Type_pG_tF":{"name":"setOnce(properties:)","abstract":"Set properties on the current user in Mixpanel People, but doesn’t overwrite if","parent_name":"People"},"Classes/People.html#/s:8Mixpanel6PeopleC5unset10propertiesySaySSG_tF":{"name":"unset(properties:)","abstract":"Remove a list of properties and their values from the current user’s profile","parent_name":"People"},"Classes/People.html#/s:8Mixpanel6PeopleC9increment10propertiesySDySSAA0A4Type_pG_tF":{"name":"increment(properties:)","abstract":"Increment the given numeric properties by the given values.","parent_name":"People"},"Classes/People.html#/s:8Mixpanel6PeopleC9increment8property2byySS_SdtF":{"name":"increment(property:by:)","abstract":"Convenience method for incrementing a single numeric property by the specified","parent_name":"People"},"Classes/People.html#/s:8Mixpanel6PeopleC6append10propertiesySDySSAA0A4Type_pG_tF":{"name":"append(properties:)","abstract":"Append values to list properties.","parent_name":"People"},"Classes/People.html#/s:8Mixpanel6PeopleC6remove10propertiesySDySSAA0A4Type_pG_tF":{"name":"remove(properties:)","abstract":"Removes list properties.","parent_name":"People"},"Classes/People.html#/s:8Mixpanel6PeopleC5union10propertiesySDySSAA0A4Type_pG_tF":{"name":"union(properties:)","abstract":"Union list properties.","parent_name":"People"},"Classes/People.html#/s:8Mixpanel6PeopleC11trackCharge6amount10propertiesySd_SDySSAA0A4Type_pGSgtF":{"name":"trackCharge(amount:properties:)","abstract":"Track money spent by the current user for revenue analytics and associate","parent_name":"People"},"Classes/People.html#/s:8Mixpanel6PeopleC12clearChargesyyF":{"name":"clearCharges()","abstract":"Delete current user’s revenue history.","parent_name":"People"},"Classes/People.html#/s:8Mixpanel6PeopleC10deleteUseryyF":{"name":"deleteUser()","abstract":"Delete current user’s record from Mixpanel People.","parent_name":"People"},"Classes/MixpanelNotificationServiceExtension.html#/c:@M@Mixpanel@objc(cs)MixpanelNotificationServiceExtension(im)didReceiveNotificationRequest:withContentHandler:":{"name":"didReceive(_:withContentHandler:)","abstract":"Undocumented","parent_name":"MixpanelNotificationServiceExtension"},"Classes/MixpanelNotificationServiceExtension.html#/c:@M@Mixpanel@objc(cs)MixpanelNotificationServiceExtension(im)serviceExtensionTimeWillExpire":{"name":"serviceExtensionTimeWillExpire()","abstract":"Undocumented","parent_name":"MixpanelNotificationServiceExtension"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC8apiTokenSSvp":{"name":"apiToken","abstract":"apiToken string that identifies the project to track data to","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC8delegateAA0A8Delegate_pSgvp":{"name":"delegate","abstract":"The a MixpanelDelegate object that gives control over Mixpanel network activity.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC10distinctIdSSvp":{"name":"distinctId","abstract":"distinctId string that uniquely identifies the current user.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC11anonymousIdSSSgvp":{"name":"anonymousId","abstract":"anonymousId string that uniquely identifies the device.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC6userIdSSSgvp":{"name":"userId","abstract":"userId string that identify is called with.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC22hadPersistedDistinctIdSbSgvp":{"name":"hadPersistedDistinctId","abstract":"hadPersistedDistinctId is a boolean value which specifies that the stored distinct_id","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC5aliasSSSgvp":{"name":"alias","abstract":"alias string that uniquely identifies the current user.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC6peopleAA6PeopleCSgvp":{"name":"people","abstract":"Accessor to the Mixpanel People API object.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC28showNetworkActivityIndicatorSbvp":{"name":"showNetworkActivityIndicator","abstract":"Controls whether to show spinning network activity indicator when flushing","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC27trackAutomaticEventsEnabledSbSgvp":{"name":"trackAutomaticEventsEnabled","abstract":"This allows enabling or disabling collecting common mobile events","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC13flushIntervalSdvp":{"name":"flushInterval","abstract":"Flush timer’s interval.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC17flushOnBackgroundSbvp":{"name":"flushOnBackground","abstract":"Control whether the library should flush data to Mixpanel when the app","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC26useIPAddressForGeoLocationSbvp":{"name":"useIPAddressForGeoLocation","abstract":"Controls whether to automatically send the client IP Address as part of","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC9serverURLSSvp":{"name":"serverURL","abstract":"The base URL used for Mixpanel API requests.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:s28CustomDebugStringConvertibleP16debugDescriptionSSvp":{"name":"debugDescription","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC14loggingEnabledSbvp":{"name":"loggingEnabled","abstract":"This allows enabling or disabling of all Mixpanel logs at run time.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC4nameSSvp":{"name":"name","abstract":"A unique identifier for this MixpanelInstance","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC29enableVisualEditorForCodelessSbvp":{"name":"enableVisualEditorForCodeless","abstract":"Controls whether to enable the visual editor for codeless on mixpanel.com","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC24checkForVariantsOnActiveSbvp":{"name":"checkForVariantsOnActive","abstract":"Controls whether to automatically check for A/B test variants for the","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC28checkForNotificationOnActiveSbvp":{"name":"checkForNotificationOnActive","abstract":"Controls whether to automatically check for notifications for the","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC24showNotificationOnActiveSbvp":{"name":"showNotificationOnActive","abstract":"Controls whether to automatically check for and show in-app notifications","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC32miniNotificationPresentationTimeSdvp":{"name":"miniNotificationPresentationTime","abstract":"Determines the time, in seconds, that a mini notification will remain on","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC22minimumSessionDurations6UInt64Vvp":{"name":"minimumSessionDuration","abstract":"The minimum session duration (ms) that is tracked in automatic events.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC22maximumSessionDurations6UInt64Vvp":{"name":"maximumSessionDuration","abstract":"The maximum session duration (ms) that is tracked in automatic events.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC8identify10distinctId9usePeopleySS_SbtF":{"name":"identify(distinctId:usePeople:)","abstract":"Sets the distinct ID of the current user.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC11createAlias_10distinctId9usePeopleySS_SSSbtF":{"name":"createAlias(_:distinctId:usePeople:)","abstract":"The alias method creates an alias which Mixpanel will use to remap one id to another.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC5resetyyF":{"name":"reset()","abstract":"Clears all stored properties including the distinct Id.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC7archiveyyF":{"name":"archive()","abstract":"Writes current project info including the distinct Id, super properties,","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/archive()":{"name":"archive()","abstract":"Writes current project info including the distinct Id, super properties,","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC5flush10completionyyycSg_tF":{"name":"flush(completion:)","abstract":"Uploads queued data to the Mixpanel server.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC5track5event10propertiesySSSg_SDySSAA0A4Type_pGSgtF":{"name":"track(event:properties:)","abstract":"Tracks an event with properties.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC15trackWithGroups5event10properties6groupsySSSg_SDySSAA0A4Type_pGSgAKtF":{"name":"trackWithGroups(event:properties:groups:)","abstract":"Tracks an event with properties and to specific groups.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC8getGroup8groupKey0E2IDAA0D0CSS_AA0A4Type_ptF":{"name":"getGroup(groupKey:groupID:)","abstract":"Undocumented","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC4time5eventySS_tF":{"name":"time(event:)","abstract":"Starts a timer that will be stopped and added as a property when a","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC16eventElapsedTime0C0SdSS_tF":{"name":"eventElapsedTime(event:)","abstract":"Retrieves the time elapsed for the named event since time(event:) was called.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC16clearTimedEventsyyF":{"name":"clearTimedEvents()","abstract":"Clears all current event timers.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC15clearTimedEvent5eventySS_tF":{"name":"clearTimedEvent(event:)","abstract":"Clears the event timer for the named event.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC22currentSuperPropertiesSDySSypGyF":{"name":"currentSuperProperties()","abstract":"Returns the currently set super properties.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC20clearSuperPropertiesyyF":{"name":"clearSuperProperties()","abstract":"Clears all currently set super properties.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC23registerSuperPropertiesyySDySSAA0A4Type_pGF":{"name":"registerSuperProperties(_:)","abstract":"Registers super properties, overwriting ones that have already been set.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC27registerSuperPropertiesOnce_12defaultValueySDySSAA0A4Type_pG_AaF_pSgtF":{"name":"registerSuperPropertiesOnce(_:defaultValue:)","abstract":"Registers super properties without overwriting ones that have already been set,","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC23unregisterSuperPropertyyySSF":{"name":"unregisterSuperProperty(_:)","abstract":"Removes a previously registered super property.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC8setGroup8groupKey0E2IDySS_AA0A4Type_ptF":{"name":"setGroup(groupKey:groupID:)","abstract":"Convenience method to set a single group the user belongs to.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC8setGroup8groupKey0E3IDsySS_SayAA0A4Type_pGtF":{"name":"setGroup(groupKey:groupIDs:)","abstract":"Set the groups this user belongs to.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC8addGroup8groupKey0E2IDySS_AA0A4Type_ptF":{"name":"addGroup(groupKey:groupID:)","abstract":"Add a group to this user’s membership for a particular group key","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC11removeGroup8groupKey0E2IDySS_AA0A4Type_ptF":{"name":"removeGroup(groupKey:groupID:)","abstract":"Remove a group from this user’s membership for a particular group key","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC14optOutTrackingyyF":{"name":"optOutTracking()","abstract":"Opt out tracking.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC13optInTracking10distinctId10propertiesySSSg_SDySSAA0A4Type_pGSgtF":{"name":"optInTracking(distinctId:properties:)","abstract":"Opt in tracking.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC19hasOptedOutTrackingSbyF":{"name":"hasOptedOutTracking()","abstract":"Returns if the current user has opted out tracking.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC15joinExperiments8callbackyyycSg_tF":{"name":"joinExperiments(callback:)","abstract":"Join any experiments (A/B tests) that are available for the current user.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC16showNotificationyyF":{"name":"showNotification()","abstract":"Shows a notification if one is available.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC16showNotification4typeySS_tF":{"name":"showNotification(type:)","abstract":"Shows a notification with the given type if one is available.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC16showNotification2IDySi_tF":{"name":"showNotification(ID:)","abstract":"Shows a notification with the given ID","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC24fetchNotificationPayload10completionyySDySSyXlGSgc_tF":{"name":"fetchNotificationPayload(completion:)","abstract":"Returns the payload of a notification if available","parent_name":"MixpanelInstance"},"Classes/Mixpanel.html#/s:8MixpanelAAC10initialize5token13launchOptions13flushInterval12instanceName21automaticPushTracking06optOutL9ByDefaultAA0A8InstanceCSS_SDySo019UIApplicationLaunchE3KeyaypGSgSdSSS2btFZ":{"name":"initialize(token:launchOptions:flushInterval:instanceName:automaticPushTracking:optOutTrackingByDefault:)","abstract":"Initializes an instance of the API with the given project token.","parent_name":"Mixpanel"},"Classes/Mixpanel.html#/initialize(token:flushInterval:instanceName:optOutTrackingByDefault:)":{"name":"initialize(token:flushInterval:instanceName:optOutTrackingByDefault:)","abstract":"Initializes an instance of the API with the given project token (MAC OS ONLY).","parent_name":"Mixpanel"},"Classes/Mixpanel.html#/s:8MixpanelAAC11getInstance4nameAA0aC0CSgSS_tFZ":{"name":"getInstance(name:)","abstract":"Gets the mixpanel instance with the given name","parent_name":"Mixpanel"},"Classes/Mixpanel.html#/s:8MixpanelAAC12mainInstanceAA0aC0CyFZ":{"name":"mainInstance()","abstract":"Returns the main instance that was initialized.","parent_name":"Mixpanel"},"Classes/Mixpanel.html#/s:8MixpanelAAC15setMainInstance4nameySS_tFZ":{"name":"setMainInstance(name:)","abstract":"Sets the main instance based on the instance name","parent_name":"Mixpanel"},"Classes/Mixpanel.html#/s:8MixpanelAAC14removeInstance4nameySS_tFZ":{"name":"removeInstance(name:)","abstract":"Removes an unneeded Mixpanel instance based on its name","parent_name":"Mixpanel"},"Classes/Group.html#/s:8Mixpanel5GroupC3set10propertiesySDySSAA0A4Type_pG_tF":{"name":"set(properties:)","abstract":"Sets properties on this group.","parent_name":"Group"},"Classes/Group.html#/s:8Mixpanel5GroupC3set8property2toySS_AA0A4Type_ptF":{"name":"set(property:to:)","abstract":"Convenience method for setting a single property in Mixpanel Groups.","parent_name":"Group"},"Classes/Group.html#/s:8Mixpanel5GroupC7setOnce10propertiesySDySSAA0A4Type_pG_tF":{"name":"setOnce(properties:)","abstract":"Sets properties on the current Mixpanel Group, but doesn’t overwrite if","parent_name":"Group"},"Classes/Group.html#/s:8Mixpanel5GroupC5unset8propertyySS_tF":{"name":"unset(property:)","abstract":"Remove a property and its value from a group’s profile in Mixpanel Groups.","parent_name":"Group"},"Classes/Group.html#/s:8Mixpanel5GroupC6remove3key5valueySS_AA0A4Type_ptF":{"name":"remove(key:value:)","abstract":"Removes list properties.","parent_name":"Group"},"Classes/Group.html#/s:8Mixpanel5GroupC5union3key6valuesySS_SayAA0A4Type_pGtF":{"name":"union(key:values:)","abstract":"Union list properties.","parent_name":"Group"},"Classes/Group.html#/s:8Mixpanel5GroupC06deleteB0yyF":{"name":"deleteGroup()","abstract":"Delete group’s record from Mixpanel Groups.","parent_name":"Group"},"Classes/Group.html":{"name":"Group","abstract":"Access to the Mixpanel Groups API, available through the getGroup function from"},"Classes/Mixpanel.html":{"name":"Mixpanel","abstract":"The primary class for integrating Mixpanel with your app."},"Classes/MixpanelInstance.html":{"name":"MixpanelInstance","abstract":"The class that represents the Mixpanel Instance"},"Classes/MixpanelNotificationServiceExtension.html":{"name":"MixpanelNotificationServiceExtension","abstract":"Undocumented"},"Classes/People.html":{"name":"People","abstract":"Access to the Mixpanel People API, available as an accessible variable from"},"Classes/MixpanelPushNotifications.html":{"name":"MixpanelPushNotifications","abstract":"Undocumented"},"Classes.html#/s:8Mixpanel10TweakStoreC":{"name":"TweakStore","abstract":"Looks up the persisted state for tweaks."},"Classes.html":{"name":"Classes","abstract":"The following classes are available globally."},"Enums.html":{"name":"Enumerations","abstract":"The following enumerations are available globally."},"Extensions.html":{"name":"Extensions","abstract":"The following extensions are available globally."},"Functions.html":{"name":"Functions","abstract":"The following functions are available globally."},"Protocols.html":{"name":"Protocols","abstract":"The following protocols are available globally."},"Structs.html":{"name":"Structures","abstract":"The following structures are available globally."},"Typealiases.html":{"name":"Type Aliases","abstract":"The following type aliases are available globally."}} \ No newline at end of file +{"Typealiases.html#/s:8Mixpanel10Propertiesa":{"name":"Properties","abstract":"Undocumented"},"Structs/MixpanelTweaks.html#/s:8Mixpanel0A6TweaksV12defaultStoreAA05TweakD0CvpZ":{"name":"defaultStore","abstract":"The default store that holds the Tweaks","parent_name":"MixpanelTweaks"},"Structs/MixpanelTweaks.html#/s:8Mixpanel0A6TweaksV03setB06tweaksySayAA16TweakClusterType_pG_tFZ":{"name":"setTweaks(tweaks:)","abstract":"setTweaks needs to be called to add the defined Tweaks into the environment.","parent_name":"MixpanelTweaks"},"Structs/Tweak.html#/s:8Mixpanel5TweakV9tweakName12defaultValueACyxGSS_xtcfc":{"name":"init(tweakName:defaultValue:)","abstract":"Initializer for a Tweak for A/B Testing","parent_name":"Tweak"},"Structs/Tweak.html#/s:8Mixpanel5TweakV4hash4intoys6HasherVz_tF":{"name":"hash(into:)","abstract":"Hashing for a Tweak for A/B Testing in order for it to be stored.","parent_name":"Tweak"},"Structs/Tweak.html#/s:8Mixpanel16TweakClusterTypeP05tweakC0SayAA03AnyB0VGvp":{"name":"tweakCluster","parent_name":"Tweak"},"Structs/Tweak.html#/s:8Mixpanel5TweakVAASLRzs13SignedNumericRzrlE9tweakName12defaultValue3min3max8stepSizeACyxGSS_xxSgA2Ktcfc":{"name":"init(tweakName:defaultValue:min:max:stepSize:)","abstract":"Creates a Tweak where T: SignedNumberType","parent_name":"Tweak"},"Structs/AnyTweak.html#/s:SH4hash4intoys6HasherVz_tF":{"name":"hash(into:)","parent_name":"AnyTweak"},"Structs/AnyTweak.html#/s:8Mixpanel8AnyTweakV12tweakClusterSayACGvp":{"name":"tweakCluster","abstract":"Allows easy tweak initialization by clustering tweaks together for A/B Testing","parent_name":"AnyTweak"},"Structs/AnyTweak.html":{"name":"AnyTweak","abstract":"A type-erasure around Tweak for A/B Testing."},"Structs/Tweak.html":{"name":"Tweak","abstract":"Tweaks let you adjust things on the fly."},"Structs/MixpanelTweaks.html":{"name":"MixpanelTweaks","abstract":"The MixpanelTweaks struct that needs to be extended to define new Tweaks for A/B testing"},"Protocols/TweakableType.html#/s:8Mixpanel13TweakableTypeP013tweakViewDataC0AA05TweakefC0OvpZ":{"name":"tweakViewDataType","abstract":"The data type of the TweakableType","parent_name":"TweakableType"},"Protocols/TweakLibraryType.html#/s:8Mixpanel16TweakLibraryTypeP12defaultStoreAA0bF0CvpZ":{"name":"defaultStore","abstract":"the default tweak store","parent_name":"TweakLibraryType"},"Protocols/TweakLibraryType.html#/s:8Mixpanel16TweakLibraryTypePAAE6assignyqd__AA0B0Vyqd__GAA09TweakableD0Rd__lFZ":{"name":"assign(_:)","abstract":"Returns the current value for a tweak from the TweakLibrary’s default store.","parent_name":"TweakLibraryType"},"Protocols/TweakLibraryType.html#/s:8Mixpanel16TweakLibraryTypePAAE4bind_7bindingyAA0B0Vyqd__G_yqd__ctAA09TweakableD0Rd__lFZ":{"name":"bind(_:binding:)","abstract":"Immediately binds the currentValue of a given tweak, and then continues to update whenever the tweak changes.","parent_name":"TweakLibraryType"},"Protocols/TweakClusterType.html#/s:8Mixpanel16TweakClusterTypeP05tweakC0SayAA03AnyB0VGvp":{"name":"tweakCluster","abstract":"The tweak cluster to allow easy initialization of Tweaks","parent_name":"TweakClusterType"},"Protocols/MixpanelType.html#/s:8Mixpanel0A4TypeP013isValidNestedB8AndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"Checks if this object has nested object types that Mixpanel supports.","parent_name":"MixpanelType"},"Protocols/MixpanelType.html#/s:8Mixpanel0A4TypeP6equals3rhsSbAaB_p_tF":{"name":"equals(rhs:)","abstract":"Undocumented","parent_name":"MixpanelType"},"Protocols/MixpanelDelegate.html#/s:8Mixpanel0A8DelegateP17mixpanelWillFlushySbAA0A8InstanceCF":{"name":"mixpanelWillFlush(_:)","abstract":"Asks the delegate if data should be uploaded to the server.","parent_name":"MixpanelDelegate"},"Protocols/MixpanelDelegate.html":{"name":"MixpanelDelegate","abstract":"Delegate protocol for controlling the Mixpanel API’s network behavior."},"Protocols/MixpanelType.html":{"name":"MixpanelType","abstract":"Property keys must be String objects and the supported value types need to conform to MixpanelType."},"Protocols/TweakClusterType.html":{"name":"TweakClusterType","abstract":"This protocol allows for easy initialization of TweakStore."},"Protocols/TweakLibraryType.html":{"name":"TweakLibraryType","abstract":"Create a public struct in your application that conforms to this protocol to declare your own tweaks!"},"Protocols/TweakableType.html":{"name":"TweakableType","abstract":"To add a new to our Tweak, make T conform to this protocol."},"Functions.html#/s:8Mixpanel2eeoiySbAA8AnyTweakV_ADtF":{"name":"==(_:_:)","abstract":"Comparator between two tweaks for A/B Testing."},"Functions.html#/s:8Mixpanel2eeoiySbAA5TweakVyxG_AEtAA13TweakableTypeRzlF":{"name":"==(_:_:)","abstract":"Comparator between two tweaks for A/B Testing."},"Extensions/CGFloat.html#/s:12CoreGraphics7CGFloatV8MixpanelE17tweakViewDataTypeAD05TweakfgH0OvpZ":{"name":"tweakViewDataType","abstract":"TweakableType supports the cgFloat type","parent_name":"CGFloat"},"Extensions/Dictionary.html#/s:SD8MixpanelE25isValidNestedTypeAndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"Checks if this object has nested object types that Mixpanel supports.","parent_name":"Dictionary"},"Extensions/Dictionary.html#/s:SD8MixpanelE6equals3rhsSbAA0A4Type_p_tF":{"name":"equals(rhs:)","abstract":"Undocumented","parent_name":"Dictionary"},"Extensions/NSArray.html#/s:So7NSArrayC8MixpanelE25isValidNestedTypeAndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"Checks if this object has nested object types that Mixpanel supports.","parent_name":"NSArray"},"Extensions/NSArray.html#/s:So7NSArrayC8MixpanelE6equals3rhsSbAC0B4Type_p_tF":{"name":"equals(rhs:)","abstract":"Undocumented","parent_name":"NSArray"},"Extensions/NSNull.html#/s:So6NSNullC8MixpanelE25isValidNestedTypeAndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"Checks if this object has nested object types that Mixpanel supports.","parent_name":"NSNull"},"Extensions/NSNull.html#/s:So6NSNullC8MixpanelE6equals3rhsSbAC0B4Type_p_tF":{"name":"equals(rhs:)","abstract":"Undocumented","parent_name":"NSNull"},"Extensions/URL.html#/s:10Foundation3URLV8MixpanelE25isValidNestedTypeAndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"Checks if this object has nested object types that Mixpanel supports.","parent_name":"URL"},"Extensions/URL.html#/s:10Foundation3URLV8MixpanelE6equals3rhsSbAD0C4Type_p_tF":{"name":"equals(rhs:)","abstract":"Undocumented","parent_name":"URL"},"Extensions/Date.html#/s:10Foundation4DateV8MixpanelE25isValidNestedTypeAndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"Checks if this object has nested object types that Mixpanel supports.","parent_name":"Date"},"Extensions/Date.html#/s:10Foundation4DateV8MixpanelE6equals3rhsSbAD0C4Type_p_tF":{"name":"equals(rhs:)","abstract":"Undocumented","parent_name":"Date"},"Extensions/Bool.html#/s:Sb8MixpanelE25isValidNestedTypeAndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"Checks if this object has nested object types that Mixpanel supports.","parent_name":"Bool"},"Extensions/Bool.html#/s:Sb8MixpanelE6equals3rhsSbAA0A4Type_p_tF":{"name":"equals(rhs:)","abstract":"Undocumented","parent_name":"Bool"},"Extensions/Bool.html#/s:Sb8MixpanelE17tweakViewDataTypeAA05TweakcdE0OvpZ":{"name":"tweakViewDataType","abstract":"TweakableType supports the boolean type","parent_name":"Bool"},"Extensions/Float.html#/s:Sf8MixpanelE25isValidNestedTypeAndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"Checks if this object has nested object types that Mixpanel supports.","parent_name":"Float"},"Extensions/Float.html#/s:Sf8MixpanelE6equals3rhsSbAA0A4Type_p_tF":{"name":"equals(rhs:)","abstract":"Undocumented","parent_name":"Float"},"Extensions/Double.html#/s:Sd8MixpanelE25isValidNestedTypeAndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"Checks if this object has nested object types that Mixpanel supports.","parent_name":"Double"},"Extensions/Double.html#/s:Sd8MixpanelE6equals3rhsSbAA0A4Type_p_tF":{"name":"equals(rhs:)","abstract":"Undocumented","parent_name":"Double"},"Extensions/Double.html#/s:Sd8MixpanelE17tweakViewDataTypeAA05TweakcdE0OvpZ":{"name":"tweakViewDataType","abstract":"TweakableType supports the double type","parent_name":"Double"},"Extensions/UInt.html#/s:Su8MixpanelE25isValidNestedTypeAndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"Checks if this object has nested object types that Mixpanel supports.","parent_name":"UInt"},"Extensions/UInt.html#/s:Su8MixpanelE6equals3rhsSbAA0A4Type_p_tF":{"name":"equals(rhs:)","abstract":"Undocumented","parent_name":"UInt"},"Extensions/Int.html#/s:Si8MixpanelE25isValidNestedTypeAndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"Checks if this object has nested object types that Mixpanel supports.","parent_name":"Int"},"Extensions/Int.html#/s:Si8MixpanelE6equals3rhsSbAA0A4Type_p_tF":{"name":"equals(rhs:)","abstract":"Undocumented","parent_name":"Int"},"Extensions/Int.html#/s:Si8MixpanelE17tweakViewDataTypeAA05TweakcdE0OvpZ":{"name":"tweakViewDataType","abstract":"TweakableType supports the integer type","parent_name":"Int"},"Extensions/NSNumber.html#/s:So8NSNumberC8MixpanelE25isValidNestedTypeAndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"Checks if this object has nested object types that Mixpanel supports.","parent_name":"NSNumber"},"Extensions/NSNumber.html#/s:So8NSNumberC8MixpanelE6equals3rhsSbAC0B4Type_p_tF":{"name":"equals(rhs:)","abstract":"Undocumented","parent_name":"NSNumber"},"Extensions/NSString.html#/s:So8NSStringC8MixpanelE25isValidNestedTypeAndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"Checks if this object has nested object types that Mixpanel supports.","parent_name":"NSString"},"Extensions/NSString.html#/s:So8NSStringC8MixpanelE6equals3rhsSbAC0B4Type_p_tF":{"name":"equals(rhs:)","abstract":"Undocumented","parent_name":"NSString"},"Extensions/String.html#/s:SS8MixpanelE25isValidNestedTypeAndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"Checks if this object has nested object types that Mixpanel supports.","parent_name":"String"},"Extensions/String.html#/s:SS8MixpanelE6equals3rhsSbAA0A4Type_p_tF":{"name":"equals(rhs:)","abstract":"Undocumented","parent_name":"String"},"Extensions/String.html#/s:SS8MixpanelE17tweakViewDataTypeAA05TweakcdE0OvpZ":{"name":"tweakViewDataType","abstract":"TweakableType supports the string type","parent_name":"String"},"Extensions/Optional.html#/s:Sq8MixpanelE25isValidNestedTypeAndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"Checks if this object has nested object types that Mixpanel supports.","parent_name":"Optional"},"Extensions/Optional.html#/s:Sq8MixpanelE6equals3rhsSbAA0A4Type_p_tF":{"name":"equals(rhs:)","abstract":"Undocumented","parent_name":"Optional"},"Extensions/Array.html#/s:Sa8MixpanelE25isValidNestedTypeAndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"Checks if this object has nested object types that Mixpanel supports.","parent_name":"Array"},"Extensions/Array.html#/s:Sa8MixpanelE6equals3rhsSbAA0A4Type_p_tF":{"name":"equals(rhs:)","abstract":"Undocumented","parent_name":"Array"},"Extensions/UIColor.html#/s:So7UIColorC8MixpanelE5MPHexABSu_tcfc":{"name":"init(MPHex:)","abstract":"The shorthand four-digit hexadecimal representation of color with alpha.","parent_name":"UIColor"},"Extensions/UIColor.html":{"name":"UIColor"},"Extensions/Array.html":{"name":"Array"},"Extensions/Optional.html":{"name":"Optional"},"Extensions/String.html":{"name":"String"},"Extensions/NSString.html":{"name":"NSString"},"Extensions/NSNumber.html":{"name":"NSNumber"},"Extensions/Int.html":{"name":"Int"},"Extensions/UInt.html":{"name":"UInt"},"Extensions/Double.html":{"name":"Double"},"Extensions/Float.html":{"name":"Float"},"Extensions/Bool.html":{"name":"Bool"},"Extensions/Date.html":{"name":"Date"},"Extensions/URL.html":{"name":"URL"},"Extensions/NSNull.html":{"name":"NSNull"},"Extensions/NSArray.html":{"name":"NSArray"},"Extensions/Dictionary.html":{"name":"Dictionary"},"Extensions/CGFloat.html":{"name":"CGFloat"},"Enums/TweakViewDataType.html#/s:8Mixpanel17TweakViewDataTypeO7booleanyA2CmF":{"name":"boolean","abstract":"TweakableType supports the boolean type","parent_name":"TweakViewDataType"},"Enums/TweakViewDataType.html#/s:8Mixpanel17TweakViewDataTypeO7integeryA2CmF":{"name":"integer","abstract":"TweakableType supports the integer type","parent_name":"TweakViewDataType"},"Enums/TweakViewDataType.html#/s:8Mixpanel17TweakViewDataTypeO7cgFloatyA2CmF":{"name":"cgFloat","abstract":"TweakableType supports the cgFloat type","parent_name":"TweakViewDataType"},"Enums/TweakViewDataType.html#/s:8Mixpanel17TweakViewDataTypeO6doubleyA2CmF":{"name":"double","abstract":"TweakableType supports the double type","parent_name":"TweakViewDataType"},"Enums/TweakViewDataType.html#/s:8Mixpanel17TweakViewDataTypeO6stringyA2CmF":{"name":"string","abstract":"TweakableType supports the string type","parent_name":"TweakViewDataType"},"Enums/TweakViewDataType.html":{"name":"TweakViewDataType","abstract":"The data types that are currently supported for SwiftTweaks."},"Classes/MixpanelPushNotifications.html#/s:8Mixpanel0A17PushNotificationsC02isaB12NotificationySbSo21UNNotificationContentCFZ":{"name":"isMixpanelPushNotification(_:)","abstract":"Undocumented","parent_name":"MixpanelPushNotifications"},"Classes/MixpanelPushNotifications.html#/s:8Mixpanel0A17PushNotificationsC10trackEvent_10properties7requestySS_SDySSAA0A4Type_pGSo21UNNotificationRequestCtFZ":{"name":"trackEvent(_:properties:request:)","abstract":"Undocumented","parent_name":"MixpanelPushNotifications"},"Classes/People.html#/s:8Mixpanel6PeopleC10ignoreTimeSbvp":{"name":"ignoreTime","abstract":"controls the $ignore_time property in any subsequent MixpanelPeople operation.","parent_name":"People"},"Classes/People.html#/s:8Mixpanel6PeopleC18addPushDeviceTokenyy10Foundation4DataVF":{"name":"addPushDeviceToken(_:)","abstract":"Register the given device to receive push notifications.","parent_name":"People"},"Classes/People.html#/s:8Mixpanel6PeopleC25removeAllPushDeviceTokensyyF":{"name":"removeAllPushDeviceTokens()","abstract":"Unregister the given device to receive push notifications.","parent_name":"People"},"Classes/People.html#/s:8Mixpanel6PeopleC21removePushDeviceTokenyy10Foundation4DataVF":{"name":"removePushDeviceToken(_:)","abstract":"Unregister a specific device token from the ability to receive push notifications.","parent_name":"People"},"Classes/People.html#/s:8Mixpanel6PeopleC3set10propertiesySDySSAA0A4Type_pG_tF":{"name":"set(properties:)","abstract":"Set properties on the current user in Mixpanel People.","parent_name":"People"},"Classes/People.html#/s:8Mixpanel6PeopleC3set8property2toySS_AA0A4Type_ptF":{"name":"set(property:to:)","abstract":"Convenience method for setting a single property in Mixpanel People.","parent_name":"People"},"Classes/People.html#/s:8Mixpanel6PeopleC7setOnce10propertiesySDySSAA0A4Type_pG_tF":{"name":"setOnce(properties:)","abstract":"Set properties on the current user in Mixpanel People, but doesn’t overwrite if","parent_name":"People"},"Classes/People.html#/s:8Mixpanel6PeopleC5unset10propertiesySaySSG_tF":{"name":"unset(properties:)","abstract":"Remove a list of properties and their values from the current user’s profile","parent_name":"People"},"Classes/People.html#/s:8Mixpanel6PeopleC9increment10propertiesySDySSAA0A4Type_pG_tF":{"name":"increment(properties:)","abstract":"Increment the given numeric properties by the given values.","parent_name":"People"},"Classes/People.html#/s:8Mixpanel6PeopleC9increment8property2byySS_SdtF":{"name":"increment(property:by:)","abstract":"Convenience method for incrementing a single numeric property by the specified","parent_name":"People"},"Classes/People.html#/s:8Mixpanel6PeopleC6append10propertiesySDySSAA0A4Type_pG_tF":{"name":"append(properties:)","abstract":"Append values to list properties.","parent_name":"People"},"Classes/People.html#/s:8Mixpanel6PeopleC6remove10propertiesySDySSAA0A4Type_pG_tF":{"name":"remove(properties:)","abstract":"Removes list properties.","parent_name":"People"},"Classes/People.html#/s:8Mixpanel6PeopleC5union10propertiesySDySSAA0A4Type_pG_tF":{"name":"union(properties:)","abstract":"Union list properties.","parent_name":"People"},"Classes/People.html#/s:8Mixpanel6PeopleC11trackCharge6amount10propertiesySd_SDySSAA0A4Type_pGSgtF":{"name":"trackCharge(amount:properties:)","abstract":"Track money spent by the current user for revenue analytics and associate","parent_name":"People"},"Classes/People.html#/s:8Mixpanel6PeopleC12clearChargesyyF":{"name":"clearCharges()","abstract":"Delete current user’s revenue history.","parent_name":"People"},"Classes/People.html#/s:8Mixpanel6PeopleC10deleteUseryyF":{"name":"deleteUser()","abstract":"Delete current user’s record from Mixpanel People.","parent_name":"People"},"Classes/MixpanelNotificationServiceExtension.html#/c:@M@Mixpanel@objc(cs)MixpanelNotificationServiceExtension(im)didReceiveNotificationRequest:withContentHandler:":{"name":"didReceive(_:withContentHandler:)","abstract":"Undocumented","parent_name":"MixpanelNotificationServiceExtension"},"Classes/MixpanelNotificationServiceExtension.html#/c:@M@Mixpanel@objc(cs)MixpanelNotificationServiceExtension(im)serviceExtensionTimeWillExpire":{"name":"serviceExtensionTimeWillExpire()","abstract":"Undocumented","parent_name":"MixpanelNotificationServiceExtension"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC8apiTokenSSvp":{"name":"apiToken","abstract":"apiToken string that identifies the project to track data to","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC8delegateAA0A8Delegate_pSgvp":{"name":"delegate","abstract":"The a MixpanelDelegate object that gives control over Mixpanel network activity.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC10distinctIdSSvp":{"name":"distinctId","abstract":"distinctId string that uniquely identifies the current user.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC11anonymousIdSSSgvp":{"name":"anonymousId","abstract":"anonymousId string that uniquely identifies the device.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC6userIdSSSgvp":{"name":"userId","abstract":"userId string that identify is called with.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC22hadPersistedDistinctIdSbSgvp":{"name":"hadPersistedDistinctId","abstract":"hadPersistedDistinctId is a boolean value which specifies that the stored distinct_id","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC5aliasSSSgvp":{"name":"alias","abstract":"alias string that uniquely identifies the current user.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC6peopleAA6PeopleCSgvp":{"name":"people","abstract":"Accessor to the Mixpanel People API object.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC28showNetworkActivityIndicatorSbvp":{"name":"showNetworkActivityIndicator","abstract":"Controls whether to show spinning network activity indicator when flushing","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC27trackAutomaticEventsEnabledSbSgvp":{"name":"trackAutomaticEventsEnabled","abstract":"This allows enabling or disabling collecting common mobile events","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC13flushIntervalSdvp":{"name":"flushInterval","abstract":"Flush timer’s interval.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC17flushOnBackgroundSbvp":{"name":"flushOnBackground","abstract":"Control whether the library should flush data to Mixpanel when the app","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC26useIPAddressForGeoLocationSbvp":{"name":"useIPAddressForGeoLocation","abstract":"Controls whether to automatically send the client IP Address as part of","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC9serverURLSSvp":{"name":"serverURL","abstract":"The base URL used for Mixpanel API requests.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:s28CustomDebugStringConvertibleP16debugDescriptionSSvp":{"name":"debugDescription","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC14loggingEnabledSbvp":{"name":"loggingEnabled","abstract":"This allows enabling or disabling of all Mixpanel logs at run time.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC4nameSSvp":{"name":"name","abstract":"A unique identifier for this MixpanelInstance","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC29enableVisualEditorForCodelessSbvp":{"name":"enableVisualEditorForCodeless","abstract":"Controls whether to enable the visual editor for codeless on mixpanel.com","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC24checkForVariantsOnActiveSbvp":{"name":"checkForVariantsOnActive","abstract":"Controls whether to automatically check for A/B test variants for the","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC28checkForNotificationOnActiveSbvp":{"name":"checkForNotificationOnActive","abstract":"Controls whether to automatically check for notifications for the","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC24showNotificationOnActiveSbvp":{"name":"showNotificationOnActive","abstract":"Controls whether to automatically check for and show in-app notifications","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC32miniNotificationPresentationTimeSdvp":{"name":"miniNotificationPresentationTime","abstract":"Determines the time, in seconds, that a mini notification will remain on","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC22minimumSessionDurations6UInt64Vvp":{"name":"minimumSessionDuration","abstract":"The minimum session duration (ms) that is tracked in automatic events.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC22maximumSessionDurations6UInt64Vvp":{"name":"maximumSessionDuration","abstract":"The maximum session duration (ms) that is tracked in automatic events.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC8identify10distinctId9usePeople10completionySS_SbyycSgtF":{"name":"identify(distinctId:usePeople:completion:)","abstract":"Sets the distinct ID of the current user.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC11createAlias_10distinctId9usePeople10completionySS_SSSbyycSgtF":{"name":"createAlias(_:distinctId:usePeople:completion:)","abstract":"The alias method creates an alias which Mixpanel will use to remap one id to another.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC5reset10completionyyycSg_tF":{"name":"reset(completion:)","abstract":"Clears all stored properties including the distinct Id.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC7archiveyyF":{"name":"archive()","abstract":"Writes current project info including the distinct Id, super properties,","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/archive()":{"name":"archive()","abstract":"Writes current project info including the distinct Id, super properties,","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC5flush10completionyyycSg_tF":{"name":"flush(completion:)","abstract":"Uploads queued data to the Mixpanel server.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC5track5event10propertiesySSSg_SDySSAA0A4Type_pGSgtF":{"name":"track(event:properties:)","abstract":"Tracks an event with properties.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC15trackWithGroups5event10properties6groupsySSSg_SDySSAA0A4Type_pGSgAKtF":{"name":"trackWithGroups(event:properties:groups:)","abstract":"Tracks an event with properties and to specific groups.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC8getGroup8groupKey0E2IDAA0D0CSS_AA0A4Type_ptF":{"name":"getGroup(groupKey:groupID:)","abstract":"Undocumented","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC4time5eventySS_tF":{"name":"time(event:)","abstract":"Starts a timer that will be stopped and added as a property when a","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC16eventElapsedTime0C0SdSS_tF":{"name":"eventElapsedTime(event:)","abstract":"Retrieves the time elapsed for the named event since time(event:) was called.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC16clearTimedEventsyyF":{"name":"clearTimedEvents()","abstract":"Clears all current event timers.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC15clearTimedEvent5eventySS_tF":{"name":"clearTimedEvent(event:)","abstract":"Clears the event timer for the named event.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC22currentSuperPropertiesSDySSypGyF":{"name":"currentSuperProperties()","abstract":"Returns the currently set super properties.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC20clearSuperPropertiesyyF":{"name":"clearSuperProperties()","abstract":"Clears all currently set super properties.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC23registerSuperPropertiesyySDySSAA0A4Type_pGF":{"name":"registerSuperProperties(_:)","abstract":"Registers super properties, overwriting ones that have already been set.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC27registerSuperPropertiesOnce_12defaultValueySDySSAA0A4Type_pG_AaF_pSgtF":{"name":"registerSuperPropertiesOnce(_:defaultValue:)","abstract":"Registers super properties without overwriting ones that have already been set,","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC23unregisterSuperPropertyyySSF":{"name":"unregisterSuperProperty(_:)","abstract":"Removes a previously registered super property.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC8setGroup8groupKey0E2IDySS_AA0A4Type_ptF":{"name":"setGroup(groupKey:groupID:)","abstract":"Convenience method to set a single group the user belongs to.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC8setGroup8groupKey0E3IDsySS_SayAA0A4Type_pGtF":{"name":"setGroup(groupKey:groupIDs:)","abstract":"Set the groups this user belongs to.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC8addGroup8groupKey0E2IDySS_AA0A4Type_ptF":{"name":"addGroup(groupKey:groupID:)","abstract":"Add a group to this user’s membership for a particular group key","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC11removeGroup8groupKey0E2IDySS_AA0A4Type_ptF":{"name":"removeGroup(groupKey:groupID:)","abstract":"Remove a group from this user’s membership for a particular group key","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC14optOutTrackingyyF":{"name":"optOutTracking()","abstract":"Opt out tracking.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC13optInTracking10distinctId10propertiesySSSg_SDySSAA0A4Type_pGSgtF":{"name":"optInTracking(distinctId:properties:)","abstract":"Opt in tracking.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC19hasOptedOutTrackingSbyF":{"name":"hasOptedOutTracking()","abstract":"Returns if the current user has opted out tracking.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC15joinExperiments8callbackyyycSg_tF":{"name":"joinExperiments(callback:)","abstract":"Join any experiments (A/B tests) that are available for the current user.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC16showNotificationyyF":{"name":"showNotification()","abstract":"Shows a notification if one is available.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC16showNotification4typeySS_tF":{"name":"showNotification(type:)","abstract":"Shows a notification with the given type if one is available.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC16showNotification2IDySi_tF":{"name":"showNotification(ID:)","abstract":"Shows a notification with the given ID","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC24fetchNotificationPayload10completionyySDySSyXlGSgc_tF":{"name":"fetchNotificationPayload(completion:)","abstract":"Returns the payload of a notification if available","parent_name":"MixpanelInstance"},"Classes/Mixpanel.html#/s:8MixpanelAAC10initialize5token13launchOptions13flushInterval12instanceName21automaticPushTracking06optOutL9ByDefaultAA0A8InstanceCSS_SDySo019UIApplicationLaunchE3KeyaypGSgSdSSS2btFZ":{"name":"initialize(token:launchOptions:flushInterval:instanceName:automaticPushTracking:optOutTrackingByDefault:)","abstract":"Initializes an instance of the API with the given project token.","parent_name":"Mixpanel"},"Classes/Mixpanel.html#/initialize(token:flushInterval:instanceName:optOutTrackingByDefault:)":{"name":"initialize(token:flushInterval:instanceName:optOutTrackingByDefault:)","abstract":"Initializes an instance of the API with the given project token (MAC OS ONLY).","parent_name":"Mixpanel"},"Classes/Mixpanel.html#/s:8MixpanelAAC11getInstance4nameAA0aC0CSgSS_tFZ":{"name":"getInstance(name:)","abstract":"Gets the mixpanel instance with the given name","parent_name":"Mixpanel"},"Classes/Mixpanel.html#/s:8MixpanelAAC12mainInstanceAA0aC0CyFZ":{"name":"mainInstance()","abstract":"Returns the main instance that was initialized.","parent_name":"Mixpanel"},"Classes/Mixpanel.html#/s:8MixpanelAAC15setMainInstance4nameySS_tFZ":{"name":"setMainInstance(name:)","abstract":"Sets the main instance based on the instance name","parent_name":"Mixpanel"},"Classes/Mixpanel.html#/s:8MixpanelAAC14removeInstance4nameySS_tFZ":{"name":"removeInstance(name:)","abstract":"Removes an unneeded Mixpanel instance based on its name","parent_name":"Mixpanel"},"Classes/Group.html#/s:8Mixpanel5GroupC3set10propertiesySDySSAA0A4Type_pG_tF":{"name":"set(properties:)","abstract":"Sets properties on this group.","parent_name":"Group"},"Classes/Group.html#/s:8Mixpanel5GroupC3set8property2toySS_AA0A4Type_ptF":{"name":"set(property:to:)","abstract":"Convenience method for setting a single property in Mixpanel Groups.","parent_name":"Group"},"Classes/Group.html#/s:8Mixpanel5GroupC7setOnce10propertiesySDySSAA0A4Type_pG_tF":{"name":"setOnce(properties:)","abstract":"Sets properties on the current Mixpanel Group, but doesn’t overwrite if","parent_name":"Group"},"Classes/Group.html#/s:8Mixpanel5GroupC5unset8propertyySS_tF":{"name":"unset(property:)","abstract":"Remove a property and its value from a group’s profile in Mixpanel Groups.","parent_name":"Group"},"Classes/Group.html#/s:8Mixpanel5GroupC6remove3key5valueySS_AA0A4Type_ptF":{"name":"remove(key:value:)","abstract":"Removes list properties.","parent_name":"Group"},"Classes/Group.html#/s:8Mixpanel5GroupC5union3key6valuesySS_SayAA0A4Type_pGtF":{"name":"union(key:values:)","abstract":"Union list properties.","parent_name":"Group"},"Classes/Group.html#/s:8Mixpanel5GroupC06deleteB0yyF":{"name":"deleteGroup()","abstract":"Delete group’s record from Mixpanel Groups.","parent_name":"Group"},"Classes/Group.html":{"name":"Group","abstract":"Access to the Mixpanel Groups API, available through the getGroup function from"},"Classes/Mixpanel.html":{"name":"Mixpanel","abstract":"The primary class for integrating Mixpanel with your app."},"Classes/MixpanelInstance.html":{"name":"MixpanelInstance","abstract":"The class that represents the Mixpanel Instance"},"Classes/MixpanelNotificationServiceExtension.html":{"name":"MixpanelNotificationServiceExtension","abstract":"Undocumented"},"Classes/People.html":{"name":"People","abstract":"Access to the Mixpanel People API, available as an accessible variable from"},"Classes/MixpanelPushNotifications.html":{"name":"MixpanelPushNotifications","abstract":"Undocumented"},"Classes.html#/s:8Mixpanel10TweakStoreC":{"name":"TweakStore","abstract":"Looks up the persisted state for tweaks."},"Classes.html":{"name":"Classes","abstract":"The following classes are available globally."},"Enums.html":{"name":"Enumerations","abstract":"The following enumerations are available globally."},"Extensions.html":{"name":"Extensions","abstract":"The following extensions are available globally."},"Functions.html":{"name":"Functions","abstract":"The following functions are available globally."},"Protocols.html":{"name":"Protocols","abstract":"The following protocols are available globally."},"Structs.html":{"name":"Structures","abstract":"The following structures are available globally."},"Typealiases.html":{"name":"Type Aliases","abstract":"The following type aliases are available globally."}} \ No newline at end of file diff --git a/docs/undocumented.json b/docs/undocumented.json index 1e31bd6a..75baf9b9 100644 --- a/docs/undocumented.json +++ b/docs/undocumented.json @@ -9,7 +9,7 @@ }, { "file": "/Users/zihejia/Documents/Projects/Develop/mixpanel-swift/Sources/MixpanelInstance.swift", - "line": 1296, + "line": 1335, "symbol": "MixpanelInstance.getGroup(groupKey:groupID:)", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented"
Mixpanel 2.10.2 Docs (87% documented)
Mixpanel 2.10.3 Docs (87% documented)
View on GitHub
© 2021 Mixpanel. All rights reserved. (Last updated: 2021-06-11)
© 2021 Mixpanel. All rights reserved. (Last updated: 2021-08-13)
Generated by jazzy ♪♫ v0.13.6, a Realm project.
Identity
- - - identify(distinctId:usePeople:) + + + identify(distinctId:usePeople:completion:)
Swift
open func identify(distinctId: String, usePeople: Bool = true)
open func identify(distinctId: String, usePeople: Bool = true, completion: (() -> Void)? = nil)
+ completion +
an optional completion handler for when the identify has completed.
- - - createAlias(_:distinctId:usePeople:) + + + createAlias(_:distinctId:usePeople:completion:)
open func createAlias(_ alias: String, distinctId: String, usePeople: Bool = true)
open func createAlias(_ alias: String, distinctId: String, usePeople: Bool = true, completion: (() -> Void)? = nil)
boolean that controls whether or not to set the people distinctId to the event distinctId. +
boolean that controls whether or not to set the people distinctId to the event distinctId.
an optional completion handler for when the createAlias has completed. This should only be set to false if you wish to prevent people profile updates for that user.
- - - reset() + + + reset(completion:)
open func reset()
open func reset(completion: (() -> Void)? = nil)
an optional completion handler for when the reset has completed.
- +
@@ -201,196 +200,152 @@
Welcome to the official Mixpanel Swift Library
The Mixpanel Swift library for iOS is an open-source project, and we’d love to see your contributions! +
The Mixpanel Swift library for iOS is an open-source project, and we’d love to see your contributions! We’d also love for you to come and work with us! Check out Jobs for details.
If you are using Objective-C, we recommend using our Objective-C Library.
Our master branch and our releases are now on Swift 5.
If you wish to use our Swift 4.2 implementation, please point to the v2.6.1 release. For Swift 4/4.1 implementation, please point to the v2.4.5 release. For Swift 3 implementation, please point to the v2.2.3 release. For Swift 2.3 implementation, please point to the v1.0.1 release.
Check out our Advanced iOS Swift Guide for additional advanced configurations and use cases, like setting up your project with European Union data storage.
Our Swift library fully supports all of the Mixpanel features and has full parity with the Objective-C Library.
Our master branch and our releases are on Swift 5. If you wish to use our Swift 4.2 implementation, please point to the v2.6.1 release. For Swift 4/4.1 implementation, please point to the v2.4.5 release. For Swift 3 implementation, please point to the v2.2.3 release.
You will need your project token for initializing your library. You can get your project token from project settings.
On Jan 1, 2022, we’ll remove the Messages & Experiments feature from Mixpanel. For now, you can choose to opt in to our beta version without Messages & Experiments feature support. You can use Swift Package Manager to install the beta version:
The easiest way to get Mixpanel into your iOS project is to use Swift Package Manager(requires Xcode 12+).
3.0.0.beta
It requires Xcode 12+ and v2.8.0+ release
Important: It only supports for iOS, if you need integrations for other platforms(tvOS or macOS), please use other integration methods instead or use our beta version by pointing to the branch 3.0.0.beta
On Jan 1, 2022, we’ll remove the Messages & Experiments feature from Mixpanel. For now, you can choose to opt in to our beta version without Messages & Experiments feature support. You can use Swift Package Manager to point to the branch 3.0.0.beta
gem install cocoapods
pod setup
pod init
pod 'Mixpanel-swift'
pod install
open *.xcworkspace
Check out our swift integration guide » for more info.
Our current release only supports CocoaPods version 1.4.0+
Mixpanel supports CocoaPods for easy installation. -To Install, see our swift integration guide »
CocoaPods
For iOS, tvOS, macOS, and App Extension integrations:
Mixpanel also supports Carthage to package your dependencies as a framework. Include the following dependency in your Cartfile:
Carthage
github "mixpanel/mixpanel-swift"
Check out the Carthage docs » for more info.
Mixpanel supports Carthage to package your dependencies as a framework. Include the following dependency in your Cartfile:
github "mixpanel/mixpanel-swift" +
Check out the Carthage docs for more info.
To help users stay up to date with the latest version of our Swift SDK, we always recommend integrating our SDK via CocoaPods, which simplifies version updates and dependency management. However, there are cases where users can’t use CocoaPods. Not to worry, just follow these manual installation steps and you’ll be all set.
Import Mixpanel into AppDelegate.swift, and initialize Mixpanel within application:didFinishLaunchingWithOptions:
import Mixpanel -Add Mixpanel as a submodule to your local git repo like so: -git submodule add git@github.com:mixpanel/mixpanel-swift.git +func application(_ application: UIApplication, + didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool { + ... + Mixpanel.initialize(token: "MIXPANEL_TOKEN") + ... +} -Now the Mixpanel project and its files should be in your project folder! -Step 2: Drag Mixpanel to your project +See all configuration options +3. Send Data -Drag the Mixpanel.xcodeproj inside your sample project under the main sample project file: - - -Step 3: Embed the framework +Let’s get started by sending event data. You can send an event from anywhere in your application. Better understand user behavior by storing details that are specific to the event (properties). After initializing the library, Mixpanel will automatically collect common mobile events. You can enable/disable automatic collection through your project settings. Also, Mixpanel automatically tracks some properties by default. learn more +Mixpanel.mainInstance().track(event: "Sign Up", properties: [ + "source": "Pat's affiliate site", + "Opted out of email": true +]) + -Select your app .xcodeproj file. Under “General”, add the Mixpanel framework as an embedded binary: +In addition to event data, you can also send user profile data. We recommend this after completing the quickstart guide. +4. Check for Success - +Open up Live View in Mixpanel to view incoming events. - -Initializing and Usage +Once data hits our API, it generally takes ~60 seconds for it to be processed, stored, and queryable in your project. +Complete Code Example - -Integrate +Here’s a runnable code example that covers everything in this quickstart guide. +import Mixpanel -Import Mixpanel into AppDelegate.swift, and initialize Mixpanel within application:didFinishLaunchingWithOptions: - -func application(_ application: UIApplication, +func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool { + ... Mixpanel.initialize(token: "MIXPANEL_TOKEN") + Mixpanel.mainInstance().track(event: "Sign Up", properties: [ + "source": "Pat's affiliate site", + "Opted out of email": true + ]) + ... } +FAQ -You initialize your Mixpanel instance with the token provided to you on mixpanel.com. - - -Start tracking - -After installing the library into your iOS app, Mixpanel will automatically collect common mobile events. You can enable/ disable automatic collection through your project settings. - -To interact with the instance and track additional events, you can either use the mixpanel instance given when initializing: -mixpanel.track(event: "Tracked Event!") - +I want to stop tracking an event/event property in Mixpanel. Is that possible? -or you can directly fetch the instance and use it from the Mixpanel object: -Mixpanel.mainInstance().track(event: "Tracked Event!") - +Yes, in Lexicon, you can intercept and drop incoming events or properties. Mixpanel won’t store any new data for the event or property you select to drop. See this article for more information. -You’re done! You’ve successfully integrated the Mixpanel Swift SDK into your app. To stay up to speed on important SDK releases and updates, star or watch our repository on Github. +I have a test user I would like to opt out of tracking. How do I do that? -Have any questions? Reach out to support@mixpanel.com to speak to someone smart, quickly. -Using Mixpanel Push Notifications +Mixpanel’s client-side tracking library contains the optOutTracking() method, which will set the user’s local opt-out state to “true” and will prevent data from being sent from a user’s device. More detailed instructions can be found in the section, Opting users out of tracking. -First enable Mixpanel push notifications in your app. Then for Rich Push Notifications, you’ll need to integrate your application with the MixpanelNotificationServiceExtension. -Integrating the MixpanelNotificationServiceExtension +Why aren’t my events showing up? -The Mixpanel SDK comes with a custom Notification Service Extension used to render rich media, custom action buttons, and track when push notifications are received. To enable these features, you will need to integrate it into your application. -1. Create a new Notification Service Extension Target +To preserve battery life and customer bandwidth, the Mixpanel library doesn’t send the events you record immediately. Instead, it sends batches to the Mixpanel servers every 60 seconds while your application is running, as well as when the application transitions to the background. You can call flush() manually if you want to force a flush at a particular moment. +Mixpanel.mainInstance().flush() + - - - -2. Add Mixpanel-swift as a dependency +If your events are still not showing up after 60 seconds, check if you have opted out of tracking. You can also enable Mixpanel debugging and logging, it allows you to see the debug output from the Mixpanel library. To enable it, set loggingEnabled to true. +Mixpanel.mainInstance().loggingEnabled = true + -Add the following to the end of your Podfile: -target 'NotificationService' do - use_frameworks! +Starting with iOS 14.5, do I need to request the user’s permission through the AppTrackingTransparency framework to use Mixpanel? - pod 'Mixpanel-swift' -end - +No, Mixpanel does not use IDFA so it does not require user permission through the AppTrackingTransparency(ATT) framework. -Then run pod install -3. Extend your NotificationService from MixpanelNotificationServiceExtension +If I use Mixpanel, how do I answer app privacy questions for the App Store? -Replace the contents of your NotificationService.swift file with the following: -import Mixpanel +Please refer to our Apple App Developer Privacy Guidance +I want to know more! -class NotificationService: MixpanelNotificationServiceExtension {} - -4. Delegate the handling of the notification response to the Mixpanel SDK - -In your AppDelegate.swift file, you need to call MixpanelPushNotifications.handleResponse when a push notification response is received: -@available(iOS 10.0, *) -func userNotificationCenter(_ center: UNUserNotificationCenter, didReceive response: UNNotificationResponse, withCompletionHandler completionHandler: @escaping () -> Void) { - if MixpanelPushNotifications.isMixpanelPushNotification(response.notification.request.content) { - debugPrint("Handling Mixpanel push notification response...") - MixpanelPushNotifications.handleResponse(response: response, withCompletionHandler: completionHandler) - } else { - // not a Mixpanel push notification - debugPrint("Not a Mixpanel push notification.") - completionHandler() - } -} - +No worries, here are some links that you will find useful: -This will make sure the tap actions are appropriately handled (open URL, deeplink, etc) as well as track whether a notification was tapped or dismissed. -5. Run the app and send a test push notification from Mixpanel that includes an image or buttons + +Advanced iOS - Swift Guide +Sample app +Full API Reference + -That’s it! Your app should now be able to receive rich push notifications from Mixpanel. +Have any questions? Reach out to Mixpanel Support to speak to someone smart, quickly. - © 2021 Mixpanel. All rights reserved. (Last updated: 2021-06-11) + © 2021 Mixpanel. All rights reserved. (Last updated: 2021-08-13) Generated by jazzy ♪♫ v0.13.6, a Realm project. diff --git a/docs/docsets/Mixpanel.docset/Contents/Resources/Documents/search.json b/docs/docsets/Mixpanel.docset/Contents/Resources/Documents/search.json index 040a3460..dc8e93ad 100644 --- a/docs/docsets/Mixpanel.docset/Contents/Resources/Documents/search.json +++ b/docs/docsets/Mixpanel.docset/Contents/Resources/Documents/search.json @@ -1 +1 @@ -{"Typealiases.html#/s:8Mixpanel10Propertiesa":{"name":"Properties","abstract":"Undocumented"},"Structs/MixpanelTweaks.html#/s:8Mixpanel0A6TweaksV12defaultStoreAA05TweakD0CvpZ":{"name":"defaultStore","abstract":"The default store that holds the Tweaks","parent_name":"MixpanelTweaks"},"Structs/MixpanelTweaks.html#/s:8Mixpanel0A6TweaksV03setB06tweaksySayAA16TweakClusterType_pG_tFZ":{"name":"setTweaks(tweaks:)","abstract":"setTweaks needs to be called to add the defined Tweaks into the environment.","parent_name":"MixpanelTweaks"},"Structs/Tweak.html#/s:8Mixpanel5TweakV9tweakName12defaultValueACyxGSS_xtcfc":{"name":"init(tweakName:defaultValue:)","abstract":"Initializer for a Tweak for A/B Testing","parent_name":"Tweak"},"Structs/Tweak.html#/s:8Mixpanel5TweakV4hash4intoys6HasherVz_tF":{"name":"hash(into:)","abstract":"Hashing for a Tweak for A/B Testing in order for it to be stored.","parent_name":"Tweak"},"Structs/Tweak.html#/s:8Mixpanel16TweakClusterTypeP05tweakC0SayAA03AnyB0VGvp":{"name":"tweakCluster","parent_name":"Tweak"},"Structs/Tweak.html#/s:8Mixpanel5TweakVAASLRzs13SignedNumericRzrlE9tweakName12defaultValue3min3max8stepSizeACyxGSS_xxSgA2Ktcfc":{"name":"init(tweakName:defaultValue:min:max:stepSize:)","abstract":"Creates a Tweak where T: SignedNumberType","parent_name":"Tweak"},"Structs/AnyTweak.html#/s:SH4hash4intoys6HasherVz_tF":{"name":"hash(into:)","parent_name":"AnyTweak"},"Structs/AnyTweak.html#/s:8Mixpanel8AnyTweakV12tweakClusterSayACGvp":{"name":"tweakCluster","abstract":"Allows easy tweak initialization by clustering tweaks together for A/B Testing","parent_name":"AnyTweak"},"Structs/AnyTweak.html":{"name":"AnyTweak","abstract":"A type-erasure around Tweak for A/B Testing."},"Structs/Tweak.html":{"name":"Tweak","abstract":"Tweaks let you adjust things on the fly."},"Structs/MixpanelTweaks.html":{"name":"MixpanelTweaks","abstract":"The MixpanelTweaks struct that needs to be extended to define new Tweaks for A/B testing"},"Protocols/TweakableType.html#/s:8Mixpanel13TweakableTypeP013tweakViewDataC0AA05TweakefC0OvpZ":{"name":"tweakViewDataType","abstract":"The data type of the TweakableType","parent_name":"TweakableType"},"Protocols/TweakLibraryType.html#/s:8Mixpanel16TweakLibraryTypeP12defaultStoreAA0bF0CvpZ":{"name":"defaultStore","abstract":"the default tweak store","parent_name":"TweakLibraryType"},"Protocols/TweakLibraryType.html#/s:8Mixpanel16TweakLibraryTypePAAE6assignyqd__AA0B0Vyqd__GAA09TweakableD0Rd__lFZ":{"name":"assign(_:)","abstract":"Returns the current value for a tweak from the TweakLibrary’s default store.","parent_name":"TweakLibraryType"},"Protocols/TweakLibraryType.html#/s:8Mixpanel16TweakLibraryTypePAAE4bind_7bindingyAA0B0Vyqd__G_yqd__ctAA09TweakableD0Rd__lFZ":{"name":"bind(_:binding:)","abstract":"Immediately binds the currentValue of a given tweak, and then continues to update whenever the tweak changes.","parent_name":"TweakLibraryType"},"Protocols/TweakClusterType.html#/s:8Mixpanel16TweakClusterTypeP05tweakC0SayAA03AnyB0VGvp":{"name":"tweakCluster","abstract":"The tweak cluster to allow easy initialization of Tweaks","parent_name":"TweakClusterType"},"Protocols/MixpanelType.html#/s:8Mixpanel0A4TypeP013isValidNestedB8AndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"Checks if this object has nested object types that Mixpanel supports.","parent_name":"MixpanelType"},"Protocols/MixpanelType.html#/s:8Mixpanel0A4TypeP6equals3rhsSbAaB_p_tF":{"name":"equals(rhs:)","abstract":"Undocumented","parent_name":"MixpanelType"},"Protocols/MixpanelDelegate.html#/s:8Mixpanel0A8DelegateP17mixpanelWillFlushySbAA0A8InstanceCF":{"name":"mixpanelWillFlush(_:)","abstract":"Asks the delegate if data should be uploaded to the server.","parent_name":"MixpanelDelegate"},"Protocols/MixpanelDelegate.html":{"name":"MixpanelDelegate","abstract":"Delegate protocol for controlling the Mixpanel API’s network behavior."},"Protocols/MixpanelType.html":{"name":"MixpanelType","abstract":"Property keys must be String objects and the supported value types need to conform to MixpanelType."},"Protocols/TweakClusterType.html":{"name":"TweakClusterType","abstract":"This protocol allows for easy initialization of TweakStore."},"Protocols/TweakLibraryType.html":{"name":"TweakLibraryType","abstract":"Create a public struct in your application that conforms to this protocol to declare your own tweaks!"},"Protocols/TweakableType.html":{"name":"TweakableType","abstract":"To add a new to our Tweak, make T conform to this protocol."},"Functions.html#/s:8Mixpanel2eeoiySbAA8AnyTweakV_ADtF":{"name":"==(_:_:)","abstract":"Comparator between two tweaks for A/B Testing."},"Functions.html#/s:8Mixpanel2eeoiySbAA5TweakVyxG_AEtAA13TweakableTypeRzlF":{"name":"==(_:_:)","abstract":"Comparator between two tweaks for A/B Testing."},"Extensions/CGFloat.html#/s:12CoreGraphics7CGFloatV8MixpanelE17tweakViewDataTypeAD05TweakfgH0OvpZ":{"name":"tweakViewDataType","abstract":"TweakableType supports the cgFloat type","parent_name":"CGFloat"},"Extensions/Dictionary.html#/s:SD8MixpanelE25isValidNestedTypeAndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"Checks if this object has nested object types that Mixpanel supports.","parent_name":"Dictionary"},"Extensions/Dictionary.html#/s:SD8MixpanelE6equals3rhsSbAA0A4Type_p_tF":{"name":"equals(rhs:)","abstract":"Undocumented","parent_name":"Dictionary"},"Extensions/NSArray.html#/s:So7NSArrayC8MixpanelE25isValidNestedTypeAndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"Checks if this object has nested object types that Mixpanel supports.","parent_name":"NSArray"},"Extensions/NSArray.html#/s:So7NSArrayC8MixpanelE6equals3rhsSbAC0B4Type_p_tF":{"name":"equals(rhs:)","abstract":"Undocumented","parent_name":"NSArray"},"Extensions/NSNull.html#/s:So6NSNullC8MixpanelE25isValidNestedTypeAndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"Checks if this object has nested object types that Mixpanel supports.","parent_name":"NSNull"},"Extensions/NSNull.html#/s:So6NSNullC8MixpanelE6equals3rhsSbAC0B4Type_p_tF":{"name":"equals(rhs:)","abstract":"Undocumented","parent_name":"NSNull"},"Extensions/URL.html#/s:10Foundation3URLV8MixpanelE25isValidNestedTypeAndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"Checks if this object has nested object types that Mixpanel supports.","parent_name":"URL"},"Extensions/URL.html#/s:10Foundation3URLV8MixpanelE6equals3rhsSbAD0C4Type_p_tF":{"name":"equals(rhs:)","abstract":"Undocumented","parent_name":"URL"},"Extensions/Date.html#/s:10Foundation4DateV8MixpanelE25isValidNestedTypeAndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"Checks if this object has nested object types that Mixpanel supports.","parent_name":"Date"},"Extensions/Date.html#/s:10Foundation4DateV8MixpanelE6equals3rhsSbAD0C4Type_p_tF":{"name":"equals(rhs:)","abstract":"Undocumented","parent_name":"Date"},"Extensions/Bool.html#/s:Sb8MixpanelE25isValidNestedTypeAndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"Checks if this object has nested object types that Mixpanel supports.","parent_name":"Bool"},"Extensions/Bool.html#/s:Sb8MixpanelE6equals3rhsSbAA0A4Type_p_tF":{"name":"equals(rhs:)","abstract":"Undocumented","parent_name":"Bool"},"Extensions/Bool.html#/s:Sb8MixpanelE17tweakViewDataTypeAA05TweakcdE0OvpZ":{"name":"tweakViewDataType","abstract":"TweakableType supports the boolean type","parent_name":"Bool"},"Extensions/Float.html#/s:Sf8MixpanelE25isValidNestedTypeAndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"Checks if this object has nested object types that Mixpanel supports.","parent_name":"Float"},"Extensions/Float.html#/s:Sf8MixpanelE6equals3rhsSbAA0A4Type_p_tF":{"name":"equals(rhs:)","abstract":"Undocumented","parent_name":"Float"},"Extensions/Double.html#/s:Sd8MixpanelE25isValidNestedTypeAndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"Checks if this object has nested object types that Mixpanel supports.","parent_name":"Double"},"Extensions/Double.html#/s:Sd8MixpanelE6equals3rhsSbAA0A4Type_p_tF":{"name":"equals(rhs:)","abstract":"Undocumented","parent_name":"Double"},"Extensions/Double.html#/s:Sd8MixpanelE17tweakViewDataTypeAA05TweakcdE0OvpZ":{"name":"tweakViewDataType","abstract":"TweakableType supports the double type","parent_name":"Double"},"Extensions/UInt.html#/s:Su8MixpanelE25isValidNestedTypeAndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"Checks if this object has nested object types that Mixpanel supports.","parent_name":"UInt"},"Extensions/UInt.html#/s:Su8MixpanelE6equals3rhsSbAA0A4Type_p_tF":{"name":"equals(rhs:)","abstract":"Undocumented","parent_name":"UInt"},"Extensions/Int.html#/s:Si8MixpanelE25isValidNestedTypeAndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"Checks if this object has nested object types that Mixpanel supports.","parent_name":"Int"},"Extensions/Int.html#/s:Si8MixpanelE6equals3rhsSbAA0A4Type_p_tF":{"name":"equals(rhs:)","abstract":"Undocumented","parent_name":"Int"},"Extensions/Int.html#/s:Si8MixpanelE17tweakViewDataTypeAA05TweakcdE0OvpZ":{"name":"tweakViewDataType","abstract":"TweakableType supports the integer type","parent_name":"Int"},"Extensions/NSNumber.html#/s:So8NSNumberC8MixpanelE25isValidNestedTypeAndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"Checks if this object has nested object types that Mixpanel supports.","parent_name":"NSNumber"},"Extensions/NSNumber.html#/s:So8NSNumberC8MixpanelE6equals3rhsSbAC0B4Type_p_tF":{"name":"equals(rhs:)","abstract":"Undocumented","parent_name":"NSNumber"},"Extensions/NSString.html#/s:So8NSStringC8MixpanelE25isValidNestedTypeAndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"Checks if this object has nested object types that Mixpanel supports.","parent_name":"NSString"},"Extensions/NSString.html#/s:So8NSStringC8MixpanelE6equals3rhsSbAC0B4Type_p_tF":{"name":"equals(rhs:)","abstract":"Undocumented","parent_name":"NSString"},"Extensions/String.html#/s:SS8MixpanelE25isValidNestedTypeAndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"Checks if this object has nested object types that Mixpanel supports.","parent_name":"String"},"Extensions/String.html#/s:SS8MixpanelE6equals3rhsSbAA0A4Type_p_tF":{"name":"equals(rhs:)","abstract":"Undocumented","parent_name":"String"},"Extensions/String.html#/s:SS8MixpanelE17tweakViewDataTypeAA05TweakcdE0OvpZ":{"name":"tweakViewDataType","abstract":"TweakableType supports the string type","parent_name":"String"},"Extensions/Optional.html#/s:Sq8MixpanelE25isValidNestedTypeAndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"Checks if this object has nested object types that Mixpanel supports.","parent_name":"Optional"},"Extensions/Optional.html#/s:Sq8MixpanelE6equals3rhsSbAA0A4Type_p_tF":{"name":"equals(rhs:)","abstract":"Undocumented","parent_name":"Optional"},"Extensions/Array.html#/s:Sa8MixpanelE25isValidNestedTypeAndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"Checks if this object has nested object types that Mixpanel supports.","parent_name":"Array"},"Extensions/Array.html#/s:Sa8MixpanelE6equals3rhsSbAA0A4Type_p_tF":{"name":"equals(rhs:)","abstract":"Undocumented","parent_name":"Array"},"Extensions/UIColor.html#/s:So7UIColorC8MixpanelE5MPHexABSu_tcfc":{"name":"init(MPHex:)","abstract":"The shorthand four-digit hexadecimal representation of color with alpha.","parent_name":"UIColor"},"Extensions/UIColor.html":{"name":"UIColor"},"Extensions/Array.html":{"name":"Array"},"Extensions/Optional.html":{"name":"Optional"},"Extensions/String.html":{"name":"String"},"Extensions/NSString.html":{"name":"NSString"},"Extensions/NSNumber.html":{"name":"NSNumber"},"Extensions/Int.html":{"name":"Int"},"Extensions/UInt.html":{"name":"UInt"},"Extensions/Double.html":{"name":"Double"},"Extensions/Float.html":{"name":"Float"},"Extensions/Bool.html":{"name":"Bool"},"Extensions/Date.html":{"name":"Date"},"Extensions/URL.html":{"name":"URL"},"Extensions/NSNull.html":{"name":"NSNull"},"Extensions/NSArray.html":{"name":"NSArray"},"Extensions/Dictionary.html":{"name":"Dictionary"},"Extensions/CGFloat.html":{"name":"CGFloat"},"Enums/TweakViewDataType.html#/s:8Mixpanel17TweakViewDataTypeO7booleanyA2CmF":{"name":"boolean","abstract":"TweakableType supports the boolean type","parent_name":"TweakViewDataType"},"Enums/TweakViewDataType.html#/s:8Mixpanel17TweakViewDataTypeO7integeryA2CmF":{"name":"integer","abstract":"TweakableType supports the integer type","parent_name":"TweakViewDataType"},"Enums/TweakViewDataType.html#/s:8Mixpanel17TweakViewDataTypeO7cgFloatyA2CmF":{"name":"cgFloat","abstract":"TweakableType supports the cgFloat type","parent_name":"TweakViewDataType"},"Enums/TweakViewDataType.html#/s:8Mixpanel17TweakViewDataTypeO6doubleyA2CmF":{"name":"double","abstract":"TweakableType supports the double type","parent_name":"TweakViewDataType"},"Enums/TweakViewDataType.html#/s:8Mixpanel17TweakViewDataTypeO6stringyA2CmF":{"name":"string","abstract":"TweakableType supports the string type","parent_name":"TweakViewDataType"},"Enums/TweakViewDataType.html":{"name":"TweakViewDataType","abstract":"The data types that are currently supported for SwiftTweaks."},"Classes/MixpanelPushNotifications.html#/s:8Mixpanel0A17PushNotificationsC02isaB12NotificationySbSo21UNNotificationContentCFZ":{"name":"isMixpanelPushNotification(_:)","abstract":"Undocumented","parent_name":"MixpanelPushNotifications"},"Classes/MixpanelPushNotifications.html#/s:8Mixpanel0A17PushNotificationsC10trackEvent_10properties7requestySS_SDySSAA0A4Type_pGSo21UNNotificationRequestCtFZ":{"name":"trackEvent(_:properties:request:)","abstract":"Undocumented","parent_name":"MixpanelPushNotifications"},"Classes/People.html#/s:8Mixpanel6PeopleC10ignoreTimeSbvp":{"name":"ignoreTime","abstract":"controls the $ignore_time property in any subsequent MixpanelPeople operation.","parent_name":"People"},"Classes/People.html#/s:8Mixpanel6PeopleC18addPushDeviceTokenyy10Foundation4DataVF":{"name":"addPushDeviceToken(_:)","abstract":"Register the given device to receive push notifications.","parent_name":"People"},"Classes/People.html#/s:8Mixpanel6PeopleC25removeAllPushDeviceTokensyyF":{"name":"removeAllPushDeviceTokens()","abstract":"Unregister the given device to receive push notifications.","parent_name":"People"},"Classes/People.html#/s:8Mixpanel6PeopleC21removePushDeviceTokenyy10Foundation4DataVF":{"name":"removePushDeviceToken(_:)","abstract":"Unregister a specific device token from the ability to receive push notifications.","parent_name":"People"},"Classes/People.html#/s:8Mixpanel6PeopleC3set10propertiesySDySSAA0A4Type_pG_tF":{"name":"set(properties:)","abstract":"Set properties on the current user in Mixpanel People.","parent_name":"People"},"Classes/People.html#/s:8Mixpanel6PeopleC3set8property2toySS_AA0A4Type_ptF":{"name":"set(property:to:)","abstract":"Convenience method for setting a single property in Mixpanel People.","parent_name":"People"},"Classes/People.html#/s:8Mixpanel6PeopleC7setOnce10propertiesySDySSAA0A4Type_pG_tF":{"name":"setOnce(properties:)","abstract":"Set properties on the current user in Mixpanel People, but doesn’t overwrite if","parent_name":"People"},"Classes/People.html#/s:8Mixpanel6PeopleC5unset10propertiesySaySSG_tF":{"name":"unset(properties:)","abstract":"Remove a list of properties and their values from the current user’s profile","parent_name":"People"},"Classes/People.html#/s:8Mixpanel6PeopleC9increment10propertiesySDySSAA0A4Type_pG_tF":{"name":"increment(properties:)","abstract":"Increment the given numeric properties by the given values.","parent_name":"People"},"Classes/People.html#/s:8Mixpanel6PeopleC9increment8property2byySS_SdtF":{"name":"increment(property:by:)","abstract":"Convenience method for incrementing a single numeric property by the specified","parent_name":"People"},"Classes/People.html#/s:8Mixpanel6PeopleC6append10propertiesySDySSAA0A4Type_pG_tF":{"name":"append(properties:)","abstract":"Append values to list properties.","parent_name":"People"},"Classes/People.html#/s:8Mixpanel6PeopleC6remove10propertiesySDySSAA0A4Type_pG_tF":{"name":"remove(properties:)","abstract":"Removes list properties.","parent_name":"People"},"Classes/People.html#/s:8Mixpanel6PeopleC5union10propertiesySDySSAA0A4Type_pG_tF":{"name":"union(properties:)","abstract":"Union list properties.","parent_name":"People"},"Classes/People.html#/s:8Mixpanel6PeopleC11trackCharge6amount10propertiesySd_SDySSAA0A4Type_pGSgtF":{"name":"trackCharge(amount:properties:)","abstract":"Track money spent by the current user for revenue analytics and associate","parent_name":"People"},"Classes/People.html#/s:8Mixpanel6PeopleC12clearChargesyyF":{"name":"clearCharges()","abstract":"Delete current user’s revenue history.","parent_name":"People"},"Classes/People.html#/s:8Mixpanel6PeopleC10deleteUseryyF":{"name":"deleteUser()","abstract":"Delete current user’s record from Mixpanel People.","parent_name":"People"},"Classes/MixpanelNotificationServiceExtension.html#/c:@M@Mixpanel@objc(cs)MixpanelNotificationServiceExtension(im)didReceiveNotificationRequest:withContentHandler:":{"name":"didReceive(_:withContentHandler:)","abstract":"Undocumented","parent_name":"MixpanelNotificationServiceExtension"},"Classes/MixpanelNotificationServiceExtension.html#/c:@M@Mixpanel@objc(cs)MixpanelNotificationServiceExtension(im)serviceExtensionTimeWillExpire":{"name":"serviceExtensionTimeWillExpire()","abstract":"Undocumented","parent_name":"MixpanelNotificationServiceExtension"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC8apiTokenSSvp":{"name":"apiToken","abstract":"apiToken string that identifies the project to track data to","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC8delegateAA0A8Delegate_pSgvp":{"name":"delegate","abstract":"The a MixpanelDelegate object that gives control over Mixpanel network activity.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC10distinctIdSSvp":{"name":"distinctId","abstract":"distinctId string that uniquely identifies the current user.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC11anonymousIdSSSgvp":{"name":"anonymousId","abstract":"anonymousId string that uniquely identifies the device.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC6userIdSSSgvp":{"name":"userId","abstract":"userId string that identify is called with.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC22hadPersistedDistinctIdSbSgvp":{"name":"hadPersistedDistinctId","abstract":"hadPersistedDistinctId is a boolean value which specifies that the stored distinct_id","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC5aliasSSSgvp":{"name":"alias","abstract":"alias string that uniquely identifies the current user.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC6peopleAA6PeopleCSgvp":{"name":"people","abstract":"Accessor to the Mixpanel People API object.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC28showNetworkActivityIndicatorSbvp":{"name":"showNetworkActivityIndicator","abstract":"Controls whether to show spinning network activity indicator when flushing","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC27trackAutomaticEventsEnabledSbSgvp":{"name":"trackAutomaticEventsEnabled","abstract":"This allows enabling or disabling collecting common mobile events","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC13flushIntervalSdvp":{"name":"flushInterval","abstract":"Flush timer’s interval.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC17flushOnBackgroundSbvp":{"name":"flushOnBackground","abstract":"Control whether the library should flush data to Mixpanel when the app","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC26useIPAddressForGeoLocationSbvp":{"name":"useIPAddressForGeoLocation","abstract":"Controls whether to automatically send the client IP Address as part of","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC9serverURLSSvp":{"name":"serverURL","abstract":"The base URL used for Mixpanel API requests.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:s28CustomDebugStringConvertibleP16debugDescriptionSSvp":{"name":"debugDescription","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC14loggingEnabledSbvp":{"name":"loggingEnabled","abstract":"This allows enabling or disabling of all Mixpanel logs at run time.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC4nameSSvp":{"name":"name","abstract":"A unique identifier for this MixpanelInstance","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC29enableVisualEditorForCodelessSbvp":{"name":"enableVisualEditorForCodeless","abstract":"Controls whether to enable the visual editor for codeless on mixpanel.com","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC24checkForVariantsOnActiveSbvp":{"name":"checkForVariantsOnActive","abstract":"Controls whether to automatically check for A/B test variants for the","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC28checkForNotificationOnActiveSbvp":{"name":"checkForNotificationOnActive","abstract":"Controls whether to automatically check for notifications for the","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC24showNotificationOnActiveSbvp":{"name":"showNotificationOnActive","abstract":"Controls whether to automatically check for and show in-app notifications","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC32miniNotificationPresentationTimeSdvp":{"name":"miniNotificationPresentationTime","abstract":"Determines the time, in seconds, that a mini notification will remain on","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC22minimumSessionDurations6UInt64Vvp":{"name":"minimumSessionDuration","abstract":"The minimum session duration (ms) that is tracked in automatic events.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC22maximumSessionDurations6UInt64Vvp":{"name":"maximumSessionDuration","abstract":"The maximum session duration (ms) that is tracked in automatic events.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC8identify10distinctId9usePeopleySS_SbtF":{"name":"identify(distinctId:usePeople:)","abstract":"Sets the distinct ID of the current user.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC11createAlias_10distinctId9usePeopleySS_SSSbtF":{"name":"createAlias(_:distinctId:usePeople:)","abstract":"The alias method creates an alias which Mixpanel will use to remap one id to another.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC5resetyyF":{"name":"reset()","abstract":"Clears all stored properties including the distinct Id.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC7archiveyyF":{"name":"archive()","abstract":"Writes current project info including the distinct Id, super properties,","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/archive()":{"name":"archive()","abstract":"Writes current project info including the distinct Id, super properties,","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC5flush10completionyyycSg_tF":{"name":"flush(completion:)","abstract":"Uploads queued data to the Mixpanel server.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC5track5event10propertiesySSSg_SDySSAA0A4Type_pGSgtF":{"name":"track(event:properties:)","abstract":"Tracks an event with properties.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC15trackWithGroups5event10properties6groupsySSSg_SDySSAA0A4Type_pGSgAKtF":{"name":"trackWithGroups(event:properties:groups:)","abstract":"Tracks an event with properties and to specific groups.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC8getGroup8groupKey0E2IDAA0D0CSS_AA0A4Type_ptF":{"name":"getGroup(groupKey:groupID:)","abstract":"Undocumented","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC4time5eventySS_tF":{"name":"time(event:)","abstract":"Starts a timer that will be stopped and added as a property when a","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC16eventElapsedTime0C0SdSS_tF":{"name":"eventElapsedTime(event:)","abstract":"Retrieves the time elapsed for the named event since time(event:) was called.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC16clearTimedEventsyyF":{"name":"clearTimedEvents()","abstract":"Clears all current event timers.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC15clearTimedEvent5eventySS_tF":{"name":"clearTimedEvent(event:)","abstract":"Clears the event timer for the named event.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC22currentSuperPropertiesSDySSypGyF":{"name":"currentSuperProperties()","abstract":"Returns the currently set super properties.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC20clearSuperPropertiesyyF":{"name":"clearSuperProperties()","abstract":"Clears all currently set super properties.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC23registerSuperPropertiesyySDySSAA0A4Type_pGF":{"name":"registerSuperProperties(_:)","abstract":"Registers super properties, overwriting ones that have already been set.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC27registerSuperPropertiesOnce_12defaultValueySDySSAA0A4Type_pG_AaF_pSgtF":{"name":"registerSuperPropertiesOnce(_:defaultValue:)","abstract":"Registers super properties without overwriting ones that have already been set,","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC23unregisterSuperPropertyyySSF":{"name":"unregisterSuperProperty(_:)","abstract":"Removes a previously registered super property.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC8setGroup8groupKey0E2IDySS_AA0A4Type_ptF":{"name":"setGroup(groupKey:groupID:)","abstract":"Convenience method to set a single group the user belongs to.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC8setGroup8groupKey0E3IDsySS_SayAA0A4Type_pGtF":{"name":"setGroup(groupKey:groupIDs:)","abstract":"Set the groups this user belongs to.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC8addGroup8groupKey0E2IDySS_AA0A4Type_ptF":{"name":"addGroup(groupKey:groupID:)","abstract":"Add a group to this user’s membership for a particular group key","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC11removeGroup8groupKey0E2IDySS_AA0A4Type_ptF":{"name":"removeGroup(groupKey:groupID:)","abstract":"Remove a group from this user’s membership for a particular group key","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC14optOutTrackingyyF":{"name":"optOutTracking()","abstract":"Opt out tracking.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC13optInTracking10distinctId10propertiesySSSg_SDySSAA0A4Type_pGSgtF":{"name":"optInTracking(distinctId:properties:)","abstract":"Opt in tracking.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC19hasOptedOutTrackingSbyF":{"name":"hasOptedOutTracking()","abstract":"Returns if the current user has opted out tracking.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC15joinExperiments8callbackyyycSg_tF":{"name":"joinExperiments(callback:)","abstract":"Join any experiments (A/B tests) that are available for the current user.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC16showNotificationyyF":{"name":"showNotification()","abstract":"Shows a notification if one is available.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC16showNotification4typeySS_tF":{"name":"showNotification(type:)","abstract":"Shows a notification with the given type if one is available.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC16showNotification2IDySi_tF":{"name":"showNotification(ID:)","abstract":"Shows a notification with the given ID","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC24fetchNotificationPayload10completionyySDySSyXlGSgc_tF":{"name":"fetchNotificationPayload(completion:)","abstract":"Returns the payload of a notification if available","parent_name":"MixpanelInstance"},"Classes/Mixpanel.html#/s:8MixpanelAAC10initialize5token13launchOptions13flushInterval12instanceName21automaticPushTracking06optOutL9ByDefaultAA0A8InstanceCSS_SDySo019UIApplicationLaunchE3KeyaypGSgSdSSS2btFZ":{"name":"initialize(token:launchOptions:flushInterval:instanceName:automaticPushTracking:optOutTrackingByDefault:)","abstract":"Initializes an instance of the API with the given project token.","parent_name":"Mixpanel"},"Classes/Mixpanel.html#/initialize(token:flushInterval:instanceName:optOutTrackingByDefault:)":{"name":"initialize(token:flushInterval:instanceName:optOutTrackingByDefault:)","abstract":"Initializes an instance of the API with the given project token (MAC OS ONLY).","parent_name":"Mixpanel"},"Classes/Mixpanel.html#/s:8MixpanelAAC11getInstance4nameAA0aC0CSgSS_tFZ":{"name":"getInstance(name:)","abstract":"Gets the mixpanel instance with the given name","parent_name":"Mixpanel"},"Classes/Mixpanel.html#/s:8MixpanelAAC12mainInstanceAA0aC0CyFZ":{"name":"mainInstance()","abstract":"Returns the main instance that was initialized.","parent_name":"Mixpanel"},"Classes/Mixpanel.html#/s:8MixpanelAAC15setMainInstance4nameySS_tFZ":{"name":"setMainInstance(name:)","abstract":"Sets the main instance based on the instance name","parent_name":"Mixpanel"},"Classes/Mixpanel.html#/s:8MixpanelAAC14removeInstance4nameySS_tFZ":{"name":"removeInstance(name:)","abstract":"Removes an unneeded Mixpanel instance based on its name","parent_name":"Mixpanel"},"Classes/Group.html#/s:8Mixpanel5GroupC3set10propertiesySDySSAA0A4Type_pG_tF":{"name":"set(properties:)","abstract":"Sets properties on this group.","parent_name":"Group"},"Classes/Group.html#/s:8Mixpanel5GroupC3set8property2toySS_AA0A4Type_ptF":{"name":"set(property:to:)","abstract":"Convenience method for setting a single property in Mixpanel Groups.","parent_name":"Group"},"Classes/Group.html#/s:8Mixpanel5GroupC7setOnce10propertiesySDySSAA0A4Type_pG_tF":{"name":"setOnce(properties:)","abstract":"Sets properties on the current Mixpanel Group, but doesn’t overwrite if","parent_name":"Group"},"Classes/Group.html#/s:8Mixpanel5GroupC5unset8propertyySS_tF":{"name":"unset(property:)","abstract":"Remove a property and its value from a group’s profile in Mixpanel Groups.","parent_name":"Group"},"Classes/Group.html#/s:8Mixpanel5GroupC6remove3key5valueySS_AA0A4Type_ptF":{"name":"remove(key:value:)","abstract":"Removes list properties.","parent_name":"Group"},"Classes/Group.html#/s:8Mixpanel5GroupC5union3key6valuesySS_SayAA0A4Type_pGtF":{"name":"union(key:values:)","abstract":"Union list properties.","parent_name":"Group"},"Classes/Group.html#/s:8Mixpanel5GroupC06deleteB0yyF":{"name":"deleteGroup()","abstract":"Delete group’s record from Mixpanel Groups.","parent_name":"Group"},"Classes/Group.html":{"name":"Group","abstract":"Access to the Mixpanel Groups API, available through the getGroup function from"},"Classes/Mixpanel.html":{"name":"Mixpanel","abstract":"The primary class for integrating Mixpanel with your app."},"Classes/MixpanelInstance.html":{"name":"MixpanelInstance","abstract":"The class that represents the Mixpanel Instance"},"Classes/MixpanelNotificationServiceExtension.html":{"name":"MixpanelNotificationServiceExtension","abstract":"Undocumented"},"Classes/People.html":{"name":"People","abstract":"Access to the Mixpanel People API, available as an accessible variable from"},"Classes/MixpanelPushNotifications.html":{"name":"MixpanelPushNotifications","abstract":"Undocumented"},"Classes.html#/s:8Mixpanel10TweakStoreC":{"name":"TweakStore","abstract":"Looks up the persisted state for tweaks."},"Classes.html":{"name":"Classes","abstract":"The following classes are available globally."},"Enums.html":{"name":"Enumerations","abstract":"The following enumerations are available globally."},"Extensions.html":{"name":"Extensions","abstract":"The following extensions are available globally."},"Functions.html":{"name":"Functions","abstract":"The following functions are available globally."},"Protocols.html":{"name":"Protocols","abstract":"The following protocols are available globally."},"Structs.html":{"name":"Structures","abstract":"The following structures are available globally."},"Typealiases.html":{"name":"Type Aliases","abstract":"The following type aliases are available globally."}} \ No newline at end of file +{"Typealiases.html#/s:8Mixpanel10Propertiesa":{"name":"Properties","abstract":"Undocumented"},"Structs/MixpanelTweaks.html#/s:8Mixpanel0A6TweaksV12defaultStoreAA05TweakD0CvpZ":{"name":"defaultStore","abstract":"The default store that holds the Tweaks","parent_name":"MixpanelTweaks"},"Structs/MixpanelTweaks.html#/s:8Mixpanel0A6TweaksV03setB06tweaksySayAA16TweakClusterType_pG_tFZ":{"name":"setTweaks(tweaks:)","abstract":"setTweaks needs to be called to add the defined Tweaks into the environment.","parent_name":"MixpanelTweaks"},"Structs/Tweak.html#/s:8Mixpanel5TweakV9tweakName12defaultValueACyxGSS_xtcfc":{"name":"init(tweakName:defaultValue:)","abstract":"Initializer for a Tweak for A/B Testing","parent_name":"Tweak"},"Structs/Tweak.html#/s:8Mixpanel5TweakV4hash4intoys6HasherVz_tF":{"name":"hash(into:)","abstract":"Hashing for a Tweak for A/B Testing in order for it to be stored.","parent_name":"Tweak"},"Structs/Tweak.html#/s:8Mixpanel16TweakClusterTypeP05tweakC0SayAA03AnyB0VGvp":{"name":"tweakCluster","parent_name":"Tweak"},"Structs/Tweak.html#/s:8Mixpanel5TweakVAASLRzs13SignedNumericRzrlE9tweakName12defaultValue3min3max8stepSizeACyxGSS_xxSgA2Ktcfc":{"name":"init(tweakName:defaultValue:min:max:stepSize:)","abstract":"Creates a Tweak where T: SignedNumberType","parent_name":"Tweak"},"Structs/AnyTweak.html#/s:SH4hash4intoys6HasherVz_tF":{"name":"hash(into:)","parent_name":"AnyTweak"},"Structs/AnyTweak.html#/s:8Mixpanel8AnyTweakV12tweakClusterSayACGvp":{"name":"tweakCluster","abstract":"Allows easy tweak initialization by clustering tweaks together for A/B Testing","parent_name":"AnyTweak"},"Structs/AnyTweak.html":{"name":"AnyTweak","abstract":"A type-erasure around Tweak for A/B Testing."},"Structs/Tweak.html":{"name":"Tweak","abstract":"Tweaks let you adjust things on the fly."},"Structs/MixpanelTweaks.html":{"name":"MixpanelTweaks","abstract":"The MixpanelTweaks struct that needs to be extended to define new Tweaks for A/B testing"},"Protocols/TweakableType.html#/s:8Mixpanel13TweakableTypeP013tweakViewDataC0AA05TweakefC0OvpZ":{"name":"tweakViewDataType","abstract":"The data type of the TweakableType","parent_name":"TweakableType"},"Protocols/TweakLibraryType.html#/s:8Mixpanel16TweakLibraryTypeP12defaultStoreAA0bF0CvpZ":{"name":"defaultStore","abstract":"the default tweak store","parent_name":"TweakLibraryType"},"Protocols/TweakLibraryType.html#/s:8Mixpanel16TweakLibraryTypePAAE6assignyqd__AA0B0Vyqd__GAA09TweakableD0Rd__lFZ":{"name":"assign(_:)","abstract":"Returns the current value for a tweak from the TweakLibrary’s default store.","parent_name":"TweakLibraryType"},"Protocols/TweakLibraryType.html#/s:8Mixpanel16TweakLibraryTypePAAE4bind_7bindingyAA0B0Vyqd__G_yqd__ctAA09TweakableD0Rd__lFZ":{"name":"bind(_:binding:)","abstract":"Immediately binds the currentValue of a given tweak, and then continues to update whenever the tweak changes.","parent_name":"TweakLibraryType"},"Protocols/TweakClusterType.html#/s:8Mixpanel16TweakClusterTypeP05tweakC0SayAA03AnyB0VGvp":{"name":"tweakCluster","abstract":"The tweak cluster to allow easy initialization of Tweaks","parent_name":"TweakClusterType"},"Protocols/MixpanelType.html#/s:8Mixpanel0A4TypeP013isValidNestedB8AndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"Checks if this object has nested object types that Mixpanel supports.","parent_name":"MixpanelType"},"Protocols/MixpanelType.html#/s:8Mixpanel0A4TypeP6equals3rhsSbAaB_p_tF":{"name":"equals(rhs:)","abstract":"Undocumented","parent_name":"MixpanelType"},"Protocols/MixpanelDelegate.html#/s:8Mixpanel0A8DelegateP17mixpanelWillFlushySbAA0A8InstanceCF":{"name":"mixpanelWillFlush(_:)","abstract":"Asks the delegate if data should be uploaded to the server.","parent_name":"MixpanelDelegate"},"Protocols/MixpanelDelegate.html":{"name":"MixpanelDelegate","abstract":"Delegate protocol for controlling the Mixpanel API’s network behavior."},"Protocols/MixpanelType.html":{"name":"MixpanelType","abstract":"Property keys must be String objects and the supported value types need to conform to MixpanelType."},"Protocols/TweakClusterType.html":{"name":"TweakClusterType","abstract":"This protocol allows for easy initialization of TweakStore."},"Protocols/TweakLibraryType.html":{"name":"TweakLibraryType","abstract":"Create a public struct in your application that conforms to this protocol to declare your own tweaks!"},"Protocols/TweakableType.html":{"name":"TweakableType","abstract":"To add a new to our Tweak, make T conform to this protocol."},"Functions.html#/s:8Mixpanel2eeoiySbAA8AnyTweakV_ADtF":{"name":"==(_:_:)","abstract":"Comparator between two tweaks for A/B Testing."},"Functions.html#/s:8Mixpanel2eeoiySbAA5TweakVyxG_AEtAA13TweakableTypeRzlF":{"name":"==(_:_:)","abstract":"Comparator between two tweaks for A/B Testing."},"Extensions/CGFloat.html#/s:12CoreGraphics7CGFloatV8MixpanelE17tweakViewDataTypeAD05TweakfgH0OvpZ":{"name":"tweakViewDataType","abstract":"TweakableType supports the cgFloat type","parent_name":"CGFloat"},"Extensions/Dictionary.html#/s:SD8MixpanelE25isValidNestedTypeAndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"Checks if this object has nested object types that Mixpanel supports.","parent_name":"Dictionary"},"Extensions/Dictionary.html#/s:SD8MixpanelE6equals3rhsSbAA0A4Type_p_tF":{"name":"equals(rhs:)","abstract":"Undocumented","parent_name":"Dictionary"},"Extensions/NSArray.html#/s:So7NSArrayC8MixpanelE25isValidNestedTypeAndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"Checks if this object has nested object types that Mixpanel supports.","parent_name":"NSArray"},"Extensions/NSArray.html#/s:So7NSArrayC8MixpanelE6equals3rhsSbAC0B4Type_p_tF":{"name":"equals(rhs:)","abstract":"Undocumented","parent_name":"NSArray"},"Extensions/NSNull.html#/s:So6NSNullC8MixpanelE25isValidNestedTypeAndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"Checks if this object has nested object types that Mixpanel supports.","parent_name":"NSNull"},"Extensions/NSNull.html#/s:So6NSNullC8MixpanelE6equals3rhsSbAC0B4Type_p_tF":{"name":"equals(rhs:)","abstract":"Undocumented","parent_name":"NSNull"},"Extensions/URL.html#/s:10Foundation3URLV8MixpanelE25isValidNestedTypeAndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"Checks if this object has nested object types that Mixpanel supports.","parent_name":"URL"},"Extensions/URL.html#/s:10Foundation3URLV8MixpanelE6equals3rhsSbAD0C4Type_p_tF":{"name":"equals(rhs:)","abstract":"Undocumented","parent_name":"URL"},"Extensions/Date.html#/s:10Foundation4DateV8MixpanelE25isValidNestedTypeAndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"Checks if this object has nested object types that Mixpanel supports.","parent_name":"Date"},"Extensions/Date.html#/s:10Foundation4DateV8MixpanelE6equals3rhsSbAD0C4Type_p_tF":{"name":"equals(rhs:)","abstract":"Undocumented","parent_name":"Date"},"Extensions/Bool.html#/s:Sb8MixpanelE25isValidNestedTypeAndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"Checks if this object has nested object types that Mixpanel supports.","parent_name":"Bool"},"Extensions/Bool.html#/s:Sb8MixpanelE6equals3rhsSbAA0A4Type_p_tF":{"name":"equals(rhs:)","abstract":"Undocumented","parent_name":"Bool"},"Extensions/Bool.html#/s:Sb8MixpanelE17tweakViewDataTypeAA05TweakcdE0OvpZ":{"name":"tweakViewDataType","abstract":"TweakableType supports the boolean type","parent_name":"Bool"},"Extensions/Float.html#/s:Sf8MixpanelE25isValidNestedTypeAndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"Checks if this object has nested object types that Mixpanel supports.","parent_name":"Float"},"Extensions/Float.html#/s:Sf8MixpanelE6equals3rhsSbAA0A4Type_p_tF":{"name":"equals(rhs:)","abstract":"Undocumented","parent_name":"Float"},"Extensions/Double.html#/s:Sd8MixpanelE25isValidNestedTypeAndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"Checks if this object has nested object types that Mixpanel supports.","parent_name":"Double"},"Extensions/Double.html#/s:Sd8MixpanelE6equals3rhsSbAA0A4Type_p_tF":{"name":"equals(rhs:)","abstract":"Undocumented","parent_name":"Double"},"Extensions/Double.html#/s:Sd8MixpanelE17tweakViewDataTypeAA05TweakcdE0OvpZ":{"name":"tweakViewDataType","abstract":"TweakableType supports the double type","parent_name":"Double"},"Extensions/UInt.html#/s:Su8MixpanelE25isValidNestedTypeAndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"Checks if this object has nested object types that Mixpanel supports.","parent_name":"UInt"},"Extensions/UInt.html#/s:Su8MixpanelE6equals3rhsSbAA0A4Type_p_tF":{"name":"equals(rhs:)","abstract":"Undocumented","parent_name":"UInt"},"Extensions/Int.html#/s:Si8MixpanelE25isValidNestedTypeAndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"Checks if this object has nested object types that Mixpanel supports.","parent_name":"Int"},"Extensions/Int.html#/s:Si8MixpanelE6equals3rhsSbAA0A4Type_p_tF":{"name":"equals(rhs:)","abstract":"Undocumented","parent_name":"Int"},"Extensions/Int.html#/s:Si8MixpanelE17tweakViewDataTypeAA05TweakcdE0OvpZ":{"name":"tweakViewDataType","abstract":"TweakableType supports the integer type","parent_name":"Int"},"Extensions/NSNumber.html#/s:So8NSNumberC8MixpanelE25isValidNestedTypeAndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"Checks if this object has nested object types that Mixpanel supports.","parent_name":"NSNumber"},"Extensions/NSNumber.html#/s:So8NSNumberC8MixpanelE6equals3rhsSbAC0B4Type_p_tF":{"name":"equals(rhs:)","abstract":"Undocumented","parent_name":"NSNumber"},"Extensions/NSString.html#/s:So8NSStringC8MixpanelE25isValidNestedTypeAndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"Checks if this object has nested object types that Mixpanel supports.","parent_name":"NSString"},"Extensions/NSString.html#/s:So8NSStringC8MixpanelE6equals3rhsSbAC0B4Type_p_tF":{"name":"equals(rhs:)","abstract":"Undocumented","parent_name":"NSString"},"Extensions/String.html#/s:SS8MixpanelE25isValidNestedTypeAndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"Checks if this object has nested object types that Mixpanel supports.","parent_name":"String"},"Extensions/String.html#/s:SS8MixpanelE6equals3rhsSbAA0A4Type_p_tF":{"name":"equals(rhs:)","abstract":"Undocumented","parent_name":"String"},"Extensions/String.html#/s:SS8MixpanelE17tweakViewDataTypeAA05TweakcdE0OvpZ":{"name":"tweakViewDataType","abstract":"TweakableType supports the string type","parent_name":"String"},"Extensions/Optional.html#/s:Sq8MixpanelE25isValidNestedTypeAndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"Checks if this object has nested object types that Mixpanel supports.","parent_name":"Optional"},"Extensions/Optional.html#/s:Sq8MixpanelE6equals3rhsSbAA0A4Type_p_tF":{"name":"equals(rhs:)","abstract":"Undocumented","parent_name":"Optional"},"Extensions/Array.html#/s:Sa8MixpanelE25isValidNestedTypeAndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"Checks if this object has nested object types that Mixpanel supports.","parent_name":"Array"},"Extensions/Array.html#/s:Sa8MixpanelE6equals3rhsSbAA0A4Type_p_tF":{"name":"equals(rhs:)","abstract":"Undocumented","parent_name":"Array"},"Extensions/UIColor.html#/s:So7UIColorC8MixpanelE5MPHexABSu_tcfc":{"name":"init(MPHex:)","abstract":"The shorthand four-digit hexadecimal representation of color with alpha.","parent_name":"UIColor"},"Extensions/UIColor.html":{"name":"UIColor"},"Extensions/Array.html":{"name":"Array"},"Extensions/Optional.html":{"name":"Optional"},"Extensions/String.html":{"name":"String"},"Extensions/NSString.html":{"name":"NSString"},"Extensions/NSNumber.html":{"name":"NSNumber"},"Extensions/Int.html":{"name":"Int"},"Extensions/UInt.html":{"name":"UInt"},"Extensions/Double.html":{"name":"Double"},"Extensions/Float.html":{"name":"Float"},"Extensions/Bool.html":{"name":"Bool"},"Extensions/Date.html":{"name":"Date"},"Extensions/URL.html":{"name":"URL"},"Extensions/NSNull.html":{"name":"NSNull"},"Extensions/NSArray.html":{"name":"NSArray"},"Extensions/Dictionary.html":{"name":"Dictionary"},"Extensions/CGFloat.html":{"name":"CGFloat"},"Enums/TweakViewDataType.html#/s:8Mixpanel17TweakViewDataTypeO7booleanyA2CmF":{"name":"boolean","abstract":"TweakableType supports the boolean type","parent_name":"TweakViewDataType"},"Enums/TweakViewDataType.html#/s:8Mixpanel17TweakViewDataTypeO7integeryA2CmF":{"name":"integer","abstract":"TweakableType supports the integer type","parent_name":"TweakViewDataType"},"Enums/TweakViewDataType.html#/s:8Mixpanel17TweakViewDataTypeO7cgFloatyA2CmF":{"name":"cgFloat","abstract":"TweakableType supports the cgFloat type","parent_name":"TweakViewDataType"},"Enums/TweakViewDataType.html#/s:8Mixpanel17TweakViewDataTypeO6doubleyA2CmF":{"name":"double","abstract":"TweakableType supports the double type","parent_name":"TweakViewDataType"},"Enums/TweakViewDataType.html#/s:8Mixpanel17TweakViewDataTypeO6stringyA2CmF":{"name":"string","abstract":"TweakableType supports the string type","parent_name":"TweakViewDataType"},"Enums/TweakViewDataType.html":{"name":"TweakViewDataType","abstract":"The data types that are currently supported for SwiftTweaks."},"Classes/MixpanelPushNotifications.html#/s:8Mixpanel0A17PushNotificationsC02isaB12NotificationySbSo21UNNotificationContentCFZ":{"name":"isMixpanelPushNotification(_:)","abstract":"Undocumented","parent_name":"MixpanelPushNotifications"},"Classes/MixpanelPushNotifications.html#/s:8Mixpanel0A17PushNotificationsC10trackEvent_10properties7requestySS_SDySSAA0A4Type_pGSo21UNNotificationRequestCtFZ":{"name":"trackEvent(_:properties:request:)","abstract":"Undocumented","parent_name":"MixpanelPushNotifications"},"Classes/People.html#/s:8Mixpanel6PeopleC10ignoreTimeSbvp":{"name":"ignoreTime","abstract":"controls the $ignore_time property in any subsequent MixpanelPeople operation.","parent_name":"People"},"Classes/People.html#/s:8Mixpanel6PeopleC18addPushDeviceTokenyy10Foundation4DataVF":{"name":"addPushDeviceToken(_:)","abstract":"Register the given device to receive push notifications.","parent_name":"People"},"Classes/People.html#/s:8Mixpanel6PeopleC25removeAllPushDeviceTokensyyF":{"name":"removeAllPushDeviceTokens()","abstract":"Unregister the given device to receive push notifications.","parent_name":"People"},"Classes/People.html#/s:8Mixpanel6PeopleC21removePushDeviceTokenyy10Foundation4DataVF":{"name":"removePushDeviceToken(_:)","abstract":"Unregister a specific device token from the ability to receive push notifications.","parent_name":"People"},"Classes/People.html#/s:8Mixpanel6PeopleC3set10propertiesySDySSAA0A4Type_pG_tF":{"name":"set(properties:)","abstract":"Set properties on the current user in Mixpanel People.","parent_name":"People"},"Classes/People.html#/s:8Mixpanel6PeopleC3set8property2toySS_AA0A4Type_ptF":{"name":"set(property:to:)","abstract":"Convenience method for setting a single property in Mixpanel People.","parent_name":"People"},"Classes/People.html#/s:8Mixpanel6PeopleC7setOnce10propertiesySDySSAA0A4Type_pG_tF":{"name":"setOnce(properties:)","abstract":"Set properties on the current user in Mixpanel People, but doesn’t overwrite if","parent_name":"People"},"Classes/People.html#/s:8Mixpanel6PeopleC5unset10propertiesySaySSG_tF":{"name":"unset(properties:)","abstract":"Remove a list of properties and their values from the current user’s profile","parent_name":"People"},"Classes/People.html#/s:8Mixpanel6PeopleC9increment10propertiesySDySSAA0A4Type_pG_tF":{"name":"increment(properties:)","abstract":"Increment the given numeric properties by the given values.","parent_name":"People"},"Classes/People.html#/s:8Mixpanel6PeopleC9increment8property2byySS_SdtF":{"name":"increment(property:by:)","abstract":"Convenience method for incrementing a single numeric property by the specified","parent_name":"People"},"Classes/People.html#/s:8Mixpanel6PeopleC6append10propertiesySDySSAA0A4Type_pG_tF":{"name":"append(properties:)","abstract":"Append values to list properties.","parent_name":"People"},"Classes/People.html#/s:8Mixpanel6PeopleC6remove10propertiesySDySSAA0A4Type_pG_tF":{"name":"remove(properties:)","abstract":"Removes list properties.","parent_name":"People"},"Classes/People.html#/s:8Mixpanel6PeopleC5union10propertiesySDySSAA0A4Type_pG_tF":{"name":"union(properties:)","abstract":"Union list properties.","parent_name":"People"},"Classes/People.html#/s:8Mixpanel6PeopleC11trackCharge6amount10propertiesySd_SDySSAA0A4Type_pGSgtF":{"name":"trackCharge(amount:properties:)","abstract":"Track money spent by the current user for revenue analytics and associate","parent_name":"People"},"Classes/People.html#/s:8Mixpanel6PeopleC12clearChargesyyF":{"name":"clearCharges()","abstract":"Delete current user’s revenue history.","parent_name":"People"},"Classes/People.html#/s:8Mixpanel6PeopleC10deleteUseryyF":{"name":"deleteUser()","abstract":"Delete current user’s record from Mixpanel People.","parent_name":"People"},"Classes/MixpanelNotificationServiceExtension.html#/c:@M@Mixpanel@objc(cs)MixpanelNotificationServiceExtension(im)didReceiveNotificationRequest:withContentHandler:":{"name":"didReceive(_:withContentHandler:)","abstract":"Undocumented","parent_name":"MixpanelNotificationServiceExtension"},"Classes/MixpanelNotificationServiceExtension.html#/c:@M@Mixpanel@objc(cs)MixpanelNotificationServiceExtension(im)serviceExtensionTimeWillExpire":{"name":"serviceExtensionTimeWillExpire()","abstract":"Undocumented","parent_name":"MixpanelNotificationServiceExtension"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC8apiTokenSSvp":{"name":"apiToken","abstract":"apiToken string that identifies the project to track data to","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC8delegateAA0A8Delegate_pSgvp":{"name":"delegate","abstract":"The a MixpanelDelegate object that gives control over Mixpanel network activity.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC10distinctIdSSvp":{"name":"distinctId","abstract":"distinctId string that uniquely identifies the current user.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC11anonymousIdSSSgvp":{"name":"anonymousId","abstract":"anonymousId string that uniquely identifies the device.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC6userIdSSSgvp":{"name":"userId","abstract":"userId string that identify is called with.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC22hadPersistedDistinctIdSbSgvp":{"name":"hadPersistedDistinctId","abstract":"hadPersistedDistinctId is a boolean value which specifies that the stored distinct_id","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC5aliasSSSgvp":{"name":"alias","abstract":"alias string that uniquely identifies the current user.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC6peopleAA6PeopleCSgvp":{"name":"people","abstract":"Accessor to the Mixpanel People API object.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC28showNetworkActivityIndicatorSbvp":{"name":"showNetworkActivityIndicator","abstract":"Controls whether to show spinning network activity indicator when flushing","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC27trackAutomaticEventsEnabledSbSgvp":{"name":"trackAutomaticEventsEnabled","abstract":"This allows enabling or disabling collecting common mobile events","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC13flushIntervalSdvp":{"name":"flushInterval","abstract":"Flush timer’s interval.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC17flushOnBackgroundSbvp":{"name":"flushOnBackground","abstract":"Control whether the library should flush data to Mixpanel when the app","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC26useIPAddressForGeoLocationSbvp":{"name":"useIPAddressForGeoLocation","abstract":"Controls whether to automatically send the client IP Address as part of","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC9serverURLSSvp":{"name":"serverURL","abstract":"The base URL used for Mixpanel API requests.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:s28CustomDebugStringConvertibleP16debugDescriptionSSvp":{"name":"debugDescription","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC14loggingEnabledSbvp":{"name":"loggingEnabled","abstract":"This allows enabling or disabling of all Mixpanel logs at run time.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC4nameSSvp":{"name":"name","abstract":"A unique identifier for this MixpanelInstance","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC29enableVisualEditorForCodelessSbvp":{"name":"enableVisualEditorForCodeless","abstract":"Controls whether to enable the visual editor for codeless on mixpanel.com","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC24checkForVariantsOnActiveSbvp":{"name":"checkForVariantsOnActive","abstract":"Controls whether to automatically check for A/B test variants for the","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC28checkForNotificationOnActiveSbvp":{"name":"checkForNotificationOnActive","abstract":"Controls whether to automatically check for notifications for the","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC24showNotificationOnActiveSbvp":{"name":"showNotificationOnActive","abstract":"Controls whether to automatically check for and show in-app notifications","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC32miniNotificationPresentationTimeSdvp":{"name":"miniNotificationPresentationTime","abstract":"Determines the time, in seconds, that a mini notification will remain on","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC22minimumSessionDurations6UInt64Vvp":{"name":"minimumSessionDuration","abstract":"The minimum session duration (ms) that is tracked in automatic events.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC22maximumSessionDurations6UInt64Vvp":{"name":"maximumSessionDuration","abstract":"The maximum session duration (ms) that is tracked in automatic events.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC8identify10distinctId9usePeople10completionySS_SbyycSgtF":{"name":"identify(distinctId:usePeople:completion:)","abstract":"Sets the distinct ID of the current user.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC11createAlias_10distinctId9usePeople10completionySS_SSSbyycSgtF":{"name":"createAlias(_:distinctId:usePeople:completion:)","abstract":"The alias method creates an alias which Mixpanel will use to remap one id to another.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC5reset10completionyyycSg_tF":{"name":"reset(completion:)","abstract":"Clears all stored properties including the distinct Id.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC7archiveyyF":{"name":"archive()","abstract":"Writes current project info including the distinct Id, super properties,","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/archive()":{"name":"archive()","abstract":"Writes current project info including the distinct Id, super properties,","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC5flush10completionyyycSg_tF":{"name":"flush(completion:)","abstract":"Uploads queued data to the Mixpanel server.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC5track5event10propertiesySSSg_SDySSAA0A4Type_pGSgtF":{"name":"track(event:properties:)","abstract":"Tracks an event with properties.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC15trackWithGroups5event10properties6groupsySSSg_SDySSAA0A4Type_pGSgAKtF":{"name":"trackWithGroups(event:properties:groups:)","abstract":"Tracks an event with properties and to specific groups.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC8getGroup8groupKey0E2IDAA0D0CSS_AA0A4Type_ptF":{"name":"getGroup(groupKey:groupID:)","abstract":"Undocumented","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC4time5eventySS_tF":{"name":"time(event:)","abstract":"Starts a timer that will be stopped and added as a property when a","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC16eventElapsedTime0C0SdSS_tF":{"name":"eventElapsedTime(event:)","abstract":"Retrieves the time elapsed for the named event since time(event:) was called.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC16clearTimedEventsyyF":{"name":"clearTimedEvents()","abstract":"Clears all current event timers.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC15clearTimedEvent5eventySS_tF":{"name":"clearTimedEvent(event:)","abstract":"Clears the event timer for the named event.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC22currentSuperPropertiesSDySSypGyF":{"name":"currentSuperProperties()","abstract":"Returns the currently set super properties.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC20clearSuperPropertiesyyF":{"name":"clearSuperProperties()","abstract":"Clears all currently set super properties.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC23registerSuperPropertiesyySDySSAA0A4Type_pGF":{"name":"registerSuperProperties(_:)","abstract":"Registers super properties, overwriting ones that have already been set.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC27registerSuperPropertiesOnce_12defaultValueySDySSAA0A4Type_pG_AaF_pSgtF":{"name":"registerSuperPropertiesOnce(_:defaultValue:)","abstract":"Registers super properties without overwriting ones that have already been set,","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC23unregisterSuperPropertyyySSF":{"name":"unregisterSuperProperty(_:)","abstract":"Removes a previously registered super property.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC8setGroup8groupKey0E2IDySS_AA0A4Type_ptF":{"name":"setGroup(groupKey:groupID:)","abstract":"Convenience method to set a single group the user belongs to.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC8setGroup8groupKey0E3IDsySS_SayAA0A4Type_pGtF":{"name":"setGroup(groupKey:groupIDs:)","abstract":"Set the groups this user belongs to.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC8addGroup8groupKey0E2IDySS_AA0A4Type_ptF":{"name":"addGroup(groupKey:groupID:)","abstract":"Add a group to this user’s membership for a particular group key","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC11removeGroup8groupKey0E2IDySS_AA0A4Type_ptF":{"name":"removeGroup(groupKey:groupID:)","abstract":"Remove a group from this user’s membership for a particular group key","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC14optOutTrackingyyF":{"name":"optOutTracking()","abstract":"Opt out tracking.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC13optInTracking10distinctId10propertiesySSSg_SDySSAA0A4Type_pGSgtF":{"name":"optInTracking(distinctId:properties:)","abstract":"Opt in tracking.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC19hasOptedOutTrackingSbyF":{"name":"hasOptedOutTracking()","abstract":"Returns if the current user has opted out tracking.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC15joinExperiments8callbackyyycSg_tF":{"name":"joinExperiments(callback:)","abstract":"Join any experiments (A/B tests) that are available for the current user.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC16showNotificationyyF":{"name":"showNotification()","abstract":"Shows a notification if one is available.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC16showNotification4typeySS_tF":{"name":"showNotification(type:)","abstract":"Shows a notification with the given type if one is available.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC16showNotification2IDySi_tF":{"name":"showNotification(ID:)","abstract":"Shows a notification with the given ID","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC24fetchNotificationPayload10completionyySDySSyXlGSgc_tF":{"name":"fetchNotificationPayload(completion:)","abstract":"Returns the payload of a notification if available","parent_name":"MixpanelInstance"},"Classes/Mixpanel.html#/s:8MixpanelAAC10initialize5token13launchOptions13flushInterval12instanceName21automaticPushTracking06optOutL9ByDefaultAA0A8InstanceCSS_SDySo019UIApplicationLaunchE3KeyaypGSgSdSSS2btFZ":{"name":"initialize(token:launchOptions:flushInterval:instanceName:automaticPushTracking:optOutTrackingByDefault:)","abstract":"Initializes an instance of the API with the given project token.","parent_name":"Mixpanel"},"Classes/Mixpanel.html#/initialize(token:flushInterval:instanceName:optOutTrackingByDefault:)":{"name":"initialize(token:flushInterval:instanceName:optOutTrackingByDefault:)","abstract":"Initializes an instance of the API with the given project token (MAC OS ONLY).","parent_name":"Mixpanel"},"Classes/Mixpanel.html#/s:8MixpanelAAC11getInstance4nameAA0aC0CSgSS_tFZ":{"name":"getInstance(name:)","abstract":"Gets the mixpanel instance with the given name","parent_name":"Mixpanel"},"Classes/Mixpanel.html#/s:8MixpanelAAC12mainInstanceAA0aC0CyFZ":{"name":"mainInstance()","abstract":"Returns the main instance that was initialized.","parent_name":"Mixpanel"},"Classes/Mixpanel.html#/s:8MixpanelAAC15setMainInstance4nameySS_tFZ":{"name":"setMainInstance(name:)","abstract":"Sets the main instance based on the instance name","parent_name":"Mixpanel"},"Classes/Mixpanel.html#/s:8MixpanelAAC14removeInstance4nameySS_tFZ":{"name":"removeInstance(name:)","abstract":"Removes an unneeded Mixpanel instance based on its name","parent_name":"Mixpanel"},"Classes/Group.html#/s:8Mixpanel5GroupC3set10propertiesySDySSAA0A4Type_pG_tF":{"name":"set(properties:)","abstract":"Sets properties on this group.","parent_name":"Group"},"Classes/Group.html#/s:8Mixpanel5GroupC3set8property2toySS_AA0A4Type_ptF":{"name":"set(property:to:)","abstract":"Convenience method for setting a single property in Mixpanel Groups.","parent_name":"Group"},"Classes/Group.html#/s:8Mixpanel5GroupC7setOnce10propertiesySDySSAA0A4Type_pG_tF":{"name":"setOnce(properties:)","abstract":"Sets properties on the current Mixpanel Group, but doesn’t overwrite if","parent_name":"Group"},"Classes/Group.html#/s:8Mixpanel5GroupC5unset8propertyySS_tF":{"name":"unset(property:)","abstract":"Remove a property and its value from a group’s profile in Mixpanel Groups.","parent_name":"Group"},"Classes/Group.html#/s:8Mixpanel5GroupC6remove3key5valueySS_AA0A4Type_ptF":{"name":"remove(key:value:)","abstract":"Removes list properties.","parent_name":"Group"},"Classes/Group.html#/s:8Mixpanel5GroupC5union3key6valuesySS_SayAA0A4Type_pGtF":{"name":"union(key:values:)","abstract":"Union list properties.","parent_name":"Group"},"Classes/Group.html#/s:8Mixpanel5GroupC06deleteB0yyF":{"name":"deleteGroup()","abstract":"Delete group’s record from Mixpanel Groups.","parent_name":"Group"},"Classes/Group.html":{"name":"Group","abstract":"Access to the Mixpanel Groups API, available through the getGroup function from"},"Classes/Mixpanel.html":{"name":"Mixpanel","abstract":"The primary class for integrating Mixpanel with your app."},"Classes/MixpanelInstance.html":{"name":"MixpanelInstance","abstract":"The class that represents the Mixpanel Instance"},"Classes/MixpanelNotificationServiceExtension.html":{"name":"MixpanelNotificationServiceExtension","abstract":"Undocumented"},"Classes/People.html":{"name":"People","abstract":"Access to the Mixpanel People API, available as an accessible variable from"},"Classes/MixpanelPushNotifications.html":{"name":"MixpanelPushNotifications","abstract":"Undocumented"},"Classes.html#/s:8Mixpanel10TweakStoreC":{"name":"TweakStore","abstract":"Looks up the persisted state for tweaks."},"Classes.html":{"name":"Classes","abstract":"The following classes are available globally."},"Enums.html":{"name":"Enumerations","abstract":"The following enumerations are available globally."},"Extensions.html":{"name":"Extensions","abstract":"The following extensions are available globally."},"Functions.html":{"name":"Functions","abstract":"The following functions are available globally."},"Protocols.html":{"name":"Protocols","abstract":"The following protocols are available globally."},"Structs.html":{"name":"Structures","abstract":"The following structures are available globally."},"Typealiases.html":{"name":"Type Aliases","abstract":"The following type aliases are available globally."}} \ No newline at end of file diff --git a/docs/docsets/Mixpanel.docset/Contents/Resources/docSet.dsidx b/docs/docsets/Mixpanel.docset/Contents/Resources/docSet.dsidx index 527a2f16..360cfdea 100644 Binary files a/docs/docsets/Mixpanel.docset/Contents/Resources/docSet.dsidx and b/docs/docsets/Mixpanel.docset/Contents/Resources/docSet.dsidx differ diff --git a/docs/docsets/Mixpanel.tgz b/docs/docsets/Mixpanel.tgz index d376333f..8b9cbd2e 100644 Binary files a/docs/docsets/Mixpanel.tgz and b/docs/docsets/Mixpanel.tgz differ diff --git a/docs/index.html b/docs/index.html index 3fbf72db..e8aa8cd9 100644 --- a/docs/index.html +++ b/docs/index.html @@ -16,7 +16,7 @@ - Mixpanel 2.10.2 Docs (87% documented) + Mixpanel 2.10.3 Docs (87% documented) View on GitHub @@ -188,8 +188,7 @@ - - + @@ -201,196 +200,152 @@ Table of Contents -Introduction +Overview +Quick Start Guide -Current supported features - -Installation - - -CocoaPods -Carthage -Manual Installation - -Initializing and Usage - - -Integrate -Start tracking +Install Mixpanel +Initialize Mixpanel +Send Data +Check for Success +Complete Code Example +FAQ +I want to know more! -Introduction +Overview Welcome to the official Mixpanel Swift Library -The Mixpanel Swift library for iOS is an open-source project, and we’d love to see your contributions! +The Mixpanel Swift library for iOS is an open-source project, and we’d love to see your contributions! We’d also love for you to come and work with us! Check out Jobs for details. If you are using Objective-C, we recommend using our Objective-C Library. - -Current supported features - -Our master branch and our releases are now on Swift 5. - -If you wish to use our Swift 4.2 implementation, please point to the v2.6.1 release. For Swift 4/4.1 implementation, please point to the v2.4.5 release. For Swift 3 implementation, please point to the v2.2.3 release. For Swift 2.3 implementation, please point to the v1.0.1 release. +Check out our Advanced iOS Swift Guide for additional advanced configurations and use cases, like setting up your project with European Union data storage. +Quick Start Guide -Our Swift library fully supports all of the Mixpanel features and has full parity with the Objective-C Library. +Our master branch and our releases are on Swift 5. If you wish to use our Swift 4.2 implementation, please point to the v2.6.1 release. For Swift 4/4.1 implementation, please point to the v2.4.5 release. For Swift 3 implementation, please point to the v2.2.3 release. +1. Install Mixpanel - -Installation +You will need your project token for initializing your library. You can get your project token from project settings. +Installation Option 1: Swift Package Manager -On Jan 1, 2022, we’ll remove the Messages & Experiments feature from Mixpanel. For now, you can choose to opt in to our beta version without Messages & Experiments feature support. You can use Swift Package Manager to install the beta version: +The easiest way to get Mixpanel into your iOS project is to use Swift Package Manager(requires Xcode 12+). In Xcode, select File > Swift Packages > Add Package Dependency. -Follow the prompts using the URL for this repository and point to the branch 3.0.0.beta +Follow the prompts using the Github URL for Mixpanel Swift library and a minimum semantic version of v2.8.0. -Swift Package Manager -It requires Xcode 12+ and v2.8.0+ release - -Important: It only supports for iOS, if you need integrations for other platforms(tvOS or macOS), please use other integration methods instead or use our beta version by pointing to the branch 3.0.0.beta +On Jan 1, 2022, we’ll remove the Messages & Experiments feature from Mixpanel. For now, you can choose to opt in to our beta version without Messages & Experiments feature support. You can use Swift Package Manager to point to the branch 3.0.0.beta +Installation Option 2: CocoaPods -In Xcode, select File > Swift Packages > Add Package Dependency. -Follow the prompts using the URL for this repository and a minimum semantic version of v2.8.0 +If this is your first time using CocoaPods, Install CocoaPods using gem install cocoapods. Otherwise, continue to Step 3. +Run pod setup to create a local CocoaPods spec mirror. +Create a Podfile in your Xcode project directory by running pod init in your terminal, edit the Podfile generated, and add the following line: pod 'Mixpanel-swift'. +Run pod install in your Xcode project directory. CocoaPods should download and install the Mixpanel library, and create a new Xcode workspace. Open up this workspace in Xcode or typing open *.xcworkspace in your terminal. +Installation Option 3: Carthage -Check out our swift integration guide » for more info. -CocoaPods - -Our current release only supports CocoaPods version 1.4.0+ - -Mixpanel supports CocoaPods for easy installation. -To Install, see our swift integration guide » - -For iOS, tvOS, macOS, and App Extension integrations: - -pod 'Mixpanel-swift' - - -Carthage - -Mixpanel also supports Carthage to package your dependencies as a framework. Include the following dependency in your Cartfile: - -github "mixpanel/mixpanel-swift" - -Check out the Carthage docs » for more info. +Mixpanel supports Carthage to package your dependencies as a framework. Include the following dependency in your Cartfile: +github "mixpanel/mixpanel-swift" + - -Manual Installation +Check out the Carthage docs for more info. +2. Initialize Mixpanel -To help users stay up to date with the latest version of our Swift SDK, we always recommend integrating our SDK via CocoaPods, which simplifies version updates and dependency management. However, there are cases where users can’t use CocoaPods. Not to worry, just follow these manual installation steps and you’ll be all set. -Step 1: Add as a Submodule +Import Mixpanel into AppDelegate.swift, and initialize Mixpanel within application:didFinishLaunchingWithOptions: +import Mixpanel -Add Mixpanel as a submodule to your local git repo like so: -git submodule add git@github.com:mixpanel/mixpanel-swift.git +func application(_ application: UIApplication, + didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool { + ... + Mixpanel.initialize(token: "MIXPANEL_TOKEN") + ... +} -Now the Mixpanel project and its files should be in your project folder! -Step 2: Drag Mixpanel to your project +See all configuration options +3. Send Data -Drag the Mixpanel.xcodeproj inside your sample project under the main sample project file: - - -Step 3: Embed the framework +Let’s get started by sending event data. You can send an event from anywhere in your application. Better understand user behavior by storing details that are specific to the event (properties). After initializing the library, Mixpanel will automatically collect common mobile events. You can enable/disable automatic collection through your project settings. Also, Mixpanel automatically tracks some properties by default. learn more +Mixpanel.mainInstance().track(event: "Sign Up", properties: [ + "source": "Pat's affiliate site", + "Opted out of email": true +]) + -Select your app .xcodeproj file. Under “General”, add the Mixpanel framework as an embedded binary: +In addition to event data, you can also send user profile data. We recommend this after completing the quickstart guide. +4. Check for Success - +Open up Live View in Mixpanel to view incoming events. - -Initializing and Usage +Once data hits our API, it generally takes ~60 seconds for it to be processed, stored, and queryable in your project. +Complete Code Example - -Integrate +Here’s a runnable code example that covers everything in this quickstart guide. +import Mixpanel -Import Mixpanel into AppDelegate.swift, and initialize Mixpanel within application:didFinishLaunchingWithOptions: - -func application(_ application: UIApplication, +func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool { + ... Mixpanel.initialize(token: "MIXPANEL_TOKEN") + Mixpanel.mainInstance().track(event: "Sign Up", properties: [ + "source": "Pat's affiliate site", + "Opted out of email": true + ]) + ... } +FAQ -You initialize your Mixpanel instance with the token provided to you on mixpanel.com. - - -Start tracking - -After installing the library into your iOS app, Mixpanel will automatically collect common mobile events. You can enable/ disable automatic collection through your project settings. - -To interact with the instance and track additional events, you can either use the mixpanel instance given when initializing: -mixpanel.track(event: "Tracked Event!") - +I want to stop tracking an event/event property in Mixpanel. Is that possible? -or you can directly fetch the instance and use it from the Mixpanel object: -Mixpanel.mainInstance().track(event: "Tracked Event!") - +Yes, in Lexicon, you can intercept and drop incoming events or properties. Mixpanel won’t store any new data for the event or property you select to drop. See this article for more information. -You’re done! You’ve successfully integrated the Mixpanel Swift SDK into your app. To stay up to speed on important SDK releases and updates, star or watch our repository on Github. +I have a test user I would like to opt out of tracking. How do I do that? -Have any questions? Reach out to support@mixpanel.com to speak to someone smart, quickly. -Using Mixpanel Push Notifications +Mixpanel’s client-side tracking library contains the optOutTracking() method, which will set the user’s local opt-out state to “true” and will prevent data from being sent from a user’s device. More detailed instructions can be found in the section, Opting users out of tracking. -First enable Mixpanel push notifications in your app. Then for Rich Push Notifications, you’ll need to integrate your application with the MixpanelNotificationServiceExtension. -Integrating the MixpanelNotificationServiceExtension +Why aren’t my events showing up? -The Mixpanel SDK comes with a custom Notification Service Extension used to render rich media, custom action buttons, and track when push notifications are received. To enable these features, you will need to integrate it into your application. -1. Create a new Notification Service Extension Target +To preserve battery life and customer bandwidth, the Mixpanel library doesn’t send the events you record immediately. Instead, it sends batches to the Mixpanel servers every 60 seconds while your application is running, as well as when the application transitions to the background. You can call flush() manually if you want to force a flush at a particular moment. +Mixpanel.mainInstance().flush() + - - - -2. Add Mixpanel-swift as a dependency +If your events are still not showing up after 60 seconds, check if you have opted out of tracking. You can also enable Mixpanel debugging and logging, it allows you to see the debug output from the Mixpanel library. To enable it, set loggingEnabled to true. +Mixpanel.mainInstance().loggingEnabled = true + -Add the following to the end of your Podfile: -target 'NotificationService' do - use_frameworks! +Starting with iOS 14.5, do I need to request the user’s permission through the AppTrackingTransparency framework to use Mixpanel? - pod 'Mixpanel-swift' -end - +No, Mixpanel does not use IDFA so it does not require user permission through the AppTrackingTransparency(ATT) framework. -Then run pod install -3. Extend your NotificationService from MixpanelNotificationServiceExtension +If I use Mixpanel, how do I answer app privacy questions for the App Store? -Replace the contents of your NotificationService.swift file with the following: -import Mixpanel +Please refer to our Apple App Developer Privacy Guidance +I want to know more! -class NotificationService: MixpanelNotificationServiceExtension {} - -4. Delegate the handling of the notification response to the Mixpanel SDK - -In your AppDelegate.swift file, you need to call MixpanelPushNotifications.handleResponse when a push notification response is received: -@available(iOS 10.0, *) -func userNotificationCenter(_ center: UNUserNotificationCenter, didReceive response: UNNotificationResponse, withCompletionHandler completionHandler: @escaping () -> Void) { - if MixpanelPushNotifications.isMixpanelPushNotification(response.notification.request.content) { - debugPrint("Handling Mixpanel push notification response...") - MixpanelPushNotifications.handleResponse(response: response, withCompletionHandler: completionHandler) - } else { - // not a Mixpanel push notification - debugPrint("Not a Mixpanel push notification.") - completionHandler() - } -} - +No worries, here are some links that you will find useful: -This will make sure the tap actions are appropriately handled (open URL, deeplink, etc) as well as track whether a notification was tapped or dismissed. -5. Run the app and send a test push notification from Mixpanel that includes an image or buttons + +Advanced iOS - Swift Guide +Sample app +Full API Reference + -That’s it! Your app should now be able to receive rich push notifications from Mixpanel. +Have any questions? Reach out to Mixpanel Support to speak to someone smart, quickly. - © 2021 Mixpanel. All rights reserved. (Last updated: 2021-06-11) + © 2021 Mixpanel. All rights reserved. (Last updated: 2021-08-13) Generated by jazzy ♪♫ v0.13.6, a Realm project. diff --git a/docs/search.json b/docs/search.json index 040a3460..dc8e93ad 100644 --- a/docs/search.json +++ b/docs/search.json @@ -1 +1 @@ -{"Typealiases.html#/s:8Mixpanel10Propertiesa":{"name":"Properties","abstract":"Undocumented"},"Structs/MixpanelTweaks.html#/s:8Mixpanel0A6TweaksV12defaultStoreAA05TweakD0CvpZ":{"name":"defaultStore","abstract":"The default store that holds the Tweaks","parent_name":"MixpanelTweaks"},"Structs/MixpanelTweaks.html#/s:8Mixpanel0A6TweaksV03setB06tweaksySayAA16TweakClusterType_pG_tFZ":{"name":"setTweaks(tweaks:)","abstract":"setTweaks needs to be called to add the defined Tweaks into the environment.","parent_name":"MixpanelTweaks"},"Structs/Tweak.html#/s:8Mixpanel5TweakV9tweakName12defaultValueACyxGSS_xtcfc":{"name":"init(tweakName:defaultValue:)","abstract":"Initializer for a Tweak for A/B Testing","parent_name":"Tweak"},"Structs/Tweak.html#/s:8Mixpanel5TweakV4hash4intoys6HasherVz_tF":{"name":"hash(into:)","abstract":"Hashing for a Tweak for A/B Testing in order for it to be stored.","parent_name":"Tweak"},"Structs/Tweak.html#/s:8Mixpanel16TweakClusterTypeP05tweakC0SayAA03AnyB0VGvp":{"name":"tweakCluster","parent_name":"Tweak"},"Structs/Tweak.html#/s:8Mixpanel5TweakVAASLRzs13SignedNumericRzrlE9tweakName12defaultValue3min3max8stepSizeACyxGSS_xxSgA2Ktcfc":{"name":"init(tweakName:defaultValue:min:max:stepSize:)","abstract":"Creates a Tweak where T: SignedNumberType","parent_name":"Tweak"},"Structs/AnyTweak.html#/s:SH4hash4intoys6HasherVz_tF":{"name":"hash(into:)","parent_name":"AnyTweak"},"Structs/AnyTweak.html#/s:8Mixpanel8AnyTweakV12tweakClusterSayACGvp":{"name":"tweakCluster","abstract":"Allows easy tweak initialization by clustering tweaks together for A/B Testing","parent_name":"AnyTweak"},"Structs/AnyTweak.html":{"name":"AnyTweak","abstract":"A type-erasure around Tweak for A/B Testing."},"Structs/Tweak.html":{"name":"Tweak","abstract":"Tweaks let you adjust things on the fly."},"Structs/MixpanelTweaks.html":{"name":"MixpanelTweaks","abstract":"The MixpanelTweaks struct that needs to be extended to define new Tweaks for A/B testing"},"Protocols/TweakableType.html#/s:8Mixpanel13TweakableTypeP013tweakViewDataC0AA05TweakefC0OvpZ":{"name":"tweakViewDataType","abstract":"The data type of the TweakableType","parent_name":"TweakableType"},"Protocols/TweakLibraryType.html#/s:8Mixpanel16TweakLibraryTypeP12defaultStoreAA0bF0CvpZ":{"name":"defaultStore","abstract":"the default tweak store","parent_name":"TweakLibraryType"},"Protocols/TweakLibraryType.html#/s:8Mixpanel16TweakLibraryTypePAAE6assignyqd__AA0B0Vyqd__GAA09TweakableD0Rd__lFZ":{"name":"assign(_:)","abstract":"Returns the current value for a tweak from the TweakLibrary’s default store.","parent_name":"TweakLibraryType"},"Protocols/TweakLibraryType.html#/s:8Mixpanel16TweakLibraryTypePAAE4bind_7bindingyAA0B0Vyqd__G_yqd__ctAA09TweakableD0Rd__lFZ":{"name":"bind(_:binding:)","abstract":"Immediately binds the currentValue of a given tweak, and then continues to update whenever the tweak changes.","parent_name":"TweakLibraryType"},"Protocols/TweakClusterType.html#/s:8Mixpanel16TweakClusterTypeP05tweakC0SayAA03AnyB0VGvp":{"name":"tweakCluster","abstract":"The tweak cluster to allow easy initialization of Tweaks","parent_name":"TweakClusterType"},"Protocols/MixpanelType.html#/s:8Mixpanel0A4TypeP013isValidNestedB8AndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"Checks if this object has nested object types that Mixpanel supports.","parent_name":"MixpanelType"},"Protocols/MixpanelType.html#/s:8Mixpanel0A4TypeP6equals3rhsSbAaB_p_tF":{"name":"equals(rhs:)","abstract":"Undocumented","parent_name":"MixpanelType"},"Protocols/MixpanelDelegate.html#/s:8Mixpanel0A8DelegateP17mixpanelWillFlushySbAA0A8InstanceCF":{"name":"mixpanelWillFlush(_:)","abstract":"Asks the delegate if data should be uploaded to the server.","parent_name":"MixpanelDelegate"},"Protocols/MixpanelDelegate.html":{"name":"MixpanelDelegate","abstract":"Delegate protocol for controlling the Mixpanel API’s network behavior."},"Protocols/MixpanelType.html":{"name":"MixpanelType","abstract":"Property keys must be String objects and the supported value types need to conform to MixpanelType."},"Protocols/TweakClusterType.html":{"name":"TweakClusterType","abstract":"This protocol allows for easy initialization of TweakStore."},"Protocols/TweakLibraryType.html":{"name":"TweakLibraryType","abstract":"Create a public struct in your application that conforms to this protocol to declare your own tweaks!"},"Protocols/TweakableType.html":{"name":"TweakableType","abstract":"To add a new to our Tweak, make T conform to this protocol."},"Functions.html#/s:8Mixpanel2eeoiySbAA8AnyTweakV_ADtF":{"name":"==(_:_:)","abstract":"Comparator between two tweaks for A/B Testing."},"Functions.html#/s:8Mixpanel2eeoiySbAA5TweakVyxG_AEtAA13TweakableTypeRzlF":{"name":"==(_:_:)","abstract":"Comparator between two tweaks for A/B Testing."},"Extensions/CGFloat.html#/s:12CoreGraphics7CGFloatV8MixpanelE17tweakViewDataTypeAD05TweakfgH0OvpZ":{"name":"tweakViewDataType","abstract":"TweakableType supports the cgFloat type","parent_name":"CGFloat"},"Extensions/Dictionary.html#/s:SD8MixpanelE25isValidNestedTypeAndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"Checks if this object has nested object types that Mixpanel supports.","parent_name":"Dictionary"},"Extensions/Dictionary.html#/s:SD8MixpanelE6equals3rhsSbAA0A4Type_p_tF":{"name":"equals(rhs:)","abstract":"Undocumented","parent_name":"Dictionary"},"Extensions/NSArray.html#/s:So7NSArrayC8MixpanelE25isValidNestedTypeAndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"Checks if this object has nested object types that Mixpanel supports.","parent_name":"NSArray"},"Extensions/NSArray.html#/s:So7NSArrayC8MixpanelE6equals3rhsSbAC0B4Type_p_tF":{"name":"equals(rhs:)","abstract":"Undocumented","parent_name":"NSArray"},"Extensions/NSNull.html#/s:So6NSNullC8MixpanelE25isValidNestedTypeAndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"Checks if this object has nested object types that Mixpanel supports.","parent_name":"NSNull"},"Extensions/NSNull.html#/s:So6NSNullC8MixpanelE6equals3rhsSbAC0B4Type_p_tF":{"name":"equals(rhs:)","abstract":"Undocumented","parent_name":"NSNull"},"Extensions/URL.html#/s:10Foundation3URLV8MixpanelE25isValidNestedTypeAndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"Checks if this object has nested object types that Mixpanel supports.","parent_name":"URL"},"Extensions/URL.html#/s:10Foundation3URLV8MixpanelE6equals3rhsSbAD0C4Type_p_tF":{"name":"equals(rhs:)","abstract":"Undocumented","parent_name":"URL"},"Extensions/Date.html#/s:10Foundation4DateV8MixpanelE25isValidNestedTypeAndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"Checks if this object has nested object types that Mixpanel supports.","parent_name":"Date"},"Extensions/Date.html#/s:10Foundation4DateV8MixpanelE6equals3rhsSbAD0C4Type_p_tF":{"name":"equals(rhs:)","abstract":"Undocumented","parent_name":"Date"},"Extensions/Bool.html#/s:Sb8MixpanelE25isValidNestedTypeAndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"Checks if this object has nested object types that Mixpanel supports.","parent_name":"Bool"},"Extensions/Bool.html#/s:Sb8MixpanelE6equals3rhsSbAA0A4Type_p_tF":{"name":"equals(rhs:)","abstract":"Undocumented","parent_name":"Bool"},"Extensions/Bool.html#/s:Sb8MixpanelE17tweakViewDataTypeAA05TweakcdE0OvpZ":{"name":"tweakViewDataType","abstract":"TweakableType supports the boolean type","parent_name":"Bool"},"Extensions/Float.html#/s:Sf8MixpanelE25isValidNestedTypeAndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"Checks if this object has nested object types that Mixpanel supports.","parent_name":"Float"},"Extensions/Float.html#/s:Sf8MixpanelE6equals3rhsSbAA0A4Type_p_tF":{"name":"equals(rhs:)","abstract":"Undocumented","parent_name":"Float"},"Extensions/Double.html#/s:Sd8MixpanelE25isValidNestedTypeAndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"Checks if this object has nested object types that Mixpanel supports.","parent_name":"Double"},"Extensions/Double.html#/s:Sd8MixpanelE6equals3rhsSbAA0A4Type_p_tF":{"name":"equals(rhs:)","abstract":"Undocumented","parent_name":"Double"},"Extensions/Double.html#/s:Sd8MixpanelE17tweakViewDataTypeAA05TweakcdE0OvpZ":{"name":"tweakViewDataType","abstract":"TweakableType supports the double type","parent_name":"Double"},"Extensions/UInt.html#/s:Su8MixpanelE25isValidNestedTypeAndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"Checks if this object has nested object types that Mixpanel supports.","parent_name":"UInt"},"Extensions/UInt.html#/s:Su8MixpanelE6equals3rhsSbAA0A4Type_p_tF":{"name":"equals(rhs:)","abstract":"Undocumented","parent_name":"UInt"},"Extensions/Int.html#/s:Si8MixpanelE25isValidNestedTypeAndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"Checks if this object has nested object types that Mixpanel supports.","parent_name":"Int"},"Extensions/Int.html#/s:Si8MixpanelE6equals3rhsSbAA0A4Type_p_tF":{"name":"equals(rhs:)","abstract":"Undocumented","parent_name":"Int"},"Extensions/Int.html#/s:Si8MixpanelE17tweakViewDataTypeAA05TweakcdE0OvpZ":{"name":"tweakViewDataType","abstract":"TweakableType supports the integer type","parent_name":"Int"},"Extensions/NSNumber.html#/s:So8NSNumberC8MixpanelE25isValidNestedTypeAndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"Checks if this object has nested object types that Mixpanel supports.","parent_name":"NSNumber"},"Extensions/NSNumber.html#/s:So8NSNumberC8MixpanelE6equals3rhsSbAC0B4Type_p_tF":{"name":"equals(rhs:)","abstract":"Undocumented","parent_name":"NSNumber"},"Extensions/NSString.html#/s:So8NSStringC8MixpanelE25isValidNestedTypeAndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"Checks if this object has nested object types that Mixpanel supports.","parent_name":"NSString"},"Extensions/NSString.html#/s:So8NSStringC8MixpanelE6equals3rhsSbAC0B4Type_p_tF":{"name":"equals(rhs:)","abstract":"Undocumented","parent_name":"NSString"},"Extensions/String.html#/s:SS8MixpanelE25isValidNestedTypeAndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"Checks if this object has nested object types that Mixpanel supports.","parent_name":"String"},"Extensions/String.html#/s:SS8MixpanelE6equals3rhsSbAA0A4Type_p_tF":{"name":"equals(rhs:)","abstract":"Undocumented","parent_name":"String"},"Extensions/String.html#/s:SS8MixpanelE17tweakViewDataTypeAA05TweakcdE0OvpZ":{"name":"tweakViewDataType","abstract":"TweakableType supports the string type","parent_name":"String"},"Extensions/Optional.html#/s:Sq8MixpanelE25isValidNestedTypeAndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"Checks if this object has nested object types that Mixpanel supports.","parent_name":"Optional"},"Extensions/Optional.html#/s:Sq8MixpanelE6equals3rhsSbAA0A4Type_p_tF":{"name":"equals(rhs:)","abstract":"Undocumented","parent_name":"Optional"},"Extensions/Array.html#/s:Sa8MixpanelE25isValidNestedTypeAndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"Checks if this object has nested object types that Mixpanel supports.","parent_name":"Array"},"Extensions/Array.html#/s:Sa8MixpanelE6equals3rhsSbAA0A4Type_p_tF":{"name":"equals(rhs:)","abstract":"Undocumented","parent_name":"Array"},"Extensions/UIColor.html#/s:So7UIColorC8MixpanelE5MPHexABSu_tcfc":{"name":"init(MPHex:)","abstract":"The shorthand four-digit hexadecimal representation of color with alpha.","parent_name":"UIColor"},"Extensions/UIColor.html":{"name":"UIColor"},"Extensions/Array.html":{"name":"Array"},"Extensions/Optional.html":{"name":"Optional"},"Extensions/String.html":{"name":"String"},"Extensions/NSString.html":{"name":"NSString"},"Extensions/NSNumber.html":{"name":"NSNumber"},"Extensions/Int.html":{"name":"Int"},"Extensions/UInt.html":{"name":"UInt"},"Extensions/Double.html":{"name":"Double"},"Extensions/Float.html":{"name":"Float"},"Extensions/Bool.html":{"name":"Bool"},"Extensions/Date.html":{"name":"Date"},"Extensions/URL.html":{"name":"URL"},"Extensions/NSNull.html":{"name":"NSNull"},"Extensions/NSArray.html":{"name":"NSArray"},"Extensions/Dictionary.html":{"name":"Dictionary"},"Extensions/CGFloat.html":{"name":"CGFloat"},"Enums/TweakViewDataType.html#/s:8Mixpanel17TweakViewDataTypeO7booleanyA2CmF":{"name":"boolean","abstract":"TweakableType supports the boolean type","parent_name":"TweakViewDataType"},"Enums/TweakViewDataType.html#/s:8Mixpanel17TweakViewDataTypeO7integeryA2CmF":{"name":"integer","abstract":"TweakableType supports the integer type","parent_name":"TweakViewDataType"},"Enums/TweakViewDataType.html#/s:8Mixpanel17TweakViewDataTypeO7cgFloatyA2CmF":{"name":"cgFloat","abstract":"TweakableType supports the cgFloat type","parent_name":"TweakViewDataType"},"Enums/TweakViewDataType.html#/s:8Mixpanel17TweakViewDataTypeO6doubleyA2CmF":{"name":"double","abstract":"TweakableType supports the double type","parent_name":"TweakViewDataType"},"Enums/TweakViewDataType.html#/s:8Mixpanel17TweakViewDataTypeO6stringyA2CmF":{"name":"string","abstract":"TweakableType supports the string type","parent_name":"TweakViewDataType"},"Enums/TweakViewDataType.html":{"name":"TweakViewDataType","abstract":"The data types that are currently supported for SwiftTweaks."},"Classes/MixpanelPushNotifications.html#/s:8Mixpanel0A17PushNotificationsC02isaB12NotificationySbSo21UNNotificationContentCFZ":{"name":"isMixpanelPushNotification(_:)","abstract":"Undocumented","parent_name":"MixpanelPushNotifications"},"Classes/MixpanelPushNotifications.html#/s:8Mixpanel0A17PushNotificationsC10trackEvent_10properties7requestySS_SDySSAA0A4Type_pGSo21UNNotificationRequestCtFZ":{"name":"trackEvent(_:properties:request:)","abstract":"Undocumented","parent_name":"MixpanelPushNotifications"},"Classes/People.html#/s:8Mixpanel6PeopleC10ignoreTimeSbvp":{"name":"ignoreTime","abstract":"controls the $ignore_time property in any subsequent MixpanelPeople operation.","parent_name":"People"},"Classes/People.html#/s:8Mixpanel6PeopleC18addPushDeviceTokenyy10Foundation4DataVF":{"name":"addPushDeviceToken(_:)","abstract":"Register the given device to receive push notifications.","parent_name":"People"},"Classes/People.html#/s:8Mixpanel6PeopleC25removeAllPushDeviceTokensyyF":{"name":"removeAllPushDeviceTokens()","abstract":"Unregister the given device to receive push notifications.","parent_name":"People"},"Classes/People.html#/s:8Mixpanel6PeopleC21removePushDeviceTokenyy10Foundation4DataVF":{"name":"removePushDeviceToken(_:)","abstract":"Unregister a specific device token from the ability to receive push notifications.","parent_name":"People"},"Classes/People.html#/s:8Mixpanel6PeopleC3set10propertiesySDySSAA0A4Type_pG_tF":{"name":"set(properties:)","abstract":"Set properties on the current user in Mixpanel People.","parent_name":"People"},"Classes/People.html#/s:8Mixpanel6PeopleC3set8property2toySS_AA0A4Type_ptF":{"name":"set(property:to:)","abstract":"Convenience method for setting a single property in Mixpanel People.","parent_name":"People"},"Classes/People.html#/s:8Mixpanel6PeopleC7setOnce10propertiesySDySSAA0A4Type_pG_tF":{"name":"setOnce(properties:)","abstract":"Set properties on the current user in Mixpanel People, but doesn’t overwrite if","parent_name":"People"},"Classes/People.html#/s:8Mixpanel6PeopleC5unset10propertiesySaySSG_tF":{"name":"unset(properties:)","abstract":"Remove a list of properties and their values from the current user’s profile","parent_name":"People"},"Classes/People.html#/s:8Mixpanel6PeopleC9increment10propertiesySDySSAA0A4Type_pG_tF":{"name":"increment(properties:)","abstract":"Increment the given numeric properties by the given values.","parent_name":"People"},"Classes/People.html#/s:8Mixpanel6PeopleC9increment8property2byySS_SdtF":{"name":"increment(property:by:)","abstract":"Convenience method for incrementing a single numeric property by the specified","parent_name":"People"},"Classes/People.html#/s:8Mixpanel6PeopleC6append10propertiesySDySSAA0A4Type_pG_tF":{"name":"append(properties:)","abstract":"Append values to list properties.","parent_name":"People"},"Classes/People.html#/s:8Mixpanel6PeopleC6remove10propertiesySDySSAA0A4Type_pG_tF":{"name":"remove(properties:)","abstract":"Removes list properties.","parent_name":"People"},"Classes/People.html#/s:8Mixpanel6PeopleC5union10propertiesySDySSAA0A4Type_pG_tF":{"name":"union(properties:)","abstract":"Union list properties.","parent_name":"People"},"Classes/People.html#/s:8Mixpanel6PeopleC11trackCharge6amount10propertiesySd_SDySSAA0A4Type_pGSgtF":{"name":"trackCharge(amount:properties:)","abstract":"Track money spent by the current user for revenue analytics and associate","parent_name":"People"},"Classes/People.html#/s:8Mixpanel6PeopleC12clearChargesyyF":{"name":"clearCharges()","abstract":"Delete current user’s revenue history.","parent_name":"People"},"Classes/People.html#/s:8Mixpanel6PeopleC10deleteUseryyF":{"name":"deleteUser()","abstract":"Delete current user’s record from Mixpanel People.","parent_name":"People"},"Classes/MixpanelNotificationServiceExtension.html#/c:@M@Mixpanel@objc(cs)MixpanelNotificationServiceExtension(im)didReceiveNotificationRequest:withContentHandler:":{"name":"didReceive(_:withContentHandler:)","abstract":"Undocumented","parent_name":"MixpanelNotificationServiceExtension"},"Classes/MixpanelNotificationServiceExtension.html#/c:@M@Mixpanel@objc(cs)MixpanelNotificationServiceExtension(im)serviceExtensionTimeWillExpire":{"name":"serviceExtensionTimeWillExpire()","abstract":"Undocumented","parent_name":"MixpanelNotificationServiceExtension"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC8apiTokenSSvp":{"name":"apiToken","abstract":"apiToken string that identifies the project to track data to","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC8delegateAA0A8Delegate_pSgvp":{"name":"delegate","abstract":"The a MixpanelDelegate object that gives control over Mixpanel network activity.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC10distinctIdSSvp":{"name":"distinctId","abstract":"distinctId string that uniquely identifies the current user.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC11anonymousIdSSSgvp":{"name":"anonymousId","abstract":"anonymousId string that uniquely identifies the device.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC6userIdSSSgvp":{"name":"userId","abstract":"userId string that identify is called with.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC22hadPersistedDistinctIdSbSgvp":{"name":"hadPersistedDistinctId","abstract":"hadPersistedDistinctId is a boolean value which specifies that the stored distinct_id","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC5aliasSSSgvp":{"name":"alias","abstract":"alias string that uniquely identifies the current user.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC6peopleAA6PeopleCSgvp":{"name":"people","abstract":"Accessor to the Mixpanel People API object.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC28showNetworkActivityIndicatorSbvp":{"name":"showNetworkActivityIndicator","abstract":"Controls whether to show spinning network activity indicator when flushing","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC27trackAutomaticEventsEnabledSbSgvp":{"name":"trackAutomaticEventsEnabled","abstract":"This allows enabling or disabling collecting common mobile events","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC13flushIntervalSdvp":{"name":"flushInterval","abstract":"Flush timer’s interval.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC17flushOnBackgroundSbvp":{"name":"flushOnBackground","abstract":"Control whether the library should flush data to Mixpanel when the app","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC26useIPAddressForGeoLocationSbvp":{"name":"useIPAddressForGeoLocation","abstract":"Controls whether to automatically send the client IP Address as part of","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC9serverURLSSvp":{"name":"serverURL","abstract":"The base URL used for Mixpanel API requests.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:s28CustomDebugStringConvertibleP16debugDescriptionSSvp":{"name":"debugDescription","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC14loggingEnabledSbvp":{"name":"loggingEnabled","abstract":"This allows enabling or disabling of all Mixpanel logs at run time.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC4nameSSvp":{"name":"name","abstract":"A unique identifier for this MixpanelInstance","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC29enableVisualEditorForCodelessSbvp":{"name":"enableVisualEditorForCodeless","abstract":"Controls whether to enable the visual editor for codeless on mixpanel.com","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC24checkForVariantsOnActiveSbvp":{"name":"checkForVariantsOnActive","abstract":"Controls whether to automatically check for A/B test variants for the","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC28checkForNotificationOnActiveSbvp":{"name":"checkForNotificationOnActive","abstract":"Controls whether to automatically check for notifications for the","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC24showNotificationOnActiveSbvp":{"name":"showNotificationOnActive","abstract":"Controls whether to automatically check for and show in-app notifications","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC32miniNotificationPresentationTimeSdvp":{"name":"miniNotificationPresentationTime","abstract":"Determines the time, in seconds, that a mini notification will remain on","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC22minimumSessionDurations6UInt64Vvp":{"name":"minimumSessionDuration","abstract":"The minimum session duration (ms) that is tracked in automatic events.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC22maximumSessionDurations6UInt64Vvp":{"name":"maximumSessionDuration","abstract":"The maximum session duration (ms) that is tracked in automatic events.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC8identify10distinctId9usePeopleySS_SbtF":{"name":"identify(distinctId:usePeople:)","abstract":"Sets the distinct ID of the current user.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC11createAlias_10distinctId9usePeopleySS_SSSbtF":{"name":"createAlias(_:distinctId:usePeople:)","abstract":"The alias method creates an alias which Mixpanel will use to remap one id to another.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC5resetyyF":{"name":"reset()","abstract":"Clears all stored properties including the distinct Id.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC7archiveyyF":{"name":"archive()","abstract":"Writes current project info including the distinct Id, super properties,","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/archive()":{"name":"archive()","abstract":"Writes current project info including the distinct Id, super properties,","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC5flush10completionyyycSg_tF":{"name":"flush(completion:)","abstract":"Uploads queued data to the Mixpanel server.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC5track5event10propertiesySSSg_SDySSAA0A4Type_pGSgtF":{"name":"track(event:properties:)","abstract":"Tracks an event with properties.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC15trackWithGroups5event10properties6groupsySSSg_SDySSAA0A4Type_pGSgAKtF":{"name":"trackWithGroups(event:properties:groups:)","abstract":"Tracks an event with properties and to specific groups.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC8getGroup8groupKey0E2IDAA0D0CSS_AA0A4Type_ptF":{"name":"getGroup(groupKey:groupID:)","abstract":"Undocumented","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC4time5eventySS_tF":{"name":"time(event:)","abstract":"Starts a timer that will be stopped and added as a property when a","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC16eventElapsedTime0C0SdSS_tF":{"name":"eventElapsedTime(event:)","abstract":"Retrieves the time elapsed for the named event since time(event:) was called.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC16clearTimedEventsyyF":{"name":"clearTimedEvents()","abstract":"Clears all current event timers.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC15clearTimedEvent5eventySS_tF":{"name":"clearTimedEvent(event:)","abstract":"Clears the event timer for the named event.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC22currentSuperPropertiesSDySSypGyF":{"name":"currentSuperProperties()","abstract":"Returns the currently set super properties.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC20clearSuperPropertiesyyF":{"name":"clearSuperProperties()","abstract":"Clears all currently set super properties.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC23registerSuperPropertiesyySDySSAA0A4Type_pGF":{"name":"registerSuperProperties(_:)","abstract":"Registers super properties, overwriting ones that have already been set.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC27registerSuperPropertiesOnce_12defaultValueySDySSAA0A4Type_pG_AaF_pSgtF":{"name":"registerSuperPropertiesOnce(_:defaultValue:)","abstract":"Registers super properties without overwriting ones that have already been set,","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC23unregisterSuperPropertyyySSF":{"name":"unregisterSuperProperty(_:)","abstract":"Removes a previously registered super property.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC8setGroup8groupKey0E2IDySS_AA0A4Type_ptF":{"name":"setGroup(groupKey:groupID:)","abstract":"Convenience method to set a single group the user belongs to.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC8setGroup8groupKey0E3IDsySS_SayAA0A4Type_pGtF":{"name":"setGroup(groupKey:groupIDs:)","abstract":"Set the groups this user belongs to.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC8addGroup8groupKey0E2IDySS_AA0A4Type_ptF":{"name":"addGroup(groupKey:groupID:)","abstract":"Add a group to this user’s membership for a particular group key","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC11removeGroup8groupKey0E2IDySS_AA0A4Type_ptF":{"name":"removeGroup(groupKey:groupID:)","abstract":"Remove a group from this user’s membership for a particular group key","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC14optOutTrackingyyF":{"name":"optOutTracking()","abstract":"Opt out tracking.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC13optInTracking10distinctId10propertiesySSSg_SDySSAA0A4Type_pGSgtF":{"name":"optInTracking(distinctId:properties:)","abstract":"Opt in tracking.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC19hasOptedOutTrackingSbyF":{"name":"hasOptedOutTracking()","abstract":"Returns if the current user has opted out tracking.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC15joinExperiments8callbackyyycSg_tF":{"name":"joinExperiments(callback:)","abstract":"Join any experiments (A/B tests) that are available for the current user.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC16showNotificationyyF":{"name":"showNotification()","abstract":"Shows a notification if one is available.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC16showNotification4typeySS_tF":{"name":"showNotification(type:)","abstract":"Shows a notification with the given type if one is available.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC16showNotification2IDySi_tF":{"name":"showNotification(ID:)","abstract":"Shows a notification with the given ID","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC24fetchNotificationPayload10completionyySDySSyXlGSgc_tF":{"name":"fetchNotificationPayload(completion:)","abstract":"Returns the payload of a notification if available","parent_name":"MixpanelInstance"},"Classes/Mixpanel.html#/s:8MixpanelAAC10initialize5token13launchOptions13flushInterval12instanceName21automaticPushTracking06optOutL9ByDefaultAA0A8InstanceCSS_SDySo019UIApplicationLaunchE3KeyaypGSgSdSSS2btFZ":{"name":"initialize(token:launchOptions:flushInterval:instanceName:automaticPushTracking:optOutTrackingByDefault:)","abstract":"Initializes an instance of the API with the given project token.","parent_name":"Mixpanel"},"Classes/Mixpanel.html#/initialize(token:flushInterval:instanceName:optOutTrackingByDefault:)":{"name":"initialize(token:flushInterval:instanceName:optOutTrackingByDefault:)","abstract":"Initializes an instance of the API with the given project token (MAC OS ONLY).","parent_name":"Mixpanel"},"Classes/Mixpanel.html#/s:8MixpanelAAC11getInstance4nameAA0aC0CSgSS_tFZ":{"name":"getInstance(name:)","abstract":"Gets the mixpanel instance with the given name","parent_name":"Mixpanel"},"Classes/Mixpanel.html#/s:8MixpanelAAC12mainInstanceAA0aC0CyFZ":{"name":"mainInstance()","abstract":"Returns the main instance that was initialized.","parent_name":"Mixpanel"},"Classes/Mixpanel.html#/s:8MixpanelAAC15setMainInstance4nameySS_tFZ":{"name":"setMainInstance(name:)","abstract":"Sets the main instance based on the instance name","parent_name":"Mixpanel"},"Classes/Mixpanel.html#/s:8MixpanelAAC14removeInstance4nameySS_tFZ":{"name":"removeInstance(name:)","abstract":"Removes an unneeded Mixpanel instance based on its name","parent_name":"Mixpanel"},"Classes/Group.html#/s:8Mixpanel5GroupC3set10propertiesySDySSAA0A4Type_pG_tF":{"name":"set(properties:)","abstract":"Sets properties on this group.","parent_name":"Group"},"Classes/Group.html#/s:8Mixpanel5GroupC3set8property2toySS_AA0A4Type_ptF":{"name":"set(property:to:)","abstract":"Convenience method for setting a single property in Mixpanel Groups.","parent_name":"Group"},"Classes/Group.html#/s:8Mixpanel5GroupC7setOnce10propertiesySDySSAA0A4Type_pG_tF":{"name":"setOnce(properties:)","abstract":"Sets properties on the current Mixpanel Group, but doesn’t overwrite if","parent_name":"Group"},"Classes/Group.html#/s:8Mixpanel5GroupC5unset8propertyySS_tF":{"name":"unset(property:)","abstract":"Remove a property and its value from a group’s profile in Mixpanel Groups.","parent_name":"Group"},"Classes/Group.html#/s:8Mixpanel5GroupC6remove3key5valueySS_AA0A4Type_ptF":{"name":"remove(key:value:)","abstract":"Removes list properties.","parent_name":"Group"},"Classes/Group.html#/s:8Mixpanel5GroupC5union3key6valuesySS_SayAA0A4Type_pGtF":{"name":"union(key:values:)","abstract":"Union list properties.","parent_name":"Group"},"Classes/Group.html#/s:8Mixpanel5GroupC06deleteB0yyF":{"name":"deleteGroup()","abstract":"Delete group’s record from Mixpanel Groups.","parent_name":"Group"},"Classes/Group.html":{"name":"Group","abstract":"Access to the Mixpanel Groups API, available through the getGroup function from"},"Classes/Mixpanel.html":{"name":"Mixpanel","abstract":"The primary class for integrating Mixpanel with your app."},"Classes/MixpanelInstance.html":{"name":"MixpanelInstance","abstract":"The class that represents the Mixpanel Instance"},"Classes/MixpanelNotificationServiceExtension.html":{"name":"MixpanelNotificationServiceExtension","abstract":"Undocumented"},"Classes/People.html":{"name":"People","abstract":"Access to the Mixpanel People API, available as an accessible variable from"},"Classes/MixpanelPushNotifications.html":{"name":"MixpanelPushNotifications","abstract":"Undocumented"},"Classes.html#/s:8Mixpanel10TweakStoreC":{"name":"TweakStore","abstract":"Looks up the persisted state for tweaks."},"Classes.html":{"name":"Classes","abstract":"The following classes are available globally."},"Enums.html":{"name":"Enumerations","abstract":"The following enumerations are available globally."},"Extensions.html":{"name":"Extensions","abstract":"The following extensions are available globally."},"Functions.html":{"name":"Functions","abstract":"The following functions are available globally."},"Protocols.html":{"name":"Protocols","abstract":"The following protocols are available globally."},"Structs.html":{"name":"Structures","abstract":"The following structures are available globally."},"Typealiases.html":{"name":"Type Aliases","abstract":"The following type aliases are available globally."}} \ No newline at end of file +{"Typealiases.html#/s:8Mixpanel10Propertiesa":{"name":"Properties","abstract":"Undocumented"},"Structs/MixpanelTweaks.html#/s:8Mixpanel0A6TweaksV12defaultStoreAA05TweakD0CvpZ":{"name":"defaultStore","abstract":"The default store that holds the Tweaks","parent_name":"MixpanelTweaks"},"Structs/MixpanelTweaks.html#/s:8Mixpanel0A6TweaksV03setB06tweaksySayAA16TweakClusterType_pG_tFZ":{"name":"setTweaks(tweaks:)","abstract":"setTweaks needs to be called to add the defined Tweaks into the environment.","parent_name":"MixpanelTweaks"},"Structs/Tweak.html#/s:8Mixpanel5TweakV9tweakName12defaultValueACyxGSS_xtcfc":{"name":"init(tweakName:defaultValue:)","abstract":"Initializer for a Tweak for A/B Testing","parent_name":"Tweak"},"Structs/Tweak.html#/s:8Mixpanel5TweakV4hash4intoys6HasherVz_tF":{"name":"hash(into:)","abstract":"Hashing for a Tweak for A/B Testing in order for it to be stored.","parent_name":"Tweak"},"Structs/Tweak.html#/s:8Mixpanel16TweakClusterTypeP05tweakC0SayAA03AnyB0VGvp":{"name":"tweakCluster","parent_name":"Tweak"},"Structs/Tweak.html#/s:8Mixpanel5TweakVAASLRzs13SignedNumericRzrlE9tweakName12defaultValue3min3max8stepSizeACyxGSS_xxSgA2Ktcfc":{"name":"init(tweakName:defaultValue:min:max:stepSize:)","abstract":"Creates a Tweak where T: SignedNumberType","parent_name":"Tweak"},"Structs/AnyTweak.html#/s:SH4hash4intoys6HasherVz_tF":{"name":"hash(into:)","parent_name":"AnyTweak"},"Structs/AnyTweak.html#/s:8Mixpanel8AnyTweakV12tweakClusterSayACGvp":{"name":"tweakCluster","abstract":"Allows easy tweak initialization by clustering tweaks together for A/B Testing","parent_name":"AnyTweak"},"Structs/AnyTweak.html":{"name":"AnyTweak","abstract":"A type-erasure around Tweak for A/B Testing."},"Structs/Tweak.html":{"name":"Tweak","abstract":"Tweaks let you adjust things on the fly."},"Structs/MixpanelTweaks.html":{"name":"MixpanelTweaks","abstract":"The MixpanelTweaks struct that needs to be extended to define new Tweaks for A/B testing"},"Protocols/TweakableType.html#/s:8Mixpanel13TweakableTypeP013tweakViewDataC0AA05TweakefC0OvpZ":{"name":"tweakViewDataType","abstract":"The data type of the TweakableType","parent_name":"TweakableType"},"Protocols/TweakLibraryType.html#/s:8Mixpanel16TweakLibraryTypeP12defaultStoreAA0bF0CvpZ":{"name":"defaultStore","abstract":"the default tweak store","parent_name":"TweakLibraryType"},"Protocols/TweakLibraryType.html#/s:8Mixpanel16TweakLibraryTypePAAE6assignyqd__AA0B0Vyqd__GAA09TweakableD0Rd__lFZ":{"name":"assign(_:)","abstract":"Returns the current value for a tweak from the TweakLibrary’s default store.","parent_name":"TweakLibraryType"},"Protocols/TweakLibraryType.html#/s:8Mixpanel16TweakLibraryTypePAAE4bind_7bindingyAA0B0Vyqd__G_yqd__ctAA09TweakableD0Rd__lFZ":{"name":"bind(_:binding:)","abstract":"Immediately binds the currentValue of a given tweak, and then continues to update whenever the tweak changes.","parent_name":"TweakLibraryType"},"Protocols/TweakClusterType.html#/s:8Mixpanel16TweakClusterTypeP05tweakC0SayAA03AnyB0VGvp":{"name":"tweakCluster","abstract":"The tweak cluster to allow easy initialization of Tweaks","parent_name":"TweakClusterType"},"Protocols/MixpanelType.html#/s:8Mixpanel0A4TypeP013isValidNestedB8AndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"Checks if this object has nested object types that Mixpanel supports.","parent_name":"MixpanelType"},"Protocols/MixpanelType.html#/s:8Mixpanel0A4TypeP6equals3rhsSbAaB_p_tF":{"name":"equals(rhs:)","abstract":"Undocumented","parent_name":"MixpanelType"},"Protocols/MixpanelDelegate.html#/s:8Mixpanel0A8DelegateP17mixpanelWillFlushySbAA0A8InstanceCF":{"name":"mixpanelWillFlush(_:)","abstract":"Asks the delegate if data should be uploaded to the server.","parent_name":"MixpanelDelegate"},"Protocols/MixpanelDelegate.html":{"name":"MixpanelDelegate","abstract":"Delegate protocol for controlling the Mixpanel API’s network behavior."},"Protocols/MixpanelType.html":{"name":"MixpanelType","abstract":"Property keys must be String objects and the supported value types need to conform to MixpanelType."},"Protocols/TweakClusterType.html":{"name":"TweakClusterType","abstract":"This protocol allows for easy initialization of TweakStore."},"Protocols/TweakLibraryType.html":{"name":"TweakLibraryType","abstract":"Create a public struct in your application that conforms to this protocol to declare your own tweaks!"},"Protocols/TweakableType.html":{"name":"TweakableType","abstract":"To add a new to our Tweak, make T conform to this protocol."},"Functions.html#/s:8Mixpanel2eeoiySbAA8AnyTweakV_ADtF":{"name":"==(_:_:)","abstract":"Comparator between two tweaks for A/B Testing."},"Functions.html#/s:8Mixpanel2eeoiySbAA5TweakVyxG_AEtAA13TweakableTypeRzlF":{"name":"==(_:_:)","abstract":"Comparator between two tweaks for A/B Testing."},"Extensions/CGFloat.html#/s:12CoreGraphics7CGFloatV8MixpanelE17tweakViewDataTypeAD05TweakfgH0OvpZ":{"name":"tweakViewDataType","abstract":"TweakableType supports the cgFloat type","parent_name":"CGFloat"},"Extensions/Dictionary.html#/s:SD8MixpanelE25isValidNestedTypeAndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"Checks if this object has nested object types that Mixpanel supports.","parent_name":"Dictionary"},"Extensions/Dictionary.html#/s:SD8MixpanelE6equals3rhsSbAA0A4Type_p_tF":{"name":"equals(rhs:)","abstract":"Undocumented","parent_name":"Dictionary"},"Extensions/NSArray.html#/s:So7NSArrayC8MixpanelE25isValidNestedTypeAndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"Checks if this object has nested object types that Mixpanel supports.","parent_name":"NSArray"},"Extensions/NSArray.html#/s:So7NSArrayC8MixpanelE6equals3rhsSbAC0B4Type_p_tF":{"name":"equals(rhs:)","abstract":"Undocumented","parent_name":"NSArray"},"Extensions/NSNull.html#/s:So6NSNullC8MixpanelE25isValidNestedTypeAndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"Checks if this object has nested object types that Mixpanel supports.","parent_name":"NSNull"},"Extensions/NSNull.html#/s:So6NSNullC8MixpanelE6equals3rhsSbAC0B4Type_p_tF":{"name":"equals(rhs:)","abstract":"Undocumented","parent_name":"NSNull"},"Extensions/URL.html#/s:10Foundation3URLV8MixpanelE25isValidNestedTypeAndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"Checks if this object has nested object types that Mixpanel supports.","parent_name":"URL"},"Extensions/URL.html#/s:10Foundation3URLV8MixpanelE6equals3rhsSbAD0C4Type_p_tF":{"name":"equals(rhs:)","abstract":"Undocumented","parent_name":"URL"},"Extensions/Date.html#/s:10Foundation4DateV8MixpanelE25isValidNestedTypeAndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"Checks if this object has nested object types that Mixpanel supports.","parent_name":"Date"},"Extensions/Date.html#/s:10Foundation4DateV8MixpanelE6equals3rhsSbAD0C4Type_p_tF":{"name":"equals(rhs:)","abstract":"Undocumented","parent_name":"Date"},"Extensions/Bool.html#/s:Sb8MixpanelE25isValidNestedTypeAndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"Checks if this object has nested object types that Mixpanel supports.","parent_name":"Bool"},"Extensions/Bool.html#/s:Sb8MixpanelE6equals3rhsSbAA0A4Type_p_tF":{"name":"equals(rhs:)","abstract":"Undocumented","parent_name":"Bool"},"Extensions/Bool.html#/s:Sb8MixpanelE17tweakViewDataTypeAA05TweakcdE0OvpZ":{"name":"tweakViewDataType","abstract":"TweakableType supports the boolean type","parent_name":"Bool"},"Extensions/Float.html#/s:Sf8MixpanelE25isValidNestedTypeAndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"Checks if this object has nested object types that Mixpanel supports.","parent_name":"Float"},"Extensions/Float.html#/s:Sf8MixpanelE6equals3rhsSbAA0A4Type_p_tF":{"name":"equals(rhs:)","abstract":"Undocumented","parent_name":"Float"},"Extensions/Double.html#/s:Sd8MixpanelE25isValidNestedTypeAndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"Checks if this object has nested object types that Mixpanel supports.","parent_name":"Double"},"Extensions/Double.html#/s:Sd8MixpanelE6equals3rhsSbAA0A4Type_p_tF":{"name":"equals(rhs:)","abstract":"Undocumented","parent_name":"Double"},"Extensions/Double.html#/s:Sd8MixpanelE17tweakViewDataTypeAA05TweakcdE0OvpZ":{"name":"tweakViewDataType","abstract":"TweakableType supports the double type","parent_name":"Double"},"Extensions/UInt.html#/s:Su8MixpanelE25isValidNestedTypeAndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"Checks if this object has nested object types that Mixpanel supports.","parent_name":"UInt"},"Extensions/UInt.html#/s:Su8MixpanelE6equals3rhsSbAA0A4Type_p_tF":{"name":"equals(rhs:)","abstract":"Undocumented","parent_name":"UInt"},"Extensions/Int.html#/s:Si8MixpanelE25isValidNestedTypeAndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"Checks if this object has nested object types that Mixpanel supports.","parent_name":"Int"},"Extensions/Int.html#/s:Si8MixpanelE6equals3rhsSbAA0A4Type_p_tF":{"name":"equals(rhs:)","abstract":"Undocumented","parent_name":"Int"},"Extensions/Int.html#/s:Si8MixpanelE17tweakViewDataTypeAA05TweakcdE0OvpZ":{"name":"tweakViewDataType","abstract":"TweakableType supports the integer type","parent_name":"Int"},"Extensions/NSNumber.html#/s:So8NSNumberC8MixpanelE25isValidNestedTypeAndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"Checks if this object has nested object types that Mixpanel supports.","parent_name":"NSNumber"},"Extensions/NSNumber.html#/s:So8NSNumberC8MixpanelE6equals3rhsSbAC0B4Type_p_tF":{"name":"equals(rhs:)","abstract":"Undocumented","parent_name":"NSNumber"},"Extensions/NSString.html#/s:So8NSStringC8MixpanelE25isValidNestedTypeAndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"Checks if this object has nested object types that Mixpanel supports.","parent_name":"NSString"},"Extensions/NSString.html#/s:So8NSStringC8MixpanelE6equals3rhsSbAC0B4Type_p_tF":{"name":"equals(rhs:)","abstract":"Undocumented","parent_name":"NSString"},"Extensions/String.html#/s:SS8MixpanelE25isValidNestedTypeAndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"Checks if this object has nested object types that Mixpanel supports.","parent_name":"String"},"Extensions/String.html#/s:SS8MixpanelE6equals3rhsSbAA0A4Type_p_tF":{"name":"equals(rhs:)","abstract":"Undocumented","parent_name":"String"},"Extensions/String.html#/s:SS8MixpanelE17tweakViewDataTypeAA05TweakcdE0OvpZ":{"name":"tweakViewDataType","abstract":"TweakableType supports the string type","parent_name":"String"},"Extensions/Optional.html#/s:Sq8MixpanelE25isValidNestedTypeAndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"Checks if this object has nested object types that Mixpanel supports.","parent_name":"Optional"},"Extensions/Optional.html#/s:Sq8MixpanelE6equals3rhsSbAA0A4Type_p_tF":{"name":"equals(rhs:)","abstract":"Undocumented","parent_name":"Optional"},"Extensions/Array.html#/s:Sa8MixpanelE25isValidNestedTypeAndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"Checks if this object has nested object types that Mixpanel supports.","parent_name":"Array"},"Extensions/Array.html#/s:Sa8MixpanelE6equals3rhsSbAA0A4Type_p_tF":{"name":"equals(rhs:)","abstract":"Undocumented","parent_name":"Array"},"Extensions/UIColor.html#/s:So7UIColorC8MixpanelE5MPHexABSu_tcfc":{"name":"init(MPHex:)","abstract":"The shorthand four-digit hexadecimal representation of color with alpha.","parent_name":"UIColor"},"Extensions/UIColor.html":{"name":"UIColor"},"Extensions/Array.html":{"name":"Array"},"Extensions/Optional.html":{"name":"Optional"},"Extensions/String.html":{"name":"String"},"Extensions/NSString.html":{"name":"NSString"},"Extensions/NSNumber.html":{"name":"NSNumber"},"Extensions/Int.html":{"name":"Int"},"Extensions/UInt.html":{"name":"UInt"},"Extensions/Double.html":{"name":"Double"},"Extensions/Float.html":{"name":"Float"},"Extensions/Bool.html":{"name":"Bool"},"Extensions/Date.html":{"name":"Date"},"Extensions/URL.html":{"name":"URL"},"Extensions/NSNull.html":{"name":"NSNull"},"Extensions/NSArray.html":{"name":"NSArray"},"Extensions/Dictionary.html":{"name":"Dictionary"},"Extensions/CGFloat.html":{"name":"CGFloat"},"Enums/TweakViewDataType.html#/s:8Mixpanel17TweakViewDataTypeO7booleanyA2CmF":{"name":"boolean","abstract":"TweakableType supports the boolean type","parent_name":"TweakViewDataType"},"Enums/TweakViewDataType.html#/s:8Mixpanel17TweakViewDataTypeO7integeryA2CmF":{"name":"integer","abstract":"TweakableType supports the integer type","parent_name":"TweakViewDataType"},"Enums/TweakViewDataType.html#/s:8Mixpanel17TweakViewDataTypeO7cgFloatyA2CmF":{"name":"cgFloat","abstract":"TweakableType supports the cgFloat type","parent_name":"TweakViewDataType"},"Enums/TweakViewDataType.html#/s:8Mixpanel17TweakViewDataTypeO6doubleyA2CmF":{"name":"double","abstract":"TweakableType supports the double type","parent_name":"TweakViewDataType"},"Enums/TweakViewDataType.html#/s:8Mixpanel17TweakViewDataTypeO6stringyA2CmF":{"name":"string","abstract":"TweakableType supports the string type","parent_name":"TweakViewDataType"},"Enums/TweakViewDataType.html":{"name":"TweakViewDataType","abstract":"The data types that are currently supported for SwiftTweaks."},"Classes/MixpanelPushNotifications.html#/s:8Mixpanel0A17PushNotificationsC02isaB12NotificationySbSo21UNNotificationContentCFZ":{"name":"isMixpanelPushNotification(_:)","abstract":"Undocumented","parent_name":"MixpanelPushNotifications"},"Classes/MixpanelPushNotifications.html#/s:8Mixpanel0A17PushNotificationsC10trackEvent_10properties7requestySS_SDySSAA0A4Type_pGSo21UNNotificationRequestCtFZ":{"name":"trackEvent(_:properties:request:)","abstract":"Undocumented","parent_name":"MixpanelPushNotifications"},"Classes/People.html#/s:8Mixpanel6PeopleC10ignoreTimeSbvp":{"name":"ignoreTime","abstract":"controls the $ignore_time property in any subsequent MixpanelPeople operation.","parent_name":"People"},"Classes/People.html#/s:8Mixpanel6PeopleC18addPushDeviceTokenyy10Foundation4DataVF":{"name":"addPushDeviceToken(_:)","abstract":"Register the given device to receive push notifications.","parent_name":"People"},"Classes/People.html#/s:8Mixpanel6PeopleC25removeAllPushDeviceTokensyyF":{"name":"removeAllPushDeviceTokens()","abstract":"Unregister the given device to receive push notifications.","parent_name":"People"},"Classes/People.html#/s:8Mixpanel6PeopleC21removePushDeviceTokenyy10Foundation4DataVF":{"name":"removePushDeviceToken(_:)","abstract":"Unregister a specific device token from the ability to receive push notifications.","parent_name":"People"},"Classes/People.html#/s:8Mixpanel6PeopleC3set10propertiesySDySSAA0A4Type_pG_tF":{"name":"set(properties:)","abstract":"Set properties on the current user in Mixpanel People.","parent_name":"People"},"Classes/People.html#/s:8Mixpanel6PeopleC3set8property2toySS_AA0A4Type_ptF":{"name":"set(property:to:)","abstract":"Convenience method for setting a single property in Mixpanel People.","parent_name":"People"},"Classes/People.html#/s:8Mixpanel6PeopleC7setOnce10propertiesySDySSAA0A4Type_pG_tF":{"name":"setOnce(properties:)","abstract":"Set properties on the current user in Mixpanel People, but doesn’t overwrite if","parent_name":"People"},"Classes/People.html#/s:8Mixpanel6PeopleC5unset10propertiesySaySSG_tF":{"name":"unset(properties:)","abstract":"Remove a list of properties and their values from the current user’s profile","parent_name":"People"},"Classes/People.html#/s:8Mixpanel6PeopleC9increment10propertiesySDySSAA0A4Type_pG_tF":{"name":"increment(properties:)","abstract":"Increment the given numeric properties by the given values.","parent_name":"People"},"Classes/People.html#/s:8Mixpanel6PeopleC9increment8property2byySS_SdtF":{"name":"increment(property:by:)","abstract":"Convenience method for incrementing a single numeric property by the specified","parent_name":"People"},"Classes/People.html#/s:8Mixpanel6PeopleC6append10propertiesySDySSAA0A4Type_pG_tF":{"name":"append(properties:)","abstract":"Append values to list properties.","parent_name":"People"},"Classes/People.html#/s:8Mixpanel6PeopleC6remove10propertiesySDySSAA0A4Type_pG_tF":{"name":"remove(properties:)","abstract":"Removes list properties.","parent_name":"People"},"Classes/People.html#/s:8Mixpanel6PeopleC5union10propertiesySDySSAA0A4Type_pG_tF":{"name":"union(properties:)","abstract":"Union list properties.","parent_name":"People"},"Classes/People.html#/s:8Mixpanel6PeopleC11trackCharge6amount10propertiesySd_SDySSAA0A4Type_pGSgtF":{"name":"trackCharge(amount:properties:)","abstract":"Track money spent by the current user for revenue analytics and associate","parent_name":"People"},"Classes/People.html#/s:8Mixpanel6PeopleC12clearChargesyyF":{"name":"clearCharges()","abstract":"Delete current user’s revenue history.","parent_name":"People"},"Classes/People.html#/s:8Mixpanel6PeopleC10deleteUseryyF":{"name":"deleteUser()","abstract":"Delete current user’s record from Mixpanel People.","parent_name":"People"},"Classes/MixpanelNotificationServiceExtension.html#/c:@M@Mixpanel@objc(cs)MixpanelNotificationServiceExtension(im)didReceiveNotificationRequest:withContentHandler:":{"name":"didReceive(_:withContentHandler:)","abstract":"Undocumented","parent_name":"MixpanelNotificationServiceExtension"},"Classes/MixpanelNotificationServiceExtension.html#/c:@M@Mixpanel@objc(cs)MixpanelNotificationServiceExtension(im)serviceExtensionTimeWillExpire":{"name":"serviceExtensionTimeWillExpire()","abstract":"Undocumented","parent_name":"MixpanelNotificationServiceExtension"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC8apiTokenSSvp":{"name":"apiToken","abstract":"apiToken string that identifies the project to track data to","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC8delegateAA0A8Delegate_pSgvp":{"name":"delegate","abstract":"The a MixpanelDelegate object that gives control over Mixpanel network activity.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC10distinctIdSSvp":{"name":"distinctId","abstract":"distinctId string that uniquely identifies the current user.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC11anonymousIdSSSgvp":{"name":"anonymousId","abstract":"anonymousId string that uniquely identifies the device.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC6userIdSSSgvp":{"name":"userId","abstract":"userId string that identify is called with.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC22hadPersistedDistinctIdSbSgvp":{"name":"hadPersistedDistinctId","abstract":"hadPersistedDistinctId is a boolean value which specifies that the stored distinct_id","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC5aliasSSSgvp":{"name":"alias","abstract":"alias string that uniquely identifies the current user.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC6peopleAA6PeopleCSgvp":{"name":"people","abstract":"Accessor to the Mixpanel People API object.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC28showNetworkActivityIndicatorSbvp":{"name":"showNetworkActivityIndicator","abstract":"Controls whether to show spinning network activity indicator when flushing","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC27trackAutomaticEventsEnabledSbSgvp":{"name":"trackAutomaticEventsEnabled","abstract":"This allows enabling or disabling collecting common mobile events","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC13flushIntervalSdvp":{"name":"flushInterval","abstract":"Flush timer’s interval.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC17flushOnBackgroundSbvp":{"name":"flushOnBackground","abstract":"Control whether the library should flush data to Mixpanel when the app","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC26useIPAddressForGeoLocationSbvp":{"name":"useIPAddressForGeoLocation","abstract":"Controls whether to automatically send the client IP Address as part of","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC9serverURLSSvp":{"name":"serverURL","abstract":"The base URL used for Mixpanel API requests.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:s28CustomDebugStringConvertibleP16debugDescriptionSSvp":{"name":"debugDescription","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC14loggingEnabledSbvp":{"name":"loggingEnabled","abstract":"This allows enabling or disabling of all Mixpanel logs at run time.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC4nameSSvp":{"name":"name","abstract":"A unique identifier for this MixpanelInstance","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC29enableVisualEditorForCodelessSbvp":{"name":"enableVisualEditorForCodeless","abstract":"Controls whether to enable the visual editor for codeless on mixpanel.com","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC24checkForVariantsOnActiveSbvp":{"name":"checkForVariantsOnActive","abstract":"Controls whether to automatically check for A/B test variants for the","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC28checkForNotificationOnActiveSbvp":{"name":"checkForNotificationOnActive","abstract":"Controls whether to automatically check for notifications for the","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC24showNotificationOnActiveSbvp":{"name":"showNotificationOnActive","abstract":"Controls whether to automatically check for and show in-app notifications","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC32miniNotificationPresentationTimeSdvp":{"name":"miniNotificationPresentationTime","abstract":"Determines the time, in seconds, that a mini notification will remain on","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC22minimumSessionDurations6UInt64Vvp":{"name":"minimumSessionDuration","abstract":"The minimum session duration (ms) that is tracked in automatic events.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC22maximumSessionDurations6UInt64Vvp":{"name":"maximumSessionDuration","abstract":"The maximum session duration (ms) that is tracked in automatic events.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC8identify10distinctId9usePeople10completionySS_SbyycSgtF":{"name":"identify(distinctId:usePeople:completion:)","abstract":"Sets the distinct ID of the current user.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC11createAlias_10distinctId9usePeople10completionySS_SSSbyycSgtF":{"name":"createAlias(_:distinctId:usePeople:completion:)","abstract":"The alias method creates an alias which Mixpanel will use to remap one id to another.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC5reset10completionyyycSg_tF":{"name":"reset(completion:)","abstract":"Clears all stored properties including the distinct Id.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC7archiveyyF":{"name":"archive()","abstract":"Writes current project info including the distinct Id, super properties,","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/archive()":{"name":"archive()","abstract":"Writes current project info including the distinct Id, super properties,","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC5flush10completionyyycSg_tF":{"name":"flush(completion:)","abstract":"Uploads queued data to the Mixpanel server.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC5track5event10propertiesySSSg_SDySSAA0A4Type_pGSgtF":{"name":"track(event:properties:)","abstract":"Tracks an event with properties.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC15trackWithGroups5event10properties6groupsySSSg_SDySSAA0A4Type_pGSgAKtF":{"name":"trackWithGroups(event:properties:groups:)","abstract":"Tracks an event with properties and to specific groups.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC8getGroup8groupKey0E2IDAA0D0CSS_AA0A4Type_ptF":{"name":"getGroup(groupKey:groupID:)","abstract":"Undocumented","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC4time5eventySS_tF":{"name":"time(event:)","abstract":"Starts a timer that will be stopped and added as a property when a","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC16eventElapsedTime0C0SdSS_tF":{"name":"eventElapsedTime(event:)","abstract":"Retrieves the time elapsed for the named event since time(event:) was called.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC16clearTimedEventsyyF":{"name":"clearTimedEvents()","abstract":"Clears all current event timers.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC15clearTimedEvent5eventySS_tF":{"name":"clearTimedEvent(event:)","abstract":"Clears the event timer for the named event.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC22currentSuperPropertiesSDySSypGyF":{"name":"currentSuperProperties()","abstract":"Returns the currently set super properties.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC20clearSuperPropertiesyyF":{"name":"clearSuperProperties()","abstract":"Clears all currently set super properties.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC23registerSuperPropertiesyySDySSAA0A4Type_pGF":{"name":"registerSuperProperties(_:)","abstract":"Registers super properties, overwriting ones that have already been set.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC27registerSuperPropertiesOnce_12defaultValueySDySSAA0A4Type_pG_AaF_pSgtF":{"name":"registerSuperPropertiesOnce(_:defaultValue:)","abstract":"Registers super properties without overwriting ones that have already been set,","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC23unregisterSuperPropertyyySSF":{"name":"unregisterSuperProperty(_:)","abstract":"Removes a previously registered super property.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC8setGroup8groupKey0E2IDySS_AA0A4Type_ptF":{"name":"setGroup(groupKey:groupID:)","abstract":"Convenience method to set a single group the user belongs to.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC8setGroup8groupKey0E3IDsySS_SayAA0A4Type_pGtF":{"name":"setGroup(groupKey:groupIDs:)","abstract":"Set the groups this user belongs to.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC8addGroup8groupKey0E2IDySS_AA0A4Type_ptF":{"name":"addGroup(groupKey:groupID:)","abstract":"Add a group to this user’s membership for a particular group key","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC11removeGroup8groupKey0E2IDySS_AA0A4Type_ptF":{"name":"removeGroup(groupKey:groupID:)","abstract":"Remove a group from this user’s membership for a particular group key","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC14optOutTrackingyyF":{"name":"optOutTracking()","abstract":"Opt out tracking.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC13optInTracking10distinctId10propertiesySSSg_SDySSAA0A4Type_pGSgtF":{"name":"optInTracking(distinctId:properties:)","abstract":"Opt in tracking.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC19hasOptedOutTrackingSbyF":{"name":"hasOptedOutTracking()","abstract":"Returns if the current user has opted out tracking.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC15joinExperiments8callbackyyycSg_tF":{"name":"joinExperiments(callback:)","abstract":"Join any experiments (A/B tests) that are available for the current user.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC16showNotificationyyF":{"name":"showNotification()","abstract":"Shows a notification if one is available.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC16showNotification4typeySS_tF":{"name":"showNotification(type:)","abstract":"Shows a notification with the given type if one is available.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC16showNotification2IDySi_tF":{"name":"showNotification(ID:)","abstract":"Shows a notification with the given ID","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC24fetchNotificationPayload10completionyySDySSyXlGSgc_tF":{"name":"fetchNotificationPayload(completion:)","abstract":"Returns the payload of a notification if available","parent_name":"MixpanelInstance"},"Classes/Mixpanel.html#/s:8MixpanelAAC10initialize5token13launchOptions13flushInterval12instanceName21automaticPushTracking06optOutL9ByDefaultAA0A8InstanceCSS_SDySo019UIApplicationLaunchE3KeyaypGSgSdSSS2btFZ":{"name":"initialize(token:launchOptions:flushInterval:instanceName:automaticPushTracking:optOutTrackingByDefault:)","abstract":"Initializes an instance of the API with the given project token.","parent_name":"Mixpanel"},"Classes/Mixpanel.html#/initialize(token:flushInterval:instanceName:optOutTrackingByDefault:)":{"name":"initialize(token:flushInterval:instanceName:optOutTrackingByDefault:)","abstract":"Initializes an instance of the API with the given project token (MAC OS ONLY).","parent_name":"Mixpanel"},"Classes/Mixpanel.html#/s:8MixpanelAAC11getInstance4nameAA0aC0CSgSS_tFZ":{"name":"getInstance(name:)","abstract":"Gets the mixpanel instance with the given name","parent_name":"Mixpanel"},"Classes/Mixpanel.html#/s:8MixpanelAAC12mainInstanceAA0aC0CyFZ":{"name":"mainInstance()","abstract":"Returns the main instance that was initialized.","parent_name":"Mixpanel"},"Classes/Mixpanel.html#/s:8MixpanelAAC15setMainInstance4nameySS_tFZ":{"name":"setMainInstance(name:)","abstract":"Sets the main instance based on the instance name","parent_name":"Mixpanel"},"Classes/Mixpanel.html#/s:8MixpanelAAC14removeInstance4nameySS_tFZ":{"name":"removeInstance(name:)","abstract":"Removes an unneeded Mixpanel instance based on its name","parent_name":"Mixpanel"},"Classes/Group.html#/s:8Mixpanel5GroupC3set10propertiesySDySSAA0A4Type_pG_tF":{"name":"set(properties:)","abstract":"Sets properties on this group.","parent_name":"Group"},"Classes/Group.html#/s:8Mixpanel5GroupC3set8property2toySS_AA0A4Type_ptF":{"name":"set(property:to:)","abstract":"Convenience method for setting a single property in Mixpanel Groups.","parent_name":"Group"},"Classes/Group.html#/s:8Mixpanel5GroupC7setOnce10propertiesySDySSAA0A4Type_pG_tF":{"name":"setOnce(properties:)","abstract":"Sets properties on the current Mixpanel Group, but doesn’t overwrite if","parent_name":"Group"},"Classes/Group.html#/s:8Mixpanel5GroupC5unset8propertyySS_tF":{"name":"unset(property:)","abstract":"Remove a property and its value from a group’s profile in Mixpanel Groups.","parent_name":"Group"},"Classes/Group.html#/s:8Mixpanel5GroupC6remove3key5valueySS_AA0A4Type_ptF":{"name":"remove(key:value:)","abstract":"Removes list properties.","parent_name":"Group"},"Classes/Group.html#/s:8Mixpanel5GroupC5union3key6valuesySS_SayAA0A4Type_pGtF":{"name":"union(key:values:)","abstract":"Union list properties.","parent_name":"Group"},"Classes/Group.html#/s:8Mixpanel5GroupC06deleteB0yyF":{"name":"deleteGroup()","abstract":"Delete group’s record from Mixpanel Groups.","parent_name":"Group"},"Classes/Group.html":{"name":"Group","abstract":"Access to the Mixpanel Groups API, available through the getGroup function from"},"Classes/Mixpanel.html":{"name":"Mixpanel","abstract":"The primary class for integrating Mixpanel with your app."},"Classes/MixpanelInstance.html":{"name":"MixpanelInstance","abstract":"The class that represents the Mixpanel Instance"},"Classes/MixpanelNotificationServiceExtension.html":{"name":"MixpanelNotificationServiceExtension","abstract":"Undocumented"},"Classes/People.html":{"name":"People","abstract":"Access to the Mixpanel People API, available as an accessible variable from"},"Classes/MixpanelPushNotifications.html":{"name":"MixpanelPushNotifications","abstract":"Undocumented"},"Classes.html#/s:8Mixpanel10TweakStoreC":{"name":"TweakStore","abstract":"Looks up the persisted state for tweaks."},"Classes.html":{"name":"Classes","abstract":"The following classes are available globally."},"Enums.html":{"name":"Enumerations","abstract":"The following enumerations are available globally."},"Extensions.html":{"name":"Extensions","abstract":"The following extensions are available globally."},"Functions.html":{"name":"Functions","abstract":"The following functions are available globally."},"Protocols.html":{"name":"Protocols","abstract":"The following protocols are available globally."},"Structs.html":{"name":"Structures","abstract":"The following structures are available globally."},"Typealiases.html":{"name":"Type Aliases","abstract":"The following type aliases are available globally."}} \ No newline at end of file diff --git a/docs/undocumented.json b/docs/undocumented.json index 1e31bd6a..75baf9b9 100644 --- a/docs/undocumented.json +++ b/docs/undocumented.json @@ -9,7 +9,7 @@ }, { "file": "/Users/zihejia/Documents/Projects/Develop/mixpanel-swift/Sources/MixpanelInstance.swift", - "line": 1296, + "line": 1335, "symbol": "MixpanelInstance.getGroup(groupKey:groupID:)", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented"
Add Mixpanel as a submodule to your local git repo like so:
git submodule add git@github.com:mixpanel/mixpanel-swift.git +func application(_ application: UIApplication, + didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool { + ... + Mixpanel.initialize(token: "MIXPANEL_TOKEN") + ... +}
Now the Mixpanel project and its files should be in your project folder!
See all configuration options
Drag the Mixpanel.xcodeproj inside your sample project under the main sample project file:
Let’s get started by sending event data. You can send an event from anywhere in your application. Better understand user behavior by storing details that are specific to the event (properties). After initializing the library, Mixpanel will automatically collect common mobile events. You can enable/disable automatic collection through your project settings. Also, Mixpanel automatically tracks some properties by default. learn more
Mixpanel.mainInstance().track(event: "Sign Up", properties: [ + "source": "Pat's affiliate site", + "Opted out of email": true +]) +
Select your app .xcodeproj file. Under “General”, add the Mixpanel framework as an embedded binary:
In addition to event data, you can also send user profile data. We recommend this after completing the quickstart guide.
Open up Live View in Mixpanel to view incoming events.
Once data hits our API, it generally takes ~60 seconds for it to be processed, stored, and queryable in your project.
Here’s a runnable code example that covers everything in this quickstart guide.
import Mixpanel -Import Mixpanel into AppDelegate.swift, and initialize Mixpanel within application:didFinishLaunchingWithOptions: - -func application(_ application: UIApplication, +func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool { + ... Mixpanel.initialize(token: "MIXPANEL_TOKEN") + Mixpanel.mainInstance().track(event: "Sign Up", properties: [ + "source": "Pat's affiliate site", + "Opted out of email": true + ]) + ... } +FAQ -You initialize your Mixpanel instance with the token provided to you on mixpanel.com. - - -Start tracking - -After installing the library into your iOS app, Mixpanel will automatically collect common mobile events. You can enable/ disable automatic collection through your project settings. - -To interact with the instance and track additional events, you can either use the mixpanel instance given when initializing: -mixpanel.track(event: "Tracked Event!") - +I want to stop tracking an event/event property in Mixpanel. Is that possible? -or you can directly fetch the instance and use it from the Mixpanel object: -Mixpanel.mainInstance().track(event: "Tracked Event!") - +Yes, in Lexicon, you can intercept and drop incoming events or properties. Mixpanel won’t store any new data for the event or property you select to drop. See this article for more information. -You’re done! You’ve successfully integrated the Mixpanel Swift SDK into your app. To stay up to speed on important SDK releases and updates, star or watch our repository on Github. +I have a test user I would like to opt out of tracking. How do I do that? -Have any questions? Reach out to support@mixpanel.com to speak to someone smart, quickly. -Using Mixpanel Push Notifications +Mixpanel’s client-side tracking library contains the optOutTracking() method, which will set the user’s local opt-out state to “true” and will prevent data from being sent from a user’s device. More detailed instructions can be found in the section, Opting users out of tracking. -First enable Mixpanel push notifications in your app. Then for Rich Push Notifications, you’ll need to integrate your application with the MixpanelNotificationServiceExtension. -Integrating the MixpanelNotificationServiceExtension +Why aren’t my events showing up? -The Mixpanel SDK comes with a custom Notification Service Extension used to render rich media, custom action buttons, and track when push notifications are received. To enable these features, you will need to integrate it into your application. -1. Create a new Notification Service Extension Target +To preserve battery life and customer bandwidth, the Mixpanel library doesn’t send the events you record immediately. Instead, it sends batches to the Mixpanel servers every 60 seconds while your application is running, as well as when the application transitions to the background. You can call flush() manually if you want to force a flush at a particular moment. +Mixpanel.mainInstance().flush() + - - - -2. Add Mixpanel-swift as a dependency +If your events are still not showing up after 60 seconds, check if you have opted out of tracking. You can also enable Mixpanel debugging and logging, it allows you to see the debug output from the Mixpanel library. To enable it, set loggingEnabled to true. +Mixpanel.mainInstance().loggingEnabled = true + -Add the following to the end of your Podfile: -target 'NotificationService' do - use_frameworks! +Starting with iOS 14.5, do I need to request the user’s permission through the AppTrackingTransparency framework to use Mixpanel? - pod 'Mixpanel-swift' -end - +No, Mixpanel does not use IDFA so it does not require user permission through the AppTrackingTransparency(ATT) framework. -Then run pod install -3. Extend your NotificationService from MixpanelNotificationServiceExtension +If I use Mixpanel, how do I answer app privacy questions for the App Store? -Replace the contents of your NotificationService.swift file with the following: -import Mixpanel +Please refer to our Apple App Developer Privacy Guidance +I want to know more! -class NotificationService: MixpanelNotificationServiceExtension {} - -4. Delegate the handling of the notification response to the Mixpanel SDK - -In your AppDelegate.swift file, you need to call MixpanelPushNotifications.handleResponse when a push notification response is received: -@available(iOS 10.0, *) -func userNotificationCenter(_ center: UNUserNotificationCenter, didReceive response: UNNotificationResponse, withCompletionHandler completionHandler: @escaping () -> Void) { - if MixpanelPushNotifications.isMixpanelPushNotification(response.notification.request.content) { - debugPrint("Handling Mixpanel push notification response...") - MixpanelPushNotifications.handleResponse(response: response, withCompletionHandler: completionHandler) - } else { - // not a Mixpanel push notification - debugPrint("Not a Mixpanel push notification.") - completionHandler() - } -} - +No worries, here are some links that you will find useful: -This will make sure the tap actions are appropriately handled (open URL, deeplink, etc) as well as track whether a notification was tapped or dismissed. -5. Run the app and send a test push notification from Mixpanel that includes an image or buttons + +Advanced iOS - Swift Guide +Sample app +Full API Reference + -That’s it! Your app should now be able to receive rich push notifications from Mixpanel. +Have any questions? Reach out to Mixpanel Support to speak to someone smart, quickly. - © 2021 Mixpanel. All rights reserved. (Last updated: 2021-06-11) + © 2021 Mixpanel. All rights reserved. (Last updated: 2021-08-13) Generated by jazzy ♪♫ v0.13.6, a Realm project. diff --git a/docs/docsets/Mixpanel.docset/Contents/Resources/Documents/search.json b/docs/docsets/Mixpanel.docset/Contents/Resources/Documents/search.json index 040a3460..dc8e93ad 100644 --- a/docs/docsets/Mixpanel.docset/Contents/Resources/Documents/search.json +++ b/docs/docsets/Mixpanel.docset/Contents/Resources/Documents/search.json @@ -1 +1 @@ -{"Typealiases.html#/s:8Mixpanel10Propertiesa":{"name":"Properties","abstract":"Undocumented"},"Structs/MixpanelTweaks.html#/s:8Mixpanel0A6TweaksV12defaultStoreAA05TweakD0CvpZ":{"name":"defaultStore","abstract":"The default store that holds the Tweaks","parent_name":"MixpanelTweaks"},"Structs/MixpanelTweaks.html#/s:8Mixpanel0A6TweaksV03setB06tweaksySayAA16TweakClusterType_pG_tFZ":{"name":"setTweaks(tweaks:)","abstract":"setTweaks needs to be called to add the defined Tweaks into the environment.","parent_name":"MixpanelTweaks"},"Structs/Tweak.html#/s:8Mixpanel5TweakV9tweakName12defaultValueACyxGSS_xtcfc":{"name":"init(tweakName:defaultValue:)","abstract":"Initializer for a Tweak for A/B Testing","parent_name":"Tweak"},"Structs/Tweak.html#/s:8Mixpanel5TweakV4hash4intoys6HasherVz_tF":{"name":"hash(into:)","abstract":"Hashing for a Tweak for A/B Testing in order for it to be stored.","parent_name":"Tweak"},"Structs/Tweak.html#/s:8Mixpanel16TweakClusterTypeP05tweakC0SayAA03AnyB0VGvp":{"name":"tweakCluster","parent_name":"Tweak"},"Structs/Tweak.html#/s:8Mixpanel5TweakVAASLRzs13SignedNumericRzrlE9tweakName12defaultValue3min3max8stepSizeACyxGSS_xxSgA2Ktcfc":{"name":"init(tweakName:defaultValue:min:max:stepSize:)","abstract":"Creates a Tweak where T: SignedNumberType","parent_name":"Tweak"},"Structs/AnyTweak.html#/s:SH4hash4intoys6HasherVz_tF":{"name":"hash(into:)","parent_name":"AnyTweak"},"Structs/AnyTweak.html#/s:8Mixpanel8AnyTweakV12tweakClusterSayACGvp":{"name":"tweakCluster","abstract":"Allows easy tweak initialization by clustering tweaks together for A/B Testing","parent_name":"AnyTweak"},"Structs/AnyTweak.html":{"name":"AnyTweak","abstract":"A type-erasure around Tweak for A/B Testing."},"Structs/Tweak.html":{"name":"Tweak","abstract":"Tweaks let you adjust things on the fly."},"Structs/MixpanelTweaks.html":{"name":"MixpanelTweaks","abstract":"The MixpanelTweaks struct that needs to be extended to define new Tweaks for A/B testing"},"Protocols/TweakableType.html#/s:8Mixpanel13TweakableTypeP013tweakViewDataC0AA05TweakefC0OvpZ":{"name":"tweakViewDataType","abstract":"The data type of the TweakableType","parent_name":"TweakableType"},"Protocols/TweakLibraryType.html#/s:8Mixpanel16TweakLibraryTypeP12defaultStoreAA0bF0CvpZ":{"name":"defaultStore","abstract":"the default tweak store","parent_name":"TweakLibraryType"},"Protocols/TweakLibraryType.html#/s:8Mixpanel16TweakLibraryTypePAAE6assignyqd__AA0B0Vyqd__GAA09TweakableD0Rd__lFZ":{"name":"assign(_:)","abstract":"Returns the current value for a tweak from the TweakLibrary’s default store.","parent_name":"TweakLibraryType"},"Protocols/TweakLibraryType.html#/s:8Mixpanel16TweakLibraryTypePAAE4bind_7bindingyAA0B0Vyqd__G_yqd__ctAA09TweakableD0Rd__lFZ":{"name":"bind(_:binding:)","abstract":"Immediately binds the currentValue of a given tweak, and then continues to update whenever the tweak changes.","parent_name":"TweakLibraryType"},"Protocols/TweakClusterType.html#/s:8Mixpanel16TweakClusterTypeP05tweakC0SayAA03AnyB0VGvp":{"name":"tweakCluster","abstract":"The tweak cluster to allow easy initialization of Tweaks","parent_name":"TweakClusterType"},"Protocols/MixpanelType.html#/s:8Mixpanel0A4TypeP013isValidNestedB8AndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"Checks if this object has nested object types that Mixpanel supports.","parent_name":"MixpanelType"},"Protocols/MixpanelType.html#/s:8Mixpanel0A4TypeP6equals3rhsSbAaB_p_tF":{"name":"equals(rhs:)","abstract":"Undocumented","parent_name":"MixpanelType"},"Protocols/MixpanelDelegate.html#/s:8Mixpanel0A8DelegateP17mixpanelWillFlushySbAA0A8InstanceCF":{"name":"mixpanelWillFlush(_:)","abstract":"Asks the delegate if data should be uploaded to the server.","parent_name":"MixpanelDelegate"},"Protocols/MixpanelDelegate.html":{"name":"MixpanelDelegate","abstract":"Delegate protocol for controlling the Mixpanel API’s network behavior."},"Protocols/MixpanelType.html":{"name":"MixpanelType","abstract":"Property keys must be String objects and the supported value types need to conform to MixpanelType."},"Protocols/TweakClusterType.html":{"name":"TweakClusterType","abstract":"This protocol allows for easy initialization of TweakStore."},"Protocols/TweakLibraryType.html":{"name":"TweakLibraryType","abstract":"Create a public struct in your application that conforms to this protocol to declare your own tweaks!"},"Protocols/TweakableType.html":{"name":"TweakableType","abstract":"To add a new to our Tweak, make T conform to this protocol."},"Functions.html#/s:8Mixpanel2eeoiySbAA8AnyTweakV_ADtF":{"name":"==(_:_:)","abstract":"Comparator between two tweaks for A/B Testing."},"Functions.html#/s:8Mixpanel2eeoiySbAA5TweakVyxG_AEtAA13TweakableTypeRzlF":{"name":"==(_:_:)","abstract":"Comparator between two tweaks for A/B Testing."},"Extensions/CGFloat.html#/s:12CoreGraphics7CGFloatV8MixpanelE17tweakViewDataTypeAD05TweakfgH0OvpZ":{"name":"tweakViewDataType","abstract":"TweakableType supports the cgFloat type","parent_name":"CGFloat"},"Extensions/Dictionary.html#/s:SD8MixpanelE25isValidNestedTypeAndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"Checks if this object has nested object types that Mixpanel supports.","parent_name":"Dictionary"},"Extensions/Dictionary.html#/s:SD8MixpanelE6equals3rhsSbAA0A4Type_p_tF":{"name":"equals(rhs:)","abstract":"Undocumented","parent_name":"Dictionary"},"Extensions/NSArray.html#/s:So7NSArrayC8MixpanelE25isValidNestedTypeAndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"Checks if this object has nested object types that Mixpanel supports.","parent_name":"NSArray"},"Extensions/NSArray.html#/s:So7NSArrayC8MixpanelE6equals3rhsSbAC0B4Type_p_tF":{"name":"equals(rhs:)","abstract":"Undocumented","parent_name":"NSArray"},"Extensions/NSNull.html#/s:So6NSNullC8MixpanelE25isValidNestedTypeAndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"Checks if this object has nested object types that Mixpanel supports.","parent_name":"NSNull"},"Extensions/NSNull.html#/s:So6NSNullC8MixpanelE6equals3rhsSbAC0B4Type_p_tF":{"name":"equals(rhs:)","abstract":"Undocumented","parent_name":"NSNull"},"Extensions/URL.html#/s:10Foundation3URLV8MixpanelE25isValidNestedTypeAndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"Checks if this object has nested object types that Mixpanel supports.","parent_name":"URL"},"Extensions/URL.html#/s:10Foundation3URLV8MixpanelE6equals3rhsSbAD0C4Type_p_tF":{"name":"equals(rhs:)","abstract":"Undocumented","parent_name":"URL"},"Extensions/Date.html#/s:10Foundation4DateV8MixpanelE25isValidNestedTypeAndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"Checks if this object has nested object types that Mixpanel supports.","parent_name":"Date"},"Extensions/Date.html#/s:10Foundation4DateV8MixpanelE6equals3rhsSbAD0C4Type_p_tF":{"name":"equals(rhs:)","abstract":"Undocumented","parent_name":"Date"},"Extensions/Bool.html#/s:Sb8MixpanelE25isValidNestedTypeAndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"Checks if this object has nested object types that Mixpanel supports.","parent_name":"Bool"},"Extensions/Bool.html#/s:Sb8MixpanelE6equals3rhsSbAA0A4Type_p_tF":{"name":"equals(rhs:)","abstract":"Undocumented","parent_name":"Bool"},"Extensions/Bool.html#/s:Sb8MixpanelE17tweakViewDataTypeAA05TweakcdE0OvpZ":{"name":"tweakViewDataType","abstract":"TweakableType supports the boolean type","parent_name":"Bool"},"Extensions/Float.html#/s:Sf8MixpanelE25isValidNestedTypeAndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"Checks if this object has nested object types that Mixpanel supports.","parent_name":"Float"},"Extensions/Float.html#/s:Sf8MixpanelE6equals3rhsSbAA0A4Type_p_tF":{"name":"equals(rhs:)","abstract":"Undocumented","parent_name":"Float"},"Extensions/Double.html#/s:Sd8MixpanelE25isValidNestedTypeAndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"Checks if this object has nested object types that Mixpanel supports.","parent_name":"Double"},"Extensions/Double.html#/s:Sd8MixpanelE6equals3rhsSbAA0A4Type_p_tF":{"name":"equals(rhs:)","abstract":"Undocumented","parent_name":"Double"},"Extensions/Double.html#/s:Sd8MixpanelE17tweakViewDataTypeAA05TweakcdE0OvpZ":{"name":"tweakViewDataType","abstract":"TweakableType supports the double type","parent_name":"Double"},"Extensions/UInt.html#/s:Su8MixpanelE25isValidNestedTypeAndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"Checks if this object has nested object types that Mixpanel supports.","parent_name":"UInt"},"Extensions/UInt.html#/s:Su8MixpanelE6equals3rhsSbAA0A4Type_p_tF":{"name":"equals(rhs:)","abstract":"Undocumented","parent_name":"UInt"},"Extensions/Int.html#/s:Si8MixpanelE25isValidNestedTypeAndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"Checks if this object has nested object types that Mixpanel supports.","parent_name":"Int"},"Extensions/Int.html#/s:Si8MixpanelE6equals3rhsSbAA0A4Type_p_tF":{"name":"equals(rhs:)","abstract":"Undocumented","parent_name":"Int"},"Extensions/Int.html#/s:Si8MixpanelE17tweakViewDataTypeAA05TweakcdE0OvpZ":{"name":"tweakViewDataType","abstract":"TweakableType supports the integer type","parent_name":"Int"},"Extensions/NSNumber.html#/s:So8NSNumberC8MixpanelE25isValidNestedTypeAndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"Checks if this object has nested object types that Mixpanel supports.","parent_name":"NSNumber"},"Extensions/NSNumber.html#/s:So8NSNumberC8MixpanelE6equals3rhsSbAC0B4Type_p_tF":{"name":"equals(rhs:)","abstract":"Undocumented","parent_name":"NSNumber"},"Extensions/NSString.html#/s:So8NSStringC8MixpanelE25isValidNestedTypeAndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"Checks if this object has nested object types that Mixpanel supports.","parent_name":"NSString"},"Extensions/NSString.html#/s:So8NSStringC8MixpanelE6equals3rhsSbAC0B4Type_p_tF":{"name":"equals(rhs:)","abstract":"Undocumented","parent_name":"NSString"},"Extensions/String.html#/s:SS8MixpanelE25isValidNestedTypeAndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"Checks if this object has nested object types that Mixpanel supports.","parent_name":"String"},"Extensions/String.html#/s:SS8MixpanelE6equals3rhsSbAA0A4Type_p_tF":{"name":"equals(rhs:)","abstract":"Undocumented","parent_name":"String"},"Extensions/String.html#/s:SS8MixpanelE17tweakViewDataTypeAA05TweakcdE0OvpZ":{"name":"tweakViewDataType","abstract":"TweakableType supports the string type","parent_name":"String"},"Extensions/Optional.html#/s:Sq8MixpanelE25isValidNestedTypeAndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"Checks if this object has nested object types that Mixpanel supports.","parent_name":"Optional"},"Extensions/Optional.html#/s:Sq8MixpanelE6equals3rhsSbAA0A4Type_p_tF":{"name":"equals(rhs:)","abstract":"Undocumented","parent_name":"Optional"},"Extensions/Array.html#/s:Sa8MixpanelE25isValidNestedTypeAndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"Checks if this object has nested object types that Mixpanel supports.","parent_name":"Array"},"Extensions/Array.html#/s:Sa8MixpanelE6equals3rhsSbAA0A4Type_p_tF":{"name":"equals(rhs:)","abstract":"Undocumented","parent_name":"Array"},"Extensions/UIColor.html#/s:So7UIColorC8MixpanelE5MPHexABSu_tcfc":{"name":"init(MPHex:)","abstract":"The shorthand four-digit hexadecimal representation of color with alpha.","parent_name":"UIColor"},"Extensions/UIColor.html":{"name":"UIColor"},"Extensions/Array.html":{"name":"Array"},"Extensions/Optional.html":{"name":"Optional"},"Extensions/String.html":{"name":"String"},"Extensions/NSString.html":{"name":"NSString"},"Extensions/NSNumber.html":{"name":"NSNumber"},"Extensions/Int.html":{"name":"Int"},"Extensions/UInt.html":{"name":"UInt"},"Extensions/Double.html":{"name":"Double"},"Extensions/Float.html":{"name":"Float"},"Extensions/Bool.html":{"name":"Bool"},"Extensions/Date.html":{"name":"Date"},"Extensions/URL.html":{"name":"URL"},"Extensions/NSNull.html":{"name":"NSNull"},"Extensions/NSArray.html":{"name":"NSArray"},"Extensions/Dictionary.html":{"name":"Dictionary"},"Extensions/CGFloat.html":{"name":"CGFloat"},"Enums/TweakViewDataType.html#/s:8Mixpanel17TweakViewDataTypeO7booleanyA2CmF":{"name":"boolean","abstract":"TweakableType supports the boolean type","parent_name":"TweakViewDataType"},"Enums/TweakViewDataType.html#/s:8Mixpanel17TweakViewDataTypeO7integeryA2CmF":{"name":"integer","abstract":"TweakableType supports the integer type","parent_name":"TweakViewDataType"},"Enums/TweakViewDataType.html#/s:8Mixpanel17TweakViewDataTypeO7cgFloatyA2CmF":{"name":"cgFloat","abstract":"TweakableType supports the cgFloat type","parent_name":"TweakViewDataType"},"Enums/TweakViewDataType.html#/s:8Mixpanel17TweakViewDataTypeO6doubleyA2CmF":{"name":"double","abstract":"TweakableType supports the double type","parent_name":"TweakViewDataType"},"Enums/TweakViewDataType.html#/s:8Mixpanel17TweakViewDataTypeO6stringyA2CmF":{"name":"string","abstract":"TweakableType supports the string type","parent_name":"TweakViewDataType"},"Enums/TweakViewDataType.html":{"name":"TweakViewDataType","abstract":"The data types that are currently supported for SwiftTweaks."},"Classes/MixpanelPushNotifications.html#/s:8Mixpanel0A17PushNotificationsC02isaB12NotificationySbSo21UNNotificationContentCFZ":{"name":"isMixpanelPushNotification(_:)","abstract":"Undocumented","parent_name":"MixpanelPushNotifications"},"Classes/MixpanelPushNotifications.html#/s:8Mixpanel0A17PushNotificationsC10trackEvent_10properties7requestySS_SDySSAA0A4Type_pGSo21UNNotificationRequestCtFZ":{"name":"trackEvent(_:properties:request:)","abstract":"Undocumented","parent_name":"MixpanelPushNotifications"},"Classes/People.html#/s:8Mixpanel6PeopleC10ignoreTimeSbvp":{"name":"ignoreTime","abstract":"controls the $ignore_time property in any subsequent MixpanelPeople operation.","parent_name":"People"},"Classes/People.html#/s:8Mixpanel6PeopleC18addPushDeviceTokenyy10Foundation4DataVF":{"name":"addPushDeviceToken(_:)","abstract":"Register the given device to receive push notifications.","parent_name":"People"},"Classes/People.html#/s:8Mixpanel6PeopleC25removeAllPushDeviceTokensyyF":{"name":"removeAllPushDeviceTokens()","abstract":"Unregister the given device to receive push notifications.","parent_name":"People"},"Classes/People.html#/s:8Mixpanel6PeopleC21removePushDeviceTokenyy10Foundation4DataVF":{"name":"removePushDeviceToken(_:)","abstract":"Unregister a specific device token from the ability to receive push notifications.","parent_name":"People"},"Classes/People.html#/s:8Mixpanel6PeopleC3set10propertiesySDySSAA0A4Type_pG_tF":{"name":"set(properties:)","abstract":"Set properties on the current user in Mixpanel People.","parent_name":"People"},"Classes/People.html#/s:8Mixpanel6PeopleC3set8property2toySS_AA0A4Type_ptF":{"name":"set(property:to:)","abstract":"Convenience method for setting a single property in Mixpanel People.","parent_name":"People"},"Classes/People.html#/s:8Mixpanel6PeopleC7setOnce10propertiesySDySSAA0A4Type_pG_tF":{"name":"setOnce(properties:)","abstract":"Set properties on the current user in Mixpanel People, but doesn’t overwrite if","parent_name":"People"},"Classes/People.html#/s:8Mixpanel6PeopleC5unset10propertiesySaySSG_tF":{"name":"unset(properties:)","abstract":"Remove a list of properties and their values from the current user’s profile","parent_name":"People"},"Classes/People.html#/s:8Mixpanel6PeopleC9increment10propertiesySDySSAA0A4Type_pG_tF":{"name":"increment(properties:)","abstract":"Increment the given numeric properties by the given values.","parent_name":"People"},"Classes/People.html#/s:8Mixpanel6PeopleC9increment8property2byySS_SdtF":{"name":"increment(property:by:)","abstract":"Convenience method for incrementing a single numeric property by the specified","parent_name":"People"},"Classes/People.html#/s:8Mixpanel6PeopleC6append10propertiesySDySSAA0A4Type_pG_tF":{"name":"append(properties:)","abstract":"Append values to list properties.","parent_name":"People"},"Classes/People.html#/s:8Mixpanel6PeopleC6remove10propertiesySDySSAA0A4Type_pG_tF":{"name":"remove(properties:)","abstract":"Removes list properties.","parent_name":"People"},"Classes/People.html#/s:8Mixpanel6PeopleC5union10propertiesySDySSAA0A4Type_pG_tF":{"name":"union(properties:)","abstract":"Union list properties.","parent_name":"People"},"Classes/People.html#/s:8Mixpanel6PeopleC11trackCharge6amount10propertiesySd_SDySSAA0A4Type_pGSgtF":{"name":"trackCharge(amount:properties:)","abstract":"Track money spent by the current user for revenue analytics and associate","parent_name":"People"},"Classes/People.html#/s:8Mixpanel6PeopleC12clearChargesyyF":{"name":"clearCharges()","abstract":"Delete current user’s revenue history.","parent_name":"People"},"Classes/People.html#/s:8Mixpanel6PeopleC10deleteUseryyF":{"name":"deleteUser()","abstract":"Delete current user’s record from Mixpanel People.","parent_name":"People"},"Classes/MixpanelNotificationServiceExtension.html#/c:@M@Mixpanel@objc(cs)MixpanelNotificationServiceExtension(im)didReceiveNotificationRequest:withContentHandler:":{"name":"didReceive(_:withContentHandler:)","abstract":"Undocumented","parent_name":"MixpanelNotificationServiceExtension"},"Classes/MixpanelNotificationServiceExtension.html#/c:@M@Mixpanel@objc(cs)MixpanelNotificationServiceExtension(im)serviceExtensionTimeWillExpire":{"name":"serviceExtensionTimeWillExpire()","abstract":"Undocumented","parent_name":"MixpanelNotificationServiceExtension"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC8apiTokenSSvp":{"name":"apiToken","abstract":"apiToken string that identifies the project to track data to","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC8delegateAA0A8Delegate_pSgvp":{"name":"delegate","abstract":"The a MixpanelDelegate object that gives control over Mixpanel network activity.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC10distinctIdSSvp":{"name":"distinctId","abstract":"distinctId string that uniquely identifies the current user.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC11anonymousIdSSSgvp":{"name":"anonymousId","abstract":"anonymousId string that uniquely identifies the device.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC6userIdSSSgvp":{"name":"userId","abstract":"userId string that identify is called with.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC22hadPersistedDistinctIdSbSgvp":{"name":"hadPersistedDistinctId","abstract":"hadPersistedDistinctId is a boolean value which specifies that the stored distinct_id","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC5aliasSSSgvp":{"name":"alias","abstract":"alias string that uniquely identifies the current user.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC6peopleAA6PeopleCSgvp":{"name":"people","abstract":"Accessor to the Mixpanel People API object.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC28showNetworkActivityIndicatorSbvp":{"name":"showNetworkActivityIndicator","abstract":"Controls whether to show spinning network activity indicator when flushing","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC27trackAutomaticEventsEnabledSbSgvp":{"name":"trackAutomaticEventsEnabled","abstract":"This allows enabling or disabling collecting common mobile events","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC13flushIntervalSdvp":{"name":"flushInterval","abstract":"Flush timer’s interval.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC17flushOnBackgroundSbvp":{"name":"flushOnBackground","abstract":"Control whether the library should flush data to Mixpanel when the app","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC26useIPAddressForGeoLocationSbvp":{"name":"useIPAddressForGeoLocation","abstract":"Controls whether to automatically send the client IP Address as part of","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC9serverURLSSvp":{"name":"serverURL","abstract":"The base URL used for Mixpanel API requests.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:s28CustomDebugStringConvertibleP16debugDescriptionSSvp":{"name":"debugDescription","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC14loggingEnabledSbvp":{"name":"loggingEnabled","abstract":"This allows enabling or disabling of all Mixpanel logs at run time.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC4nameSSvp":{"name":"name","abstract":"A unique identifier for this MixpanelInstance","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC29enableVisualEditorForCodelessSbvp":{"name":"enableVisualEditorForCodeless","abstract":"Controls whether to enable the visual editor for codeless on mixpanel.com","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC24checkForVariantsOnActiveSbvp":{"name":"checkForVariantsOnActive","abstract":"Controls whether to automatically check for A/B test variants for the","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC28checkForNotificationOnActiveSbvp":{"name":"checkForNotificationOnActive","abstract":"Controls whether to automatically check for notifications for the","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC24showNotificationOnActiveSbvp":{"name":"showNotificationOnActive","abstract":"Controls whether to automatically check for and show in-app notifications","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC32miniNotificationPresentationTimeSdvp":{"name":"miniNotificationPresentationTime","abstract":"Determines the time, in seconds, that a mini notification will remain on","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC22minimumSessionDurations6UInt64Vvp":{"name":"minimumSessionDuration","abstract":"The minimum session duration (ms) that is tracked in automatic events.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC22maximumSessionDurations6UInt64Vvp":{"name":"maximumSessionDuration","abstract":"The maximum session duration (ms) that is tracked in automatic events.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC8identify10distinctId9usePeopleySS_SbtF":{"name":"identify(distinctId:usePeople:)","abstract":"Sets the distinct ID of the current user.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC11createAlias_10distinctId9usePeopleySS_SSSbtF":{"name":"createAlias(_:distinctId:usePeople:)","abstract":"The alias method creates an alias which Mixpanel will use to remap one id to another.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC5resetyyF":{"name":"reset()","abstract":"Clears all stored properties including the distinct Id.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC7archiveyyF":{"name":"archive()","abstract":"Writes current project info including the distinct Id, super properties,","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/archive()":{"name":"archive()","abstract":"Writes current project info including the distinct Id, super properties,","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC5flush10completionyyycSg_tF":{"name":"flush(completion:)","abstract":"Uploads queued data to the Mixpanel server.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC5track5event10propertiesySSSg_SDySSAA0A4Type_pGSgtF":{"name":"track(event:properties:)","abstract":"Tracks an event with properties.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC15trackWithGroups5event10properties6groupsySSSg_SDySSAA0A4Type_pGSgAKtF":{"name":"trackWithGroups(event:properties:groups:)","abstract":"Tracks an event with properties and to specific groups.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC8getGroup8groupKey0E2IDAA0D0CSS_AA0A4Type_ptF":{"name":"getGroup(groupKey:groupID:)","abstract":"Undocumented","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC4time5eventySS_tF":{"name":"time(event:)","abstract":"Starts a timer that will be stopped and added as a property when a","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC16eventElapsedTime0C0SdSS_tF":{"name":"eventElapsedTime(event:)","abstract":"Retrieves the time elapsed for the named event since time(event:) was called.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC16clearTimedEventsyyF":{"name":"clearTimedEvents()","abstract":"Clears all current event timers.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC15clearTimedEvent5eventySS_tF":{"name":"clearTimedEvent(event:)","abstract":"Clears the event timer for the named event.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC22currentSuperPropertiesSDySSypGyF":{"name":"currentSuperProperties()","abstract":"Returns the currently set super properties.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC20clearSuperPropertiesyyF":{"name":"clearSuperProperties()","abstract":"Clears all currently set super properties.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC23registerSuperPropertiesyySDySSAA0A4Type_pGF":{"name":"registerSuperProperties(_:)","abstract":"Registers super properties, overwriting ones that have already been set.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC27registerSuperPropertiesOnce_12defaultValueySDySSAA0A4Type_pG_AaF_pSgtF":{"name":"registerSuperPropertiesOnce(_:defaultValue:)","abstract":"Registers super properties without overwriting ones that have already been set,","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC23unregisterSuperPropertyyySSF":{"name":"unregisterSuperProperty(_:)","abstract":"Removes a previously registered super property.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC8setGroup8groupKey0E2IDySS_AA0A4Type_ptF":{"name":"setGroup(groupKey:groupID:)","abstract":"Convenience method to set a single group the user belongs to.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC8setGroup8groupKey0E3IDsySS_SayAA0A4Type_pGtF":{"name":"setGroup(groupKey:groupIDs:)","abstract":"Set the groups this user belongs to.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC8addGroup8groupKey0E2IDySS_AA0A4Type_ptF":{"name":"addGroup(groupKey:groupID:)","abstract":"Add a group to this user’s membership for a particular group key","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC11removeGroup8groupKey0E2IDySS_AA0A4Type_ptF":{"name":"removeGroup(groupKey:groupID:)","abstract":"Remove a group from this user’s membership for a particular group key","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC14optOutTrackingyyF":{"name":"optOutTracking()","abstract":"Opt out tracking.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC13optInTracking10distinctId10propertiesySSSg_SDySSAA0A4Type_pGSgtF":{"name":"optInTracking(distinctId:properties:)","abstract":"Opt in tracking.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC19hasOptedOutTrackingSbyF":{"name":"hasOptedOutTracking()","abstract":"Returns if the current user has opted out tracking.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC15joinExperiments8callbackyyycSg_tF":{"name":"joinExperiments(callback:)","abstract":"Join any experiments (A/B tests) that are available for the current user.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC16showNotificationyyF":{"name":"showNotification()","abstract":"Shows a notification if one is available.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC16showNotification4typeySS_tF":{"name":"showNotification(type:)","abstract":"Shows a notification with the given type if one is available.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC16showNotification2IDySi_tF":{"name":"showNotification(ID:)","abstract":"Shows a notification with the given ID","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC24fetchNotificationPayload10completionyySDySSyXlGSgc_tF":{"name":"fetchNotificationPayload(completion:)","abstract":"Returns the payload of a notification if available","parent_name":"MixpanelInstance"},"Classes/Mixpanel.html#/s:8MixpanelAAC10initialize5token13launchOptions13flushInterval12instanceName21automaticPushTracking06optOutL9ByDefaultAA0A8InstanceCSS_SDySo019UIApplicationLaunchE3KeyaypGSgSdSSS2btFZ":{"name":"initialize(token:launchOptions:flushInterval:instanceName:automaticPushTracking:optOutTrackingByDefault:)","abstract":"Initializes an instance of the API with the given project token.","parent_name":"Mixpanel"},"Classes/Mixpanel.html#/initialize(token:flushInterval:instanceName:optOutTrackingByDefault:)":{"name":"initialize(token:flushInterval:instanceName:optOutTrackingByDefault:)","abstract":"Initializes an instance of the API with the given project token (MAC OS ONLY).","parent_name":"Mixpanel"},"Classes/Mixpanel.html#/s:8MixpanelAAC11getInstance4nameAA0aC0CSgSS_tFZ":{"name":"getInstance(name:)","abstract":"Gets the mixpanel instance with the given name","parent_name":"Mixpanel"},"Classes/Mixpanel.html#/s:8MixpanelAAC12mainInstanceAA0aC0CyFZ":{"name":"mainInstance()","abstract":"Returns the main instance that was initialized.","parent_name":"Mixpanel"},"Classes/Mixpanel.html#/s:8MixpanelAAC15setMainInstance4nameySS_tFZ":{"name":"setMainInstance(name:)","abstract":"Sets the main instance based on the instance name","parent_name":"Mixpanel"},"Classes/Mixpanel.html#/s:8MixpanelAAC14removeInstance4nameySS_tFZ":{"name":"removeInstance(name:)","abstract":"Removes an unneeded Mixpanel instance based on its name","parent_name":"Mixpanel"},"Classes/Group.html#/s:8Mixpanel5GroupC3set10propertiesySDySSAA0A4Type_pG_tF":{"name":"set(properties:)","abstract":"Sets properties on this group.","parent_name":"Group"},"Classes/Group.html#/s:8Mixpanel5GroupC3set8property2toySS_AA0A4Type_ptF":{"name":"set(property:to:)","abstract":"Convenience method for setting a single property in Mixpanel Groups.","parent_name":"Group"},"Classes/Group.html#/s:8Mixpanel5GroupC7setOnce10propertiesySDySSAA0A4Type_pG_tF":{"name":"setOnce(properties:)","abstract":"Sets properties on the current Mixpanel Group, but doesn’t overwrite if","parent_name":"Group"},"Classes/Group.html#/s:8Mixpanel5GroupC5unset8propertyySS_tF":{"name":"unset(property:)","abstract":"Remove a property and its value from a group’s profile in Mixpanel Groups.","parent_name":"Group"},"Classes/Group.html#/s:8Mixpanel5GroupC6remove3key5valueySS_AA0A4Type_ptF":{"name":"remove(key:value:)","abstract":"Removes list properties.","parent_name":"Group"},"Classes/Group.html#/s:8Mixpanel5GroupC5union3key6valuesySS_SayAA0A4Type_pGtF":{"name":"union(key:values:)","abstract":"Union list properties.","parent_name":"Group"},"Classes/Group.html#/s:8Mixpanel5GroupC06deleteB0yyF":{"name":"deleteGroup()","abstract":"Delete group’s record from Mixpanel Groups.","parent_name":"Group"},"Classes/Group.html":{"name":"Group","abstract":"Access to the Mixpanel Groups API, available through the getGroup function from"},"Classes/Mixpanel.html":{"name":"Mixpanel","abstract":"The primary class for integrating Mixpanel with your app."},"Classes/MixpanelInstance.html":{"name":"MixpanelInstance","abstract":"The class that represents the Mixpanel Instance"},"Classes/MixpanelNotificationServiceExtension.html":{"name":"MixpanelNotificationServiceExtension","abstract":"Undocumented"},"Classes/People.html":{"name":"People","abstract":"Access to the Mixpanel People API, available as an accessible variable from"},"Classes/MixpanelPushNotifications.html":{"name":"MixpanelPushNotifications","abstract":"Undocumented"},"Classes.html#/s:8Mixpanel10TweakStoreC":{"name":"TweakStore","abstract":"Looks up the persisted state for tweaks."},"Classes.html":{"name":"Classes","abstract":"The following classes are available globally."},"Enums.html":{"name":"Enumerations","abstract":"The following enumerations are available globally."},"Extensions.html":{"name":"Extensions","abstract":"The following extensions are available globally."},"Functions.html":{"name":"Functions","abstract":"The following functions are available globally."},"Protocols.html":{"name":"Protocols","abstract":"The following protocols are available globally."},"Structs.html":{"name":"Structures","abstract":"The following structures are available globally."},"Typealiases.html":{"name":"Type Aliases","abstract":"The following type aliases are available globally."}} \ No newline at end of file +{"Typealiases.html#/s:8Mixpanel10Propertiesa":{"name":"Properties","abstract":"Undocumented"},"Structs/MixpanelTweaks.html#/s:8Mixpanel0A6TweaksV12defaultStoreAA05TweakD0CvpZ":{"name":"defaultStore","abstract":"The default store that holds the Tweaks","parent_name":"MixpanelTweaks"},"Structs/MixpanelTweaks.html#/s:8Mixpanel0A6TweaksV03setB06tweaksySayAA16TweakClusterType_pG_tFZ":{"name":"setTweaks(tweaks:)","abstract":"setTweaks needs to be called to add the defined Tweaks into the environment.","parent_name":"MixpanelTweaks"},"Structs/Tweak.html#/s:8Mixpanel5TweakV9tweakName12defaultValueACyxGSS_xtcfc":{"name":"init(tweakName:defaultValue:)","abstract":"Initializer for a Tweak for A/B Testing","parent_name":"Tweak"},"Structs/Tweak.html#/s:8Mixpanel5TweakV4hash4intoys6HasherVz_tF":{"name":"hash(into:)","abstract":"Hashing for a Tweak for A/B Testing in order for it to be stored.","parent_name":"Tweak"},"Structs/Tweak.html#/s:8Mixpanel16TweakClusterTypeP05tweakC0SayAA03AnyB0VGvp":{"name":"tweakCluster","parent_name":"Tweak"},"Structs/Tweak.html#/s:8Mixpanel5TweakVAASLRzs13SignedNumericRzrlE9tweakName12defaultValue3min3max8stepSizeACyxGSS_xxSgA2Ktcfc":{"name":"init(tweakName:defaultValue:min:max:stepSize:)","abstract":"Creates a Tweak where T: SignedNumberType","parent_name":"Tweak"},"Structs/AnyTweak.html#/s:SH4hash4intoys6HasherVz_tF":{"name":"hash(into:)","parent_name":"AnyTweak"},"Structs/AnyTweak.html#/s:8Mixpanel8AnyTweakV12tweakClusterSayACGvp":{"name":"tweakCluster","abstract":"Allows easy tweak initialization by clustering tweaks together for A/B Testing","parent_name":"AnyTweak"},"Structs/AnyTweak.html":{"name":"AnyTweak","abstract":"A type-erasure around Tweak for A/B Testing."},"Structs/Tweak.html":{"name":"Tweak","abstract":"Tweaks let you adjust things on the fly."},"Structs/MixpanelTweaks.html":{"name":"MixpanelTweaks","abstract":"The MixpanelTweaks struct that needs to be extended to define new Tweaks for A/B testing"},"Protocols/TweakableType.html#/s:8Mixpanel13TweakableTypeP013tweakViewDataC0AA05TweakefC0OvpZ":{"name":"tweakViewDataType","abstract":"The data type of the TweakableType","parent_name":"TweakableType"},"Protocols/TweakLibraryType.html#/s:8Mixpanel16TweakLibraryTypeP12defaultStoreAA0bF0CvpZ":{"name":"defaultStore","abstract":"the default tweak store","parent_name":"TweakLibraryType"},"Protocols/TweakLibraryType.html#/s:8Mixpanel16TweakLibraryTypePAAE6assignyqd__AA0B0Vyqd__GAA09TweakableD0Rd__lFZ":{"name":"assign(_:)","abstract":"Returns the current value for a tweak from the TweakLibrary’s default store.","parent_name":"TweakLibraryType"},"Protocols/TweakLibraryType.html#/s:8Mixpanel16TweakLibraryTypePAAE4bind_7bindingyAA0B0Vyqd__G_yqd__ctAA09TweakableD0Rd__lFZ":{"name":"bind(_:binding:)","abstract":"Immediately binds the currentValue of a given tweak, and then continues to update whenever the tweak changes.","parent_name":"TweakLibraryType"},"Protocols/TweakClusterType.html#/s:8Mixpanel16TweakClusterTypeP05tweakC0SayAA03AnyB0VGvp":{"name":"tweakCluster","abstract":"The tweak cluster to allow easy initialization of Tweaks","parent_name":"TweakClusterType"},"Protocols/MixpanelType.html#/s:8Mixpanel0A4TypeP013isValidNestedB8AndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"Checks if this object has nested object types that Mixpanel supports.","parent_name":"MixpanelType"},"Protocols/MixpanelType.html#/s:8Mixpanel0A4TypeP6equals3rhsSbAaB_p_tF":{"name":"equals(rhs:)","abstract":"Undocumented","parent_name":"MixpanelType"},"Protocols/MixpanelDelegate.html#/s:8Mixpanel0A8DelegateP17mixpanelWillFlushySbAA0A8InstanceCF":{"name":"mixpanelWillFlush(_:)","abstract":"Asks the delegate if data should be uploaded to the server.","parent_name":"MixpanelDelegate"},"Protocols/MixpanelDelegate.html":{"name":"MixpanelDelegate","abstract":"Delegate protocol for controlling the Mixpanel API’s network behavior."},"Protocols/MixpanelType.html":{"name":"MixpanelType","abstract":"Property keys must be String objects and the supported value types need to conform to MixpanelType."},"Protocols/TweakClusterType.html":{"name":"TweakClusterType","abstract":"This protocol allows for easy initialization of TweakStore."},"Protocols/TweakLibraryType.html":{"name":"TweakLibraryType","abstract":"Create a public struct in your application that conforms to this protocol to declare your own tweaks!"},"Protocols/TweakableType.html":{"name":"TweakableType","abstract":"To add a new to our Tweak, make T conform to this protocol."},"Functions.html#/s:8Mixpanel2eeoiySbAA8AnyTweakV_ADtF":{"name":"==(_:_:)","abstract":"Comparator between two tweaks for A/B Testing."},"Functions.html#/s:8Mixpanel2eeoiySbAA5TweakVyxG_AEtAA13TweakableTypeRzlF":{"name":"==(_:_:)","abstract":"Comparator between two tweaks for A/B Testing."},"Extensions/CGFloat.html#/s:12CoreGraphics7CGFloatV8MixpanelE17tweakViewDataTypeAD05TweakfgH0OvpZ":{"name":"tweakViewDataType","abstract":"TweakableType supports the cgFloat type","parent_name":"CGFloat"},"Extensions/Dictionary.html#/s:SD8MixpanelE25isValidNestedTypeAndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"Checks if this object has nested object types that Mixpanel supports.","parent_name":"Dictionary"},"Extensions/Dictionary.html#/s:SD8MixpanelE6equals3rhsSbAA0A4Type_p_tF":{"name":"equals(rhs:)","abstract":"Undocumented","parent_name":"Dictionary"},"Extensions/NSArray.html#/s:So7NSArrayC8MixpanelE25isValidNestedTypeAndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"Checks if this object has nested object types that Mixpanel supports.","parent_name":"NSArray"},"Extensions/NSArray.html#/s:So7NSArrayC8MixpanelE6equals3rhsSbAC0B4Type_p_tF":{"name":"equals(rhs:)","abstract":"Undocumented","parent_name":"NSArray"},"Extensions/NSNull.html#/s:So6NSNullC8MixpanelE25isValidNestedTypeAndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"Checks if this object has nested object types that Mixpanel supports.","parent_name":"NSNull"},"Extensions/NSNull.html#/s:So6NSNullC8MixpanelE6equals3rhsSbAC0B4Type_p_tF":{"name":"equals(rhs:)","abstract":"Undocumented","parent_name":"NSNull"},"Extensions/URL.html#/s:10Foundation3URLV8MixpanelE25isValidNestedTypeAndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"Checks if this object has nested object types that Mixpanel supports.","parent_name":"URL"},"Extensions/URL.html#/s:10Foundation3URLV8MixpanelE6equals3rhsSbAD0C4Type_p_tF":{"name":"equals(rhs:)","abstract":"Undocumented","parent_name":"URL"},"Extensions/Date.html#/s:10Foundation4DateV8MixpanelE25isValidNestedTypeAndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"Checks if this object has nested object types that Mixpanel supports.","parent_name":"Date"},"Extensions/Date.html#/s:10Foundation4DateV8MixpanelE6equals3rhsSbAD0C4Type_p_tF":{"name":"equals(rhs:)","abstract":"Undocumented","parent_name":"Date"},"Extensions/Bool.html#/s:Sb8MixpanelE25isValidNestedTypeAndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"Checks if this object has nested object types that Mixpanel supports.","parent_name":"Bool"},"Extensions/Bool.html#/s:Sb8MixpanelE6equals3rhsSbAA0A4Type_p_tF":{"name":"equals(rhs:)","abstract":"Undocumented","parent_name":"Bool"},"Extensions/Bool.html#/s:Sb8MixpanelE17tweakViewDataTypeAA05TweakcdE0OvpZ":{"name":"tweakViewDataType","abstract":"TweakableType supports the boolean type","parent_name":"Bool"},"Extensions/Float.html#/s:Sf8MixpanelE25isValidNestedTypeAndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"Checks if this object has nested object types that Mixpanel supports.","parent_name":"Float"},"Extensions/Float.html#/s:Sf8MixpanelE6equals3rhsSbAA0A4Type_p_tF":{"name":"equals(rhs:)","abstract":"Undocumented","parent_name":"Float"},"Extensions/Double.html#/s:Sd8MixpanelE25isValidNestedTypeAndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"Checks if this object has nested object types that Mixpanel supports.","parent_name":"Double"},"Extensions/Double.html#/s:Sd8MixpanelE6equals3rhsSbAA0A4Type_p_tF":{"name":"equals(rhs:)","abstract":"Undocumented","parent_name":"Double"},"Extensions/Double.html#/s:Sd8MixpanelE17tweakViewDataTypeAA05TweakcdE0OvpZ":{"name":"tweakViewDataType","abstract":"TweakableType supports the double type","parent_name":"Double"},"Extensions/UInt.html#/s:Su8MixpanelE25isValidNestedTypeAndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"Checks if this object has nested object types that Mixpanel supports.","parent_name":"UInt"},"Extensions/UInt.html#/s:Su8MixpanelE6equals3rhsSbAA0A4Type_p_tF":{"name":"equals(rhs:)","abstract":"Undocumented","parent_name":"UInt"},"Extensions/Int.html#/s:Si8MixpanelE25isValidNestedTypeAndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"Checks if this object has nested object types that Mixpanel supports.","parent_name":"Int"},"Extensions/Int.html#/s:Si8MixpanelE6equals3rhsSbAA0A4Type_p_tF":{"name":"equals(rhs:)","abstract":"Undocumented","parent_name":"Int"},"Extensions/Int.html#/s:Si8MixpanelE17tweakViewDataTypeAA05TweakcdE0OvpZ":{"name":"tweakViewDataType","abstract":"TweakableType supports the integer type","parent_name":"Int"},"Extensions/NSNumber.html#/s:So8NSNumberC8MixpanelE25isValidNestedTypeAndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"Checks if this object has nested object types that Mixpanel supports.","parent_name":"NSNumber"},"Extensions/NSNumber.html#/s:So8NSNumberC8MixpanelE6equals3rhsSbAC0B4Type_p_tF":{"name":"equals(rhs:)","abstract":"Undocumented","parent_name":"NSNumber"},"Extensions/NSString.html#/s:So8NSStringC8MixpanelE25isValidNestedTypeAndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"Checks if this object has nested object types that Mixpanel supports.","parent_name":"NSString"},"Extensions/NSString.html#/s:So8NSStringC8MixpanelE6equals3rhsSbAC0B4Type_p_tF":{"name":"equals(rhs:)","abstract":"Undocumented","parent_name":"NSString"},"Extensions/String.html#/s:SS8MixpanelE25isValidNestedTypeAndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"Checks if this object has nested object types that Mixpanel supports.","parent_name":"String"},"Extensions/String.html#/s:SS8MixpanelE6equals3rhsSbAA0A4Type_p_tF":{"name":"equals(rhs:)","abstract":"Undocumented","parent_name":"String"},"Extensions/String.html#/s:SS8MixpanelE17tweakViewDataTypeAA05TweakcdE0OvpZ":{"name":"tweakViewDataType","abstract":"TweakableType supports the string type","parent_name":"String"},"Extensions/Optional.html#/s:Sq8MixpanelE25isValidNestedTypeAndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"Checks if this object has nested object types that Mixpanel supports.","parent_name":"Optional"},"Extensions/Optional.html#/s:Sq8MixpanelE6equals3rhsSbAA0A4Type_p_tF":{"name":"equals(rhs:)","abstract":"Undocumented","parent_name":"Optional"},"Extensions/Array.html#/s:Sa8MixpanelE25isValidNestedTypeAndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"Checks if this object has nested object types that Mixpanel supports.","parent_name":"Array"},"Extensions/Array.html#/s:Sa8MixpanelE6equals3rhsSbAA0A4Type_p_tF":{"name":"equals(rhs:)","abstract":"Undocumented","parent_name":"Array"},"Extensions/UIColor.html#/s:So7UIColorC8MixpanelE5MPHexABSu_tcfc":{"name":"init(MPHex:)","abstract":"The shorthand four-digit hexadecimal representation of color with alpha.","parent_name":"UIColor"},"Extensions/UIColor.html":{"name":"UIColor"},"Extensions/Array.html":{"name":"Array"},"Extensions/Optional.html":{"name":"Optional"},"Extensions/String.html":{"name":"String"},"Extensions/NSString.html":{"name":"NSString"},"Extensions/NSNumber.html":{"name":"NSNumber"},"Extensions/Int.html":{"name":"Int"},"Extensions/UInt.html":{"name":"UInt"},"Extensions/Double.html":{"name":"Double"},"Extensions/Float.html":{"name":"Float"},"Extensions/Bool.html":{"name":"Bool"},"Extensions/Date.html":{"name":"Date"},"Extensions/URL.html":{"name":"URL"},"Extensions/NSNull.html":{"name":"NSNull"},"Extensions/NSArray.html":{"name":"NSArray"},"Extensions/Dictionary.html":{"name":"Dictionary"},"Extensions/CGFloat.html":{"name":"CGFloat"},"Enums/TweakViewDataType.html#/s:8Mixpanel17TweakViewDataTypeO7booleanyA2CmF":{"name":"boolean","abstract":"TweakableType supports the boolean type","parent_name":"TweakViewDataType"},"Enums/TweakViewDataType.html#/s:8Mixpanel17TweakViewDataTypeO7integeryA2CmF":{"name":"integer","abstract":"TweakableType supports the integer type","parent_name":"TweakViewDataType"},"Enums/TweakViewDataType.html#/s:8Mixpanel17TweakViewDataTypeO7cgFloatyA2CmF":{"name":"cgFloat","abstract":"TweakableType supports the cgFloat type","parent_name":"TweakViewDataType"},"Enums/TweakViewDataType.html#/s:8Mixpanel17TweakViewDataTypeO6doubleyA2CmF":{"name":"double","abstract":"TweakableType supports the double type","parent_name":"TweakViewDataType"},"Enums/TweakViewDataType.html#/s:8Mixpanel17TweakViewDataTypeO6stringyA2CmF":{"name":"string","abstract":"TweakableType supports the string type","parent_name":"TweakViewDataType"},"Enums/TweakViewDataType.html":{"name":"TweakViewDataType","abstract":"The data types that are currently supported for SwiftTweaks."},"Classes/MixpanelPushNotifications.html#/s:8Mixpanel0A17PushNotificationsC02isaB12NotificationySbSo21UNNotificationContentCFZ":{"name":"isMixpanelPushNotification(_:)","abstract":"Undocumented","parent_name":"MixpanelPushNotifications"},"Classes/MixpanelPushNotifications.html#/s:8Mixpanel0A17PushNotificationsC10trackEvent_10properties7requestySS_SDySSAA0A4Type_pGSo21UNNotificationRequestCtFZ":{"name":"trackEvent(_:properties:request:)","abstract":"Undocumented","parent_name":"MixpanelPushNotifications"},"Classes/People.html#/s:8Mixpanel6PeopleC10ignoreTimeSbvp":{"name":"ignoreTime","abstract":"controls the $ignore_time property in any subsequent MixpanelPeople operation.","parent_name":"People"},"Classes/People.html#/s:8Mixpanel6PeopleC18addPushDeviceTokenyy10Foundation4DataVF":{"name":"addPushDeviceToken(_:)","abstract":"Register the given device to receive push notifications.","parent_name":"People"},"Classes/People.html#/s:8Mixpanel6PeopleC25removeAllPushDeviceTokensyyF":{"name":"removeAllPushDeviceTokens()","abstract":"Unregister the given device to receive push notifications.","parent_name":"People"},"Classes/People.html#/s:8Mixpanel6PeopleC21removePushDeviceTokenyy10Foundation4DataVF":{"name":"removePushDeviceToken(_:)","abstract":"Unregister a specific device token from the ability to receive push notifications.","parent_name":"People"},"Classes/People.html#/s:8Mixpanel6PeopleC3set10propertiesySDySSAA0A4Type_pG_tF":{"name":"set(properties:)","abstract":"Set properties on the current user in Mixpanel People.","parent_name":"People"},"Classes/People.html#/s:8Mixpanel6PeopleC3set8property2toySS_AA0A4Type_ptF":{"name":"set(property:to:)","abstract":"Convenience method for setting a single property in Mixpanel People.","parent_name":"People"},"Classes/People.html#/s:8Mixpanel6PeopleC7setOnce10propertiesySDySSAA0A4Type_pG_tF":{"name":"setOnce(properties:)","abstract":"Set properties on the current user in Mixpanel People, but doesn’t overwrite if","parent_name":"People"},"Classes/People.html#/s:8Mixpanel6PeopleC5unset10propertiesySaySSG_tF":{"name":"unset(properties:)","abstract":"Remove a list of properties and their values from the current user’s profile","parent_name":"People"},"Classes/People.html#/s:8Mixpanel6PeopleC9increment10propertiesySDySSAA0A4Type_pG_tF":{"name":"increment(properties:)","abstract":"Increment the given numeric properties by the given values.","parent_name":"People"},"Classes/People.html#/s:8Mixpanel6PeopleC9increment8property2byySS_SdtF":{"name":"increment(property:by:)","abstract":"Convenience method for incrementing a single numeric property by the specified","parent_name":"People"},"Classes/People.html#/s:8Mixpanel6PeopleC6append10propertiesySDySSAA0A4Type_pG_tF":{"name":"append(properties:)","abstract":"Append values to list properties.","parent_name":"People"},"Classes/People.html#/s:8Mixpanel6PeopleC6remove10propertiesySDySSAA0A4Type_pG_tF":{"name":"remove(properties:)","abstract":"Removes list properties.","parent_name":"People"},"Classes/People.html#/s:8Mixpanel6PeopleC5union10propertiesySDySSAA0A4Type_pG_tF":{"name":"union(properties:)","abstract":"Union list properties.","parent_name":"People"},"Classes/People.html#/s:8Mixpanel6PeopleC11trackCharge6amount10propertiesySd_SDySSAA0A4Type_pGSgtF":{"name":"trackCharge(amount:properties:)","abstract":"Track money spent by the current user for revenue analytics and associate","parent_name":"People"},"Classes/People.html#/s:8Mixpanel6PeopleC12clearChargesyyF":{"name":"clearCharges()","abstract":"Delete current user’s revenue history.","parent_name":"People"},"Classes/People.html#/s:8Mixpanel6PeopleC10deleteUseryyF":{"name":"deleteUser()","abstract":"Delete current user’s record from Mixpanel People.","parent_name":"People"},"Classes/MixpanelNotificationServiceExtension.html#/c:@M@Mixpanel@objc(cs)MixpanelNotificationServiceExtension(im)didReceiveNotificationRequest:withContentHandler:":{"name":"didReceive(_:withContentHandler:)","abstract":"Undocumented","parent_name":"MixpanelNotificationServiceExtension"},"Classes/MixpanelNotificationServiceExtension.html#/c:@M@Mixpanel@objc(cs)MixpanelNotificationServiceExtension(im)serviceExtensionTimeWillExpire":{"name":"serviceExtensionTimeWillExpire()","abstract":"Undocumented","parent_name":"MixpanelNotificationServiceExtension"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC8apiTokenSSvp":{"name":"apiToken","abstract":"apiToken string that identifies the project to track data to","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC8delegateAA0A8Delegate_pSgvp":{"name":"delegate","abstract":"The a MixpanelDelegate object that gives control over Mixpanel network activity.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC10distinctIdSSvp":{"name":"distinctId","abstract":"distinctId string that uniquely identifies the current user.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC11anonymousIdSSSgvp":{"name":"anonymousId","abstract":"anonymousId string that uniquely identifies the device.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC6userIdSSSgvp":{"name":"userId","abstract":"userId string that identify is called with.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC22hadPersistedDistinctIdSbSgvp":{"name":"hadPersistedDistinctId","abstract":"hadPersistedDistinctId is a boolean value which specifies that the stored distinct_id","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC5aliasSSSgvp":{"name":"alias","abstract":"alias string that uniquely identifies the current user.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC6peopleAA6PeopleCSgvp":{"name":"people","abstract":"Accessor to the Mixpanel People API object.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC28showNetworkActivityIndicatorSbvp":{"name":"showNetworkActivityIndicator","abstract":"Controls whether to show spinning network activity indicator when flushing","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC27trackAutomaticEventsEnabledSbSgvp":{"name":"trackAutomaticEventsEnabled","abstract":"This allows enabling or disabling collecting common mobile events","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC13flushIntervalSdvp":{"name":"flushInterval","abstract":"Flush timer’s interval.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC17flushOnBackgroundSbvp":{"name":"flushOnBackground","abstract":"Control whether the library should flush data to Mixpanel when the app","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC26useIPAddressForGeoLocationSbvp":{"name":"useIPAddressForGeoLocation","abstract":"Controls whether to automatically send the client IP Address as part of","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC9serverURLSSvp":{"name":"serverURL","abstract":"The base URL used for Mixpanel API requests.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:s28CustomDebugStringConvertibleP16debugDescriptionSSvp":{"name":"debugDescription","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC14loggingEnabledSbvp":{"name":"loggingEnabled","abstract":"This allows enabling or disabling of all Mixpanel logs at run time.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC4nameSSvp":{"name":"name","abstract":"A unique identifier for this MixpanelInstance","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC29enableVisualEditorForCodelessSbvp":{"name":"enableVisualEditorForCodeless","abstract":"Controls whether to enable the visual editor for codeless on mixpanel.com","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC24checkForVariantsOnActiveSbvp":{"name":"checkForVariantsOnActive","abstract":"Controls whether to automatically check for A/B test variants for the","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC28checkForNotificationOnActiveSbvp":{"name":"checkForNotificationOnActive","abstract":"Controls whether to automatically check for notifications for the","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC24showNotificationOnActiveSbvp":{"name":"showNotificationOnActive","abstract":"Controls whether to automatically check for and show in-app notifications","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC32miniNotificationPresentationTimeSdvp":{"name":"miniNotificationPresentationTime","abstract":"Determines the time, in seconds, that a mini notification will remain on","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC22minimumSessionDurations6UInt64Vvp":{"name":"minimumSessionDuration","abstract":"The minimum session duration (ms) that is tracked in automatic events.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC22maximumSessionDurations6UInt64Vvp":{"name":"maximumSessionDuration","abstract":"The maximum session duration (ms) that is tracked in automatic events.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC8identify10distinctId9usePeople10completionySS_SbyycSgtF":{"name":"identify(distinctId:usePeople:completion:)","abstract":"Sets the distinct ID of the current user.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC11createAlias_10distinctId9usePeople10completionySS_SSSbyycSgtF":{"name":"createAlias(_:distinctId:usePeople:completion:)","abstract":"The alias method creates an alias which Mixpanel will use to remap one id to another.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC5reset10completionyyycSg_tF":{"name":"reset(completion:)","abstract":"Clears all stored properties including the distinct Id.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC7archiveyyF":{"name":"archive()","abstract":"Writes current project info including the distinct Id, super properties,","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/archive()":{"name":"archive()","abstract":"Writes current project info including the distinct Id, super properties,","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC5flush10completionyyycSg_tF":{"name":"flush(completion:)","abstract":"Uploads queued data to the Mixpanel server.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC5track5event10propertiesySSSg_SDySSAA0A4Type_pGSgtF":{"name":"track(event:properties:)","abstract":"Tracks an event with properties.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC15trackWithGroups5event10properties6groupsySSSg_SDySSAA0A4Type_pGSgAKtF":{"name":"trackWithGroups(event:properties:groups:)","abstract":"Tracks an event with properties and to specific groups.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC8getGroup8groupKey0E2IDAA0D0CSS_AA0A4Type_ptF":{"name":"getGroup(groupKey:groupID:)","abstract":"Undocumented","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC4time5eventySS_tF":{"name":"time(event:)","abstract":"Starts a timer that will be stopped and added as a property when a","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC16eventElapsedTime0C0SdSS_tF":{"name":"eventElapsedTime(event:)","abstract":"Retrieves the time elapsed for the named event since time(event:) was called.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC16clearTimedEventsyyF":{"name":"clearTimedEvents()","abstract":"Clears all current event timers.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC15clearTimedEvent5eventySS_tF":{"name":"clearTimedEvent(event:)","abstract":"Clears the event timer for the named event.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC22currentSuperPropertiesSDySSypGyF":{"name":"currentSuperProperties()","abstract":"Returns the currently set super properties.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC20clearSuperPropertiesyyF":{"name":"clearSuperProperties()","abstract":"Clears all currently set super properties.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC23registerSuperPropertiesyySDySSAA0A4Type_pGF":{"name":"registerSuperProperties(_:)","abstract":"Registers super properties, overwriting ones that have already been set.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC27registerSuperPropertiesOnce_12defaultValueySDySSAA0A4Type_pG_AaF_pSgtF":{"name":"registerSuperPropertiesOnce(_:defaultValue:)","abstract":"Registers super properties without overwriting ones that have already been set,","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC23unregisterSuperPropertyyySSF":{"name":"unregisterSuperProperty(_:)","abstract":"Removes a previously registered super property.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC8setGroup8groupKey0E2IDySS_AA0A4Type_ptF":{"name":"setGroup(groupKey:groupID:)","abstract":"Convenience method to set a single group the user belongs to.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC8setGroup8groupKey0E3IDsySS_SayAA0A4Type_pGtF":{"name":"setGroup(groupKey:groupIDs:)","abstract":"Set the groups this user belongs to.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC8addGroup8groupKey0E2IDySS_AA0A4Type_ptF":{"name":"addGroup(groupKey:groupID:)","abstract":"Add a group to this user’s membership for a particular group key","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC11removeGroup8groupKey0E2IDySS_AA0A4Type_ptF":{"name":"removeGroup(groupKey:groupID:)","abstract":"Remove a group from this user’s membership for a particular group key","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC14optOutTrackingyyF":{"name":"optOutTracking()","abstract":"Opt out tracking.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC13optInTracking10distinctId10propertiesySSSg_SDySSAA0A4Type_pGSgtF":{"name":"optInTracking(distinctId:properties:)","abstract":"Opt in tracking.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC19hasOptedOutTrackingSbyF":{"name":"hasOptedOutTracking()","abstract":"Returns if the current user has opted out tracking.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC15joinExperiments8callbackyyycSg_tF":{"name":"joinExperiments(callback:)","abstract":"Join any experiments (A/B tests) that are available for the current user.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC16showNotificationyyF":{"name":"showNotification()","abstract":"Shows a notification if one is available.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC16showNotification4typeySS_tF":{"name":"showNotification(type:)","abstract":"Shows a notification with the given type if one is available.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC16showNotification2IDySi_tF":{"name":"showNotification(ID:)","abstract":"Shows a notification with the given ID","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC24fetchNotificationPayload10completionyySDySSyXlGSgc_tF":{"name":"fetchNotificationPayload(completion:)","abstract":"Returns the payload of a notification if available","parent_name":"MixpanelInstance"},"Classes/Mixpanel.html#/s:8MixpanelAAC10initialize5token13launchOptions13flushInterval12instanceName21automaticPushTracking06optOutL9ByDefaultAA0A8InstanceCSS_SDySo019UIApplicationLaunchE3KeyaypGSgSdSSS2btFZ":{"name":"initialize(token:launchOptions:flushInterval:instanceName:automaticPushTracking:optOutTrackingByDefault:)","abstract":"Initializes an instance of the API with the given project token.","parent_name":"Mixpanel"},"Classes/Mixpanel.html#/initialize(token:flushInterval:instanceName:optOutTrackingByDefault:)":{"name":"initialize(token:flushInterval:instanceName:optOutTrackingByDefault:)","abstract":"Initializes an instance of the API with the given project token (MAC OS ONLY).","parent_name":"Mixpanel"},"Classes/Mixpanel.html#/s:8MixpanelAAC11getInstance4nameAA0aC0CSgSS_tFZ":{"name":"getInstance(name:)","abstract":"Gets the mixpanel instance with the given name","parent_name":"Mixpanel"},"Classes/Mixpanel.html#/s:8MixpanelAAC12mainInstanceAA0aC0CyFZ":{"name":"mainInstance()","abstract":"Returns the main instance that was initialized.","parent_name":"Mixpanel"},"Classes/Mixpanel.html#/s:8MixpanelAAC15setMainInstance4nameySS_tFZ":{"name":"setMainInstance(name:)","abstract":"Sets the main instance based on the instance name","parent_name":"Mixpanel"},"Classes/Mixpanel.html#/s:8MixpanelAAC14removeInstance4nameySS_tFZ":{"name":"removeInstance(name:)","abstract":"Removes an unneeded Mixpanel instance based on its name","parent_name":"Mixpanel"},"Classes/Group.html#/s:8Mixpanel5GroupC3set10propertiesySDySSAA0A4Type_pG_tF":{"name":"set(properties:)","abstract":"Sets properties on this group.","parent_name":"Group"},"Classes/Group.html#/s:8Mixpanel5GroupC3set8property2toySS_AA0A4Type_ptF":{"name":"set(property:to:)","abstract":"Convenience method for setting a single property in Mixpanel Groups.","parent_name":"Group"},"Classes/Group.html#/s:8Mixpanel5GroupC7setOnce10propertiesySDySSAA0A4Type_pG_tF":{"name":"setOnce(properties:)","abstract":"Sets properties on the current Mixpanel Group, but doesn’t overwrite if","parent_name":"Group"},"Classes/Group.html#/s:8Mixpanel5GroupC5unset8propertyySS_tF":{"name":"unset(property:)","abstract":"Remove a property and its value from a group’s profile in Mixpanel Groups.","parent_name":"Group"},"Classes/Group.html#/s:8Mixpanel5GroupC6remove3key5valueySS_AA0A4Type_ptF":{"name":"remove(key:value:)","abstract":"Removes list properties.","parent_name":"Group"},"Classes/Group.html#/s:8Mixpanel5GroupC5union3key6valuesySS_SayAA0A4Type_pGtF":{"name":"union(key:values:)","abstract":"Union list properties.","parent_name":"Group"},"Classes/Group.html#/s:8Mixpanel5GroupC06deleteB0yyF":{"name":"deleteGroup()","abstract":"Delete group’s record from Mixpanel Groups.","parent_name":"Group"},"Classes/Group.html":{"name":"Group","abstract":"Access to the Mixpanel Groups API, available through the getGroup function from"},"Classes/Mixpanel.html":{"name":"Mixpanel","abstract":"The primary class for integrating Mixpanel with your app."},"Classes/MixpanelInstance.html":{"name":"MixpanelInstance","abstract":"The class that represents the Mixpanel Instance"},"Classes/MixpanelNotificationServiceExtension.html":{"name":"MixpanelNotificationServiceExtension","abstract":"Undocumented"},"Classes/People.html":{"name":"People","abstract":"Access to the Mixpanel People API, available as an accessible variable from"},"Classes/MixpanelPushNotifications.html":{"name":"MixpanelPushNotifications","abstract":"Undocumented"},"Classes.html#/s:8Mixpanel10TweakStoreC":{"name":"TweakStore","abstract":"Looks up the persisted state for tweaks."},"Classes.html":{"name":"Classes","abstract":"The following classes are available globally."},"Enums.html":{"name":"Enumerations","abstract":"The following enumerations are available globally."},"Extensions.html":{"name":"Extensions","abstract":"The following extensions are available globally."},"Functions.html":{"name":"Functions","abstract":"The following functions are available globally."},"Protocols.html":{"name":"Protocols","abstract":"The following protocols are available globally."},"Structs.html":{"name":"Structures","abstract":"The following structures are available globally."},"Typealiases.html":{"name":"Type Aliases","abstract":"The following type aliases are available globally."}} \ No newline at end of file diff --git a/docs/docsets/Mixpanel.docset/Contents/Resources/docSet.dsidx b/docs/docsets/Mixpanel.docset/Contents/Resources/docSet.dsidx index 527a2f16..360cfdea 100644 Binary files a/docs/docsets/Mixpanel.docset/Contents/Resources/docSet.dsidx and b/docs/docsets/Mixpanel.docset/Contents/Resources/docSet.dsidx differ diff --git a/docs/docsets/Mixpanel.tgz b/docs/docsets/Mixpanel.tgz index d376333f..8b9cbd2e 100644 Binary files a/docs/docsets/Mixpanel.tgz and b/docs/docsets/Mixpanel.tgz differ diff --git a/docs/index.html b/docs/index.html index 3fbf72db..e8aa8cd9 100644 --- a/docs/index.html +++ b/docs/index.html @@ -16,7 +16,7 @@ - Mixpanel 2.10.2 Docs (87% documented) + Mixpanel 2.10.3 Docs (87% documented) View on GitHub @@ -188,8 +188,7 @@ - - + @@ -201,196 +200,152 @@ Table of Contents -Introduction +Overview +Quick Start Guide -Current supported features - -Installation - - -CocoaPods -Carthage -Manual Installation - -Initializing and Usage - - -Integrate -Start tracking +Install Mixpanel +Initialize Mixpanel +Send Data +Check for Success +Complete Code Example +FAQ +I want to know more! -Introduction +Overview Welcome to the official Mixpanel Swift Library -The Mixpanel Swift library for iOS is an open-source project, and we’d love to see your contributions! +The Mixpanel Swift library for iOS is an open-source project, and we’d love to see your contributions! We’d also love for you to come and work with us! Check out Jobs for details. If you are using Objective-C, we recommend using our Objective-C Library. - -Current supported features - -Our master branch and our releases are now on Swift 5. - -If you wish to use our Swift 4.2 implementation, please point to the v2.6.1 release. For Swift 4/4.1 implementation, please point to the v2.4.5 release. For Swift 3 implementation, please point to the v2.2.3 release. For Swift 2.3 implementation, please point to the v1.0.1 release. +Check out our Advanced iOS Swift Guide for additional advanced configurations and use cases, like setting up your project with European Union data storage. +Quick Start Guide -Our Swift library fully supports all of the Mixpanel features and has full parity with the Objective-C Library. +Our master branch and our releases are on Swift 5. If you wish to use our Swift 4.2 implementation, please point to the v2.6.1 release. For Swift 4/4.1 implementation, please point to the v2.4.5 release. For Swift 3 implementation, please point to the v2.2.3 release. +1. Install Mixpanel - -Installation +You will need your project token for initializing your library. You can get your project token from project settings. +Installation Option 1: Swift Package Manager -On Jan 1, 2022, we’ll remove the Messages & Experiments feature from Mixpanel. For now, you can choose to opt in to our beta version without Messages & Experiments feature support. You can use Swift Package Manager to install the beta version: +The easiest way to get Mixpanel into your iOS project is to use Swift Package Manager(requires Xcode 12+). In Xcode, select File > Swift Packages > Add Package Dependency. -Follow the prompts using the URL for this repository and point to the branch 3.0.0.beta +Follow the prompts using the Github URL for Mixpanel Swift library and a minimum semantic version of v2.8.0. -Swift Package Manager -It requires Xcode 12+ and v2.8.0+ release - -Important: It only supports for iOS, if you need integrations for other platforms(tvOS or macOS), please use other integration methods instead or use our beta version by pointing to the branch 3.0.0.beta +On Jan 1, 2022, we’ll remove the Messages & Experiments feature from Mixpanel. For now, you can choose to opt in to our beta version without Messages & Experiments feature support. You can use Swift Package Manager to point to the branch 3.0.0.beta +Installation Option 2: CocoaPods -In Xcode, select File > Swift Packages > Add Package Dependency. -Follow the prompts using the URL for this repository and a minimum semantic version of v2.8.0 +If this is your first time using CocoaPods, Install CocoaPods using gem install cocoapods. Otherwise, continue to Step 3. +Run pod setup to create a local CocoaPods spec mirror. +Create a Podfile in your Xcode project directory by running pod init in your terminal, edit the Podfile generated, and add the following line: pod 'Mixpanel-swift'. +Run pod install in your Xcode project directory. CocoaPods should download and install the Mixpanel library, and create a new Xcode workspace. Open up this workspace in Xcode or typing open *.xcworkspace in your terminal. +Installation Option 3: Carthage -Check out our swift integration guide » for more info. -CocoaPods - -Our current release only supports CocoaPods version 1.4.0+ - -Mixpanel supports CocoaPods for easy installation. -To Install, see our swift integration guide » - -For iOS, tvOS, macOS, and App Extension integrations: - -pod 'Mixpanel-swift' - - -Carthage - -Mixpanel also supports Carthage to package your dependencies as a framework. Include the following dependency in your Cartfile: - -github "mixpanel/mixpanel-swift" - -Check out the Carthage docs » for more info. +Mixpanel supports Carthage to package your dependencies as a framework. Include the following dependency in your Cartfile: +github "mixpanel/mixpanel-swift" + - -Manual Installation +Check out the Carthage docs for more info. +2. Initialize Mixpanel -To help users stay up to date with the latest version of our Swift SDK, we always recommend integrating our SDK via CocoaPods, which simplifies version updates and dependency management. However, there are cases where users can’t use CocoaPods. Not to worry, just follow these manual installation steps and you’ll be all set. -Step 1: Add as a Submodule +Import Mixpanel into AppDelegate.swift, and initialize Mixpanel within application:didFinishLaunchingWithOptions: +import Mixpanel -Add Mixpanel as a submodule to your local git repo like so: -git submodule add git@github.com:mixpanel/mixpanel-swift.git +func application(_ application: UIApplication, + didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool { + ... + Mixpanel.initialize(token: "MIXPANEL_TOKEN") + ... +} -Now the Mixpanel project and its files should be in your project folder! -Step 2: Drag Mixpanel to your project +See all configuration options +3. Send Data -Drag the Mixpanel.xcodeproj inside your sample project under the main sample project file: - - -Step 3: Embed the framework +Let’s get started by sending event data. You can send an event from anywhere in your application. Better understand user behavior by storing details that are specific to the event (properties). After initializing the library, Mixpanel will automatically collect common mobile events. You can enable/disable automatic collection through your project settings. Also, Mixpanel automatically tracks some properties by default. learn more +Mixpanel.mainInstance().track(event: "Sign Up", properties: [ + "source": "Pat's affiliate site", + "Opted out of email": true +]) + -Select your app .xcodeproj file. Under “General”, add the Mixpanel framework as an embedded binary: +In addition to event data, you can also send user profile data. We recommend this after completing the quickstart guide. +4. Check for Success - +Open up Live View in Mixpanel to view incoming events. - -Initializing and Usage +Once data hits our API, it generally takes ~60 seconds for it to be processed, stored, and queryable in your project. +Complete Code Example - -Integrate +Here’s a runnable code example that covers everything in this quickstart guide. +import Mixpanel -Import Mixpanel into AppDelegate.swift, and initialize Mixpanel within application:didFinishLaunchingWithOptions: - -func application(_ application: UIApplication, +func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool { + ... Mixpanel.initialize(token: "MIXPANEL_TOKEN") + Mixpanel.mainInstance().track(event: "Sign Up", properties: [ + "source": "Pat's affiliate site", + "Opted out of email": true + ]) + ... } +FAQ -You initialize your Mixpanel instance with the token provided to you on mixpanel.com. - - -Start tracking - -After installing the library into your iOS app, Mixpanel will automatically collect common mobile events. You can enable/ disable automatic collection through your project settings. - -To interact with the instance and track additional events, you can either use the mixpanel instance given when initializing: -mixpanel.track(event: "Tracked Event!") - +I want to stop tracking an event/event property in Mixpanel. Is that possible? -or you can directly fetch the instance and use it from the Mixpanel object: -Mixpanel.mainInstance().track(event: "Tracked Event!") - +Yes, in Lexicon, you can intercept and drop incoming events or properties. Mixpanel won’t store any new data for the event or property you select to drop. See this article for more information. -You’re done! You’ve successfully integrated the Mixpanel Swift SDK into your app. To stay up to speed on important SDK releases and updates, star or watch our repository on Github. +I have a test user I would like to opt out of tracking. How do I do that? -Have any questions? Reach out to support@mixpanel.com to speak to someone smart, quickly. -Using Mixpanel Push Notifications +Mixpanel’s client-side tracking library contains the optOutTracking() method, which will set the user’s local opt-out state to “true” and will prevent data from being sent from a user’s device. More detailed instructions can be found in the section, Opting users out of tracking. -First enable Mixpanel push notifications in your app. Then for Rich Push Notifications, you’ll need to integrate your application with the MixpanelNotificationServiceExtension. -Integrating the MixpanelNotificationServiceExtension +Why aren’t my events showing up? -The Mixpanel SDK comes with a custom Notification Service Extension used to render rich media, custom action buttons, and track when push notifications are received. To enable these features, you will need to integrate it into your application. -1. Create a new Notification Service Extension Target +To preserve battery life and customer bandwidth, the Mixpanel library doesn’t send the events you record immediately. Instead, it sends batches to the Mixpanel servers every 60 seconds while your application is running, as well as when the application transitions to the background. You can call flush() manually if you want to force a flush at a particular moment. +Mixpanel.mainInstance().flush() + - - - -2. Add Mixpanel-swift as a dependency +If your events are still not showing up after 60 seconds, check if you have opted out of tracking. You can also enable Mixpanel debugging and logging, it allows you to see the debug output from the Mixpanel library. To enable it, set loggingEnabled to true. +Mixpanel.mainInstance().loggingEnabled = true + -Add the following to the end of your Podfile: -target 'NotificationService' do - use_frameworks! +Starting with iOS 14.5, do I need to request the user’s permission through the AppTrackingTransparency framework to use Mixpanel? - pod 'Mixpanel-swift' -end - +No, Mixpanel does not use IDFA so it does not require user permission through the AppTrackingTransparency(ATT) framework. -Then run pod install -3. Extend your NotificationService from MixpanelNotificationServiceExtension +If I use Mixpanel, how do I answer app privacy questions for the App Store? -Replace the contents of your NotificationService.swift file with the following: -import Mixpanel +Please refer to our Apple App Developer Privacy Guidance +I want to know more! -class NotificationService: MixpanelNotificationServiceExtension {} - -4. Delegate the handling of the notification response to the Mixpanel SDK - -In your AppDelegate.swift file, you need to call MixpanelPushNotifications.handleResponse when a push notification response is received: -@available(iOS 10.0, *) -func userNotificationCenter(_ center: UNUserNotificationCenter, didReceive response: UNNotificationResponse, withCompletionHandler completionHandler: @escaping () -> Void) { - if MixpanelPushNotifications.isMixpanelPushNotification(response.notification.request.content) { - debugPrint("Handling Mixpanel push notification response...") - MixpanelPushNotifications.handleResponse(response: response, withCompletionHandler: completionHandler) - } else { - // not a Mixpanel push notification - debugPrint("Not a Mixpanel push notification.") - completionHandler() - } -} - +No worries, here are some links that you will find useful: -This will make sure the tap actions are appropriately handled (open URL, deeplink, etc) as well as track whether a notification was tapped or dismissed. -5. Run the app and send a test push notification from Mixpanel that includes an image or buttons + +Advanced iOS - Swift Guide +Sample app +Full API Reference + -That’s it! Your app should now be able to receive rich push notifications from Mixpanel. +Have any questions? Reach out to Mixpanel Support to speak to someone smart, quickly. - © 2021 Mixpanel. All rights reserved. (Last updated: 2021-06-11) + © 2021 Mixpanel. All rights reserved. (Last updated: 2021-08-13) Generated by jazzy ♪♫ v0.13.6, a Realm project. diff --git a/docs/search.json b/docs/search.json index 040a3460..dc8e93ad 100644 --- a/docs/search.json +++ b/docs/search.json @@ -1 +1 @@ -{"Typealiases.html#/s:8Mixpanel10Propertiesa":{"name":"Properties","abstract":"Undocumented"},"Structs/MixpanelTweaks.html#/s:8Mixpanel0A6TweaksV12defaultStoreAA05TweakD0CvpZ":{"name":"defaultStore","abstract":"The default store that holds the Tweaks","parent_name":"MixpanelTweaks"},"Structs/MixpanelTweaks.html#/s:8Mixpanel0A6TweaksV03setB06tweaksySayAA16TweakClusterType_pG_tFZ":{"name":"setTweaks(tweaks:)","abstract":"setTweaks needs to be called to add the defined Tweaks into the environment.","parent_name":"MixpanelTweaks"},"Structs/Tweak.html#/s:8Mixpanel5TweakV9tweakName12defaultValueACyxGSS_xtcfc":{"name":"init(tweakName:defaultValue:)","abstract":"Initializer for a Tweak for A/B Testing","parent_name":"Tweak"},"Structs/Tweak.html#/s:8Mixpanel5TweakV4hash4intoys6HasherVz_tF":{"name":"hash(into:)","abstract":"Hashing for a Tweak for A/B Testing in order for it to be stored.","parent_name":"Tweak"},"Structs/Tweak.html#/s:8Mixpanel16TweakClusterTypeP05tweakC0SayAA03AnyB0VGvp":{"name":"tweakCluster","parent_name":"Tweak"},"Structs/Tweak.html#/s:8Mixpanel5TweakVAASLRzs13SignedNumericRzrlE9tweakName12defaultValue3min3max8stepSizeACyxGSS_xxSgA2Ktcfc":{"name":"init(tweakName:defaultValue:min:max:stepSize:)","abstract":"Creates a Tweak where T: SignedNumberType","parent_name":"Tweak"},"Structs/AnyTweak.html#/s:SH4hash4intoys6HasherVz_tF":{"name":"hash(into:)","parent_name":"AnyTweak"},"Structs/AnyTweak.html#/s:8Mixpanel8AnyTweakV12tweakClusterSayACGvp":{"name":"tweakCluster","abstract":"Allows easy tweak initialization by clustering tweaks together for A/B Testing","parent_name":"AnyTweak"},"Structs/AnyTweak.html":{"name":"AnyTweak","abstract":"A type-erasure around Tweak for A/B Testing."},"Structs/Tweak.html":{"name":"Tweak","abstract":"Tweaks let you adjust things on the fly."},"Structs/MixpanelTweaks.html":{"name":"MixpanelTweaks","abstract":"The MixpanelTweaks struct that needs to be extended to define new Tweaks for A/B testing"},"Protocols/TweakableType.html#/s:8Mixpanel13TweakableTypeP013tweakViewDataC0AA05TweakefC0OvpZ":{"name":"tweakViewDataType","abstract":"The data type of the TweakableType","parent_name":"TweakableType"},"Protocols/TweakLibraryType.html#/s:8Mixpanel16TweakLibraryTypeP12defaultStoreAA0bF0CvpZ":{"name":"defaultStore","abstract":"the default tweak store","parent_name":"TweakLibraryType"},"Protocols/TweakLibraryType.html#/s:8Mixpanel16TweakLibraryTypePAAE6assignyqd__AA0B0Vyqd__GAA09TweakableD0Rd__lFZ":{"name":"assign(_:)","abstract":"Returns the current value for a tweak from the TweakLibrary’s default store.","parent_name":"TweakLibraryType"},"Protocols/TweakLibraryType.html#/s:8Mixpanel16TweakLibraryTypePAAE4bind_7bindingyAA0B0Vyqd__G_yqd__ctAA09TweakableD0Rd__lFZ":{"name":"bind(_:binding:)","abstract":"Immediately binds the currentValue of a given tweak, and then continues to update whenever the tweak changes.","parent_name":"TweakLibraryType"},"Protocols/TweakClusterType.html#/s:8Mixpanel16TweakClusterTypeP05tweakC0SayAA03AnyB0VGvp":{"name":"tweakCluster","abstract":"The tweak cluster to allow easy initialization of Tweaks","parent_name":"TweakClusterType"},"Protocols/MixpanelType.html#/s:8Mixpanel0A4TypeP013isValidNestedB8AndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"Checks if this object has nested object types that Mixpanel supports.","parent_name":"MixpanelType"},"Protocols/MixpanelType.html#/s:8Mixpanel0A4TypeP6equals3rhsSbAaB_p_tF":{"name":"equals(rhs:)","abstract":"Undocumented","parent_name":"MixpanelType"},"Protocols/MixpanelDelegate.html#/s:8Mixpanel0A8DelegateP17mixpanelWillFlushySbAA0A8InstanceCF":{"name":"mixpanelWillFlush(_:)","abstract":"Asks the delegate if data should be uploaded to the server.","parent_name":"MixpanelDelegate"},"Protocols/MixpanelDelegate.html":{"name":"MixpanelDelegate","abstract":"Delegate protocol for controlling the Mixpanel API’s network behavior."},"Protocols/MixpanelType.html":{"name":"MixpanelType","abstract":"Property keys must be String objects and the supported value types need to conform to MixpanelType."},"Protocols/TweakClusterType.html":{"name":"TweakClusterType","abstract":"This protocol allows for easy initialization of TweakStore."},"Protocols/TweakLibraryType.html":{"name":"TweakLibraryType","abstract":"Create a public struct in your application that conforms to this protocol to declare your own tweaks!"},"Protocols/TweakableType.html":{"name":"TweakableType","abstract":"To add a new to our Tweak, make T conform to this protocol."},"Functions.html#/s:8Mixpanel2eeoiySbAA8AnyTweakV_ADtF":{"name":"==(_:_:)","abstract":"Comparator between two tweaks for A/B Testing."},"Functions.html#/s:8Mixpanel2eeoiySbAA5TweakVyxG_AEtAA13TweakableTypeRzlF":{"name":"==(_:_:)","abstract":"Comparator between two tweaks for A/B Testing."},"Extensions/CGFloat.html#/s:12CoreGraphics7CGFloatV8MixpanelE17tweakViewDataTypeAD05TweakfgH0OvpZ":{"name":"tweakViewDataType","abstract":"TweakableType supports the cgFloat type","parent_name":"CGFloat"},"Extensions/Dictionary.html#/s:SD8MixpanelE25isValidNestedTypeAndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"Checks if this object has nested object types that Mixpanel supports.","parent_name":"Dictionary"},"Extensions/Dictionary.html#/s:SD8MixpanelE6equals3rhsSbAA0A4Type_p_tF":{"name":"equals(rhs:)","abstract":"Undocumented","parent_name":"Dictionary"},"Extensions/NSArray.html#/s:So7NSArrayC8MixpanelE25isValidNestedTypeAndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"Checks if this object has nested object types that Mixpanel supports.","parent_name":"NSArray"},"Extensions/NSArray.html#/s:So7NSArrayC8MixpanelE6equals3rhsSbAC0B4Type_p_tF":{"name":"equals(rhs:)","abstract":"Undocumented","parent_name":"NSArray"},"Extensions/NSNull.html#/s:So6NSNullC8MixpanelE25isValidNestedTypeAndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"Checks if this object has nested object types that Mixpanel supports.","parent_name":"NSNull"},"Extensions/NSNull.html#/s:So6NSNullC8MixpanelE6equals3rhsSbAC0B4Type_p_tF":{"name":"equals(rhs:)","abstract":"Undocumented","parent_name":"NSNull"},"Extensions/URL.html#/s:10Foundation3URLV8MixpanelE25isValidNestedTypeAndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"Checks if this object has nested object types that Mixpanel supports.","parent_name":"URL"},"Extensions/URL.html#/s:10Foundation3URLV8MixpanelE6equals3rhsSbAD0C4Type_p_tF":{"name":"equals(rhs:)","abstract":"Undocumented","parent_name":"URL"},"Extensions/Date.html#/s:10Foundation4DateV8MixpanelE25isValidNestedTypeAndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"Checks if this object has nested object types that Mixpanel supports.","parent_name":"Date"},"Extensions/Date.html#/s:10Foundation4DateV8MixpanelE6equals3rhsSbAD0C4Type_p_tF":{"name":"equals(rhs:)","abstract":"Undocumented","parent_name":"Date"},"Extensions/Bool.html#/s:Sb8MixpanelE25isValidNestedTypeAndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"Checks if this object has nested object types that Mixpanel supports.","parent_name":"Bool"},"Extensions/Bool.html#/s:Sb8MixpanelE6equals3rhsSbAA0A4Type_p_tF":{"name":"equals(rhs:)","abstract":"Undocumented","parent_name":"Bool"},"Extensions/Bool.html#/s:Sb8MixpanelE17tweakViewDataTypeAA05TweakcdE0OvpZ":{"name":"tweakViewDataType","abstract":"TweakableType supports the boolean type","parent_name":"Bool"},"Extensions/Float.html#/s:Sf8MixpanelE25isValidNestedTypeAndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"Checks if this object has nested object types that Mixpanel supports.","parent_name":"Float"},"Extensions/Float.html#/s:Sf8MixpanelE6equals3rhsSbAA0A4Type_p_tF":{"name":"equals(rhs:)","abstract":"Undocumented","parent_name":"Float"},"Extensions/Double.html#/s:Sd8MixpanelE25isValidNestedTypeAndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"Checks if this object has nested object types that Mixpanel supports.","parent_name":"Double"},"Extensions/Double.html#/s:Sd8MixpanelE6equals3rhsSbAA0A4Type_p_tF":{"name":"equals(rhs:)","abstract":"Undocumented","parent_name":"Double"},"Extensions/Double.html#/s:Sd8MixpanelE17tweakViewDataTypeAA05TweakcdE0OvpZ":{"name":"tweakViewDataType","abstract":"TweakableType supports the double type","parent_name":"Double"},"Extensions/UInt.html#/s:Su8MixpanelE25isValidNestedTypeAndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"Checks if this object has nested object types that Mixpanel supports.","parent_name":"UInt"},"Extensions/UInt.html#/s:Su8MixpanelE6equals3rhsSbAA0A4Type_p_tF":{"name":"equals(rhs:)","abstract":"Undocumented","parent_name":"UInt"},"Extensions/Int.html#/s:Si8MixpanelE25isValidNestedTypeAndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"Checks if this object has nested object types that Mixpanel supports.","parent_name":"Int"},"Extensions/Int.html#/s:Si8MixpanelE6equals3rhsSbAA0A4Type_p_tF":{"name":"equals(rhs:)","abstract":"Undocumented","parent_name":"Int"},"Extensions/Int.html#/s:Si8MixpanelE17tweakViewDataTypeAA05TweakcdE0OvpZ":{"name":"tweakViewDataType","abstract":"TweakableType supports the integer type","parent_name":"Int"},"Extensions/NSNumber.html#/s:So8NSNumberC8MixpanelE25isValidNestedTypeAndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"Checks if this object has nested object types that Mixpanel supports.","parent_name":"NSNumber"},"Extensions/NSNumber.html#/s:So8NSNumberC8MixpanelE6equals3rhsSbAC0B4Type_p_tF":{"name":"equals(rhs:)","abstract":"Undocumented","parent_name":"NSNumber"},"Extensions/NSString.html#/s:So8NSStringC8MixpanelE25isValidNestedTypeAndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"Checks if this object has nested object types that Mixpanel supports.","parent_name":"NSString"},"Extensions/NSString.html#/s:So8NSStringC8MixpanelE6equals3rhsSbAC0B4Type_p_tF":{"name":"equals(rhs:)","abstract":"Undocumented","parent_name":"NSString"},"Extensions/String.html#/s:SS8MixpanelE25isValidNestedTypeAndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"Checks if this object has nested object types that Mixpanel supports.","parent_name":"String"},"Extensions/String.html#/s:SS8MixpanelE6equals3rhsSbAA0A4Type_p_tF":{"name":"equals(rhs:)","abstract":"Undocumented","parent_name":"String"},"Extensions/String.html#/s:SS8MixpanelE17tweakViewDataTypeAA05TweakcdE0OvpZ":{"name":"tweakViewDataType","abstract":"TweakableType supports the string type","parent_name":"String"},"Extensions/Optional.html#/s:Sq8MixpanelE25isValidNestedTypeAndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"Checks if this object has nested object types that Mixpanel supports.","parent_name":"Optional"},"Extensions/Optional.html#/s:Sq8MixpanelE6equals3rhsSbAA0A4Type_p_tF":{"name":"equals(rhs:)","abstract":"Undocumented","parent_name":"Optional"},"Extensions/Array.html#/s:Sa8MixpanelE25isValidNestedTypeAndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"Checks if this object has nested object types that Mixpanel supports.","parent_name":"Array"},"Extensions/Array.html#/s:Sa8MixpanelE6equals3rhsSbAA0A4Type_p_tF":{"name":"equals(rhs:)","abstract":"Undocumented","parent_name":"Array"},"Extensions/UIColor.html#/s:So7UIColorC8MixpanelE5MPHexABSu_tcfc":{"name":"init(MPHex:)","abstract":"The shorthand four-digit hexadecimal representation of color with alpha.","parent_name":"UIColor"},"Extensions/UIColor.html":{"name":"UIColor"},"Extensions/Array.html":{"name":"Array"},"Extensions/Optional.html":{"name":"Optional"},"Extensions/String.html":{"name":"String"},"Extensions/NSString.html":{"name":"NSString"},"Extensions/NSNumber.html":{"name":"NSNumber"},"Extensions/Int.html":{"name":"Int"},"Extensions/UInt.html":{"name":"UInt"},"Extensions/Double.html":{"name":"Double"},"Extensions/Float.html":{"name":"Float"},"Extensions/Bool.html":{"name":"Bool"},"Extensions/Date.html":{"name":"Date"},"Extensions/URL.html":{"name":"URL"},"Extensions/NSNull.html":{"name":"NSNull"},"Extensions/NSArray.html":{"name":"NSArray"},"Extensions/Dictionary.html":{"name":"Dictionary"},"Extensions/CGFloat.html":{"name":"CGFloat"},"Enums/TweakViewDataType.html#/s:8Mixpanel17TweakViewDataTypeO7booleanyA2CmF":{"name":"boolean","abstract":"TweakableType supports the boolean type","parent_name":"TweakViewDataType"},"Enums/TweakViewDataType.html#/s:8Mixpanel17TweakViewDataTypeO7integeryA2CmF":{"name":"integer","abstract":"TweakableType supports the integer type","parent_name":"TweakViewDataType"},"Enums/TweakViewDataType.html#/s:8Mixpanel17TweakViewDataTypeO7cgFloatyA2CmF":{"name":"cgFloat","abstract":"TweakableType supports the cgFloat type","parent_name":"TweakViewDataType"},"Enums/TweakViewDataType.html#/s:8Mixpanel17TweakViewDataTypeO6doubleyA2CmF":{"name":"double","abstract":"TweakableType supports the double type","parent_name":"TweakViewDataType"},"Enums/TweakViewDataType.html#/s:8Mixpanel17TweakViewDataTypeO6stringyA2CmF":{"name":"string","abstract":"TweakableType supports the string type","parent_name":"TweakViewDataType"},"Enums/TweakViewDataType.html":{"name":"TweakViewDataType","abstract":"The data types that are currently supported for SwiftTweaks."},"Classes/MixpanelPushNotifications.html#/s:8Mixpanel0A17PushNotificationsC02isaB12NotificationySbSo21UNNotificationContentCFZ":{"name":"isMixpanelPushNotification(_:)","abstract":"Undocumented","parent_name":"MixpanelPushNotifications"},"Classes/MixpanelPushNotifications.html#/s:8Mixpanel0A17PushNotificationsC10trackEvent_10properties7requestySS_SDySSAA0A4Type_pGSo21UNNotificationRequestCtFZ":{"name":"trackEvent(_:properties:request:)","abstract":"Undocumented","parent_name":"MixpanelPushNotifications"},"Classes/People.html#/s:8Mixpanel6PeopleC10ignoreTimeSbvp":{"name":"ignoreTime","abstract":"controls the $ignore_time property in any subsequent MixpanelPeople operation.","parent_name":"People"},"Classes/People.html#/s:8Mixpanel6PeopleC18addPushDeviceTokenyy10Foundation4DataVF":{"name":"addPushDeviceToken(_:)","abstract":"Register the given device to receive push notifications.","parent_name":"People"},"Classes/People.html#/s:8Mixpanel6PeopleC25removeAllPushDeviceTokensyyF":{"name":"removeAllPushDeviceTokens()","abstract":"Unregister the given device to receive push notifications.","parent_name":"People"},"Classes/People.html#/s:8Mixpanel6PeopleC21removePushDeviceTokenyy10Foundation4DataVF":{"name":"removePushDeviceToken(_:)","abstract":"Unregister a specific device token from the ability to receive push notifications.","parent_name":"People"},"Classes/People.html#/s:8Mixpanel6PeopleC3set10propertiesySDySSAA0A4Type_pG_tF":{"name":"set(properties:)","abstract":"Set properties on the current user in Mixpanel People.","parent_name":"People"},"Classes/People.html#/s:8Mixpanel6PeopleC3set8property2toySS_AA0A4Type_ptF":{"name":"set(property:to:)","abstract":"Convenience method for setting a single property in Mixpanel People.","parent_name":"People"},"Classes/People.html#/s:8Mixpanel6PeopleC7setOnce10propertiesySDySSAA0A4Type_pG_tF":{"name":"setOnce(properties:)","abstract":"Set properties on the current user in Mixpanel People, but doesn’t overwrite if","parent_name":"People"},"Classes/People.html#/s:8Mixpanel6PeopleC5unset10propertiesySaySSG_tF":{"name":"unset(properties:)","abstract":"Remove a list of properties and their values from the current user’s profile","parent_name":"People"},"Classes/People.html#/s:8Mixpanel6PeopleC9increment10propertiesySDySSAA0A4Type_pG_tF":{"name":"increment(properties:)","abstract":"Increment the given numeric properties by the given values.","parent_name":"People"},"Classes/People.html#/s:8Mixpanel6PeopleC9increment8property2byySS_SdtF":{"name":"increment(property:by:)","abstract":"Convenience method for incrementing a single numeric property by the specified","parent_name":"People"},"Classes/People.html#/s:8Mixpanel6PeopleC6append10propertiesySDySSAA0A4Type_pG_tF":{"name":"append(properties:)","abstract":"Append values to list properties.","parent_name":"People"},"Classes/People.html#/s:8Mixpanel6PeopleC6remove10propertiesySDySSAA0A4Type_pG_tF":{"name":"remove(properties:)","abstract":"Removes list properties.","parent_name":"People"},"Classes/People.html#/s:8Mixpanel6PeopleC5union10propertiesySDySSAA0A4Type_pG_tF":{"name":"union(properties:)","abstract":"Union list properties.","parent_name":"People"},"Classes/People.html#/s:8Mixpanel6PeopleC11trackCharge6amount10propertiesySd_SDySSAA0A4Type_pGSgtF":{"name":"trackCharge(amount:properties:)","abstract":"Track money spent by the current user for revenue analytics and associate","parent_name":"People"},"Classes/People.html#/s:8Mixpanel6PeopleC12clearChargesyyF":{"name":"clearCharges()","abstract":"Delete current user’s revenue history.","parent_name":"People"},"Classes/People.html#/s:8Mixpanel6PeopleC10deleteUseryyF":{"name":"deleteUser()","abstract":"Delete current user’s record from Mixpanel People.","parent_name":"People"},"Classes/MixpanelNotificationServiceExtension.html#/c:@M@Mixpanel@objc(cs)MixpanelNotificationServiceExtension(im)didReceiveNotificationRequest:withContentHandler:":{"name":"didReceive(_:withContentHandler:)","abstract":"Undocumented","parent_name":"MixpanelNotificationServiceExtension"},"Classes/MixpanelNotificationServiceExtension.html#/c:@M@Mixpanel@objc(cs)MixpanelNotificationServiceExtension(im)serviceExtensionTimeWillExpire":{"name":"serviceExtensionTimeWillExpire()","abstract":"Undocumented","parent_name":"MixpanelNotificationServiceExtension"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC8apiTokenSSvp":{"name":"apiToken","abstract":"apiToken string that identifies the project to track data to","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC8delegateAA0A8Delegate_pSgvp":{"name":"delegate","abstract":"The a MixpanelDelegate object that gives control over Mixpanel network activity.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC10distinctIdSSvp":{"name":"distinctId","abstract":"distinctId string that uniquely identifies the current user.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC11anonymousIdSSSgvp":{"name":"anonymousId","abstract":"anonymousId string that uniquely identifies the device.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC6userIdSSSgvp":{"name":"userId","abstract":"userId string that identify is called with.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC22hadPersistedDistinctIdSbSgvp":{"name":"hadPersistedDistinctId","abstract":"hadPersistedDistinctId is a boolean value which specifies that the stored distinct_id","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC5aliasSSSgvp":{"name":"alias","abstract":"alias string that uniquely identifies the current user.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC6peopleAA6PeopleCSgvp":{"name":"people","abstract":"Accessor to the Mixpanel People API object.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC28showNetworkActivityIndicatorSbvp":{"name":"showNetworkActivityIndicator","abstract":"Controls whether to show spinning network activity indicator when flushing","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC27trackAutomaticEventsEnabledSbSgvp":{"name":"trackAutomaticEventsEnabled","abstract":"This allows enabling or disabling collecting common mobile events","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC13flushIntervalSdvp":{"name":"flushInterval","abstract":"Flush timer’s interval.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC17flushOnBackgroundSbvp":{"name":"flushOnBackground","abstract":"Control whether the library should flush data to Mixpanel when the app","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC26useIPAddressForGeoLocationSbvp":{"name":"useIPAddressForGeoLocation","abstract":"Controls whether to automatically send the client IP Address as part of","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC9serverURLSSvp":{"name":"serverURL","abstract":"The base URL used for Mixpanel API requests.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:s28CustomDebugStringConvertibleP16debugDescriptionSSvp":{"name":"debugDescription","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC14loggingEnabledSbvp":{"name":"loggingEnabled","abstract":"This allows enabling or disabling of all Mixpanel logs at run time.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC4nameSSvp":{"name":"name","abstract":"A unique identifier for this MixpanelInstance","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC29enableVisualEditorForCodelessSbvp":{"name":"enableVisualEditorForCodeless","abstract":"Controls whether to enable the visual editor for codeless on mixpanel.com","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC24checkForVariantsOnActiveSbvp":{"name":"checkForVariantsOnActive","abstract":"Controls whether to automatically check for A/B test variants for the","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC28checkForNotificationOnActiveSbvp":{"name":"checkForNotificationOnActive","abstract":"Controls whether to automatically check for notifications for the","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC24showNotificationOnActiveSbvp":{"name":"showNotificationOnActive","abstract":"Controls whether to automatically check for and show in-app notifications","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC32miniNotificationPresentationTimeSdvp":{"name":"miniNotificationPresentationTime","abstract":"Determines the time, in seconds, that a mini notification will remain on","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC22minimumSessionDurations6UInt64Vvp":{"name":"minimumSessionDuration","abstract":"The minimum session duration (ms) that is tracked in automatic events.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC22maximumSessionDurations6UInt64Vvp":{"name":"maximumSessionDuration","abstract":"The maximum session duration (ms) that is tracked in automatic events.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC8identify10distinctId9usePeopleySS_SbtF":{"name":"identify(distinctId:usePeople:)","abstract":"Sets the distinct ID of the current user.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC11createAlias_10distinctId9usePeopleySS_SSSbtF":{"name":"createAlias(_:distinctId:usePeople:)","abstract":"The alias method creates an alias which Mixpanel will use to remap one id to another.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC5resetyyF":{"name":"reset()","abstract":"Clears all stored properties including the distinct Id.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC7archiveyyF":{"name":"archive()","abstract":"Writes current project info including the distinct Id, super properties,","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/archive()":{"name":"archive()","abstract":"Writes current project info including the distinct Id, super properties,","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC5flush10completionyyycSg_tF":{"name":"flush(completion:)","abstract":"Uploads queued data to the Mixpanel server.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC5track5event10propertiesySSSg_SDySSAA0A4Type_pGSgtF":{"name":"track(event:properties:)","abstract":"Tracks an event with properties.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC15trackWithGroups5event10properties6groupsySSSg_SDySSAA0A4Type_pGSgAKtF":{"name":"trackWithGroups(event:properties:groups:)","abstract":"Tracks an event with properties and to specific groups.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC8getGroup8groupKey0E2IDAA0D0CSS_AA0A4Type_ptF":{"name":"getGroup(groupKey:groupID:)","abstract":"Undocumented","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC4time5eventySS_tF":{"name":"time(event:)","abstract":"Starts a timer that will be stopped and added as a property when a","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC16eventElapsedTime0C0SdSS_tF":{"name":"eventElapsedTime(event:)","abstract":"Retrieves the time elapsed for the named event since time(event:) was called.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC16clearTimedEventsyyF":{"name":"clearTimedEvents()","abstract":"Clears all current event timers.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC15clearTimedEvent5eventySS_tF":{"name":"clearTimedEvent(event:)","abstract":"Clears the event timer for the named event.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC22currentSuperPropertiesSDySSypGyF":{"name":"currentSuperProperties()","abstract":"Returns the currently set super properties.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC20clearSuperPropertiesyyF":{"name":"clearSuperProperties()","abstract":"Clears all currently set super properties.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC23registerSuperPropertiesyySDySSAA0A4Type_pGF":{"name":"registerSuperProperties(_:)","abstract":"Registers super properties, overwriting ones that have already been set.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC27registerSuperPropertiesOnce_12defaultValueySDySSAA0A4Type_pG_AaF_pSgtF":{"name":"registerSuperPropertiesOnce(_:defaultValue:)","abstract":"Registers super properties without overwriting ones that have already been set,","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC23unregisterSuperPropertyyySSF":{"name":"unregisterSuperProperty(_:)","abstract":"Removes a previously registered super property.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC8setGroup8groupKey0E2IDySS_AA0A4Type_ptF":{"name":"setGroup(groupKey:groupID:)","abstract":"Convenience method to set a single group the user belongs to.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC8setGroup8groupKey0E3IDsySS_SayAA0A4Type_pGtF":{"name":"setGroup(groupKey:groupIDs:)","abstract":"Set the groups this user belongs to.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC8addGroup8groupKey0E2IDySS_AA0A4Type_ptF":{"name":"addGroup(groupKey:groupID:)","abstract":"Add a group to this user’s membership for a particular group key","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC11removeGroup8groupKey0E2IDySS_AA0A4Type_ptF":{"name":"removeGroup(groupKey:groupID:)","abstract":"Remove a group from this user’s membership for a particular group key","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC14optOutTrackingyyF":{"name":"optOutTracking()","abstract":"Opt out tracking.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC13optInTracking10distinctId10propertiesySSSg_SDySSAA0A4Type_pGSgtF":{"name":"optInTracking(distinctId:properties:)","abstract":"Opt in tracking.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC19hasOptedOutTrackingSbyF":{"name":"hasOptedOutTracking()","abstract":"Returns if the current user has opted out tracking.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC15joinExperiments8callbackyyycSg_tF":{"name":"joinExperiments(callback:)","abstract":"Join any experiments (A/B tests) that are available for the current user.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC16showNotificationyyF":{"name":"showNotification()","abstract":"Shows a notification if one is available.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC16showNotification4typeySS_tF":{"name":"showNotification(type:)","abstract":"Shows a notification with the given type if one is available.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC16showNotification2IDySi_tF":{"name":"showNotification(ID:)","abstract":"Shows a notification with the given ID","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC24fetchNotificationPayload10completionyySDySSyXlGSgc_tF":{"name":"fetchNotificationPayload(completion:)","abstract":"Returns the payload of a notification if available","parent_name":"MixpanelInstance"},"Classes/Mixpanel.html#/s:8MixpanelAAC10initialize5token13launchOptions13flushInterval12instanceName21automaticPushTracking06optOutL9ByDefaultAA0A8InstanceCSS_SDySo019UIApplicationLaunchE3KeyaypGSgSdSSS2btFZ":{"name":"initialize(token:launchOptions:flushInterval:instanceName:automaticPushTracking:optOutTrackingByDefault:)","abstract":"Initializes an instance of the API with the given project token.","parent_name":"Mixpanel"},"Classes/Mixpanel.html#/initialize(token:flushInterval:instanceName:optOutTrackingByDefault:)":{"name":"initialize(token:flushInterval:instanceName:optOutTrackingByDefault:)","abstract":"Initializes an instance of the API with the given project token (MAC OS ONLY).","parent_name":"Mixpanel"},"Classes/Mixpanel.html#/s:8MixpanelAAC11getInstance4nameAA0aC0CSgSS_tFZ":{"name":"getInstance(name:)","abstract":"Gets the mixpanel instance with the given name","parent_name":"Mixpanel"},"Classes/Mixpanel.html#/s:8MixpanelAAC12mainInstanceAA0aC0CyFZ":{"name":"mainInstance()","abstract":"Returns the main instance that was initialized.","parent_name":"Mixpanel"},"Classes/Mixpanel.html#/s:8MixpanelAAC15setMainInstance4nameySS_tFZ":{"name":"setMainInstance(name:)","abstract":"Sets the main instance based on the instance name","parent_name":"Mixpanel"},"Classes/Mixpanel.html#/s:8MixpanelAAC14removeInstance4nameySS_tFZ":{"name":"removeInstance(name:)","abstract":"Removes an unneeded Mixpanel instance based on its name","parent_name":"Mixpanel"},"Classes/Group.html#/s:8Mixpanel5GroupC3set10propertiesySDySSAA0A4Type_pG_tF":{"name":"set(properties:)","abstract":"Sets properties on this group.","parent_name":"Group"},"Classes/Group.html#/s:8Mixpanel5GroupC3set8property2toySS_AA0A4Type_ptF":{"name":"set(property:to:)","abstract":"Convenience method for setting a single property in Mixpanel Groups.","parent_name":"Group"},"Classes/Group.html#/s:8Mixpanel5GroupC7setOnce10propertiesySDySSAA0A4Type_pG_tF":{"name":"setOnce(properties:)","abstract":"Sets properties on the current Mixpanel Group, but doesn’t overwrite if","parent_name":"Group"},"Classes/Group.html#/s:8Mixpanel5GroupC5unset8propertyySS_tF":{"name":"unset(property:)","abstract":"Remove a property and its value from a group’s profile in Mixpanel Groups.","parent_name":"Group"},"Classes/Group.html#/s:8Mixpanel5GroupC6remove3key5valueySS_AA0A4Type_ptF":{"name":"remove(key:value:)","abstract":"Removes list properties.","parent_name":"Group"},"Classes/Group.html#/s:8Mixpanel5GroupC5union3key6valuesySS_SayAA0A4Type_pGtF":{"name":"union(key:values:)","abstract":"Union list properties.","parent_name":"Group"},"Classes/Group.html#/s:8Mixpanel5GroupC06deleteB0yyF":{"name":"deleteGroup()","abstract":"Delete group’s record from Mixpanel Groups.","parent_name":"Group"},"Classes/Group.html":{"name":"Group","abstract":"Access to the Mixpanel Groups API, available through the getGroup function from"},"Classes/Mixpanel.html":{"name":"Mixpanel","abstract":"The primary class for integrating Mixpanel with your app."},"Classes/MixpanelInstance.html":{"name":"MixpanelInstance","abstract":"The class that represents the Mixpanel Instance"},"Classes/MixpanelNotificationServiceExtension.html":{"name":"MixpanelNotificationServiceExtension","abstract":"Undocumented"},"Classes/People.html":{"name":"People","abstract":"Access to the Mixpanel People API, available as an accessible variable from"},"Classes/MixpanelPushNotifications.html":{"name":"MixpanelPushNotifications","abstract":"Undocumented"},"Classes.html#/s:8Mixpanel10TweakStoreC":{"name":"TweakStore","abstract":"Looks up the persisted state for tweaks."},"Classes.html":{"name":"Classes","abstract":"The following classes are available globally."},"Enums.html":{"name":"Enumerations","abstract":"The following enumerations are available globally."},"Extensions.html":{"name":"Extensions","abstract":"The following extensions are available globally."},"Functions.html":{"name":"Functions","abstract":"The following functions are available globally."},"Protocols.html":{"name":"Protocols","abstract":"The following protocols are available globally."},"Structs.html":{"name":"Structures","abstract":"The following structures are available globally."},"Typealiases.html":{"name":"Type Aliases","abstract":"The following type aliases are available globally."}} \ No newline at end of file +{"Typealiases.html#/s:8Mixpanel10Propertiesa":{"name":"Properties","abstract":"Undocumented"},"Structs/MixpanelTweaks.html#/s:8Mixpanel0A6TweaksV12defaultStoreAA05TweakD0CvpZ":{"name":"defaultStore","abstract":"The default store that holds the Tweaks","parent_name":"MixpanelTweaks"},"Structs/MixpanelTweaks.html#/s:8Mixpanel0A6TweaksV03setB06tweaksySayAA16TweakClusterType_pG_tFZ":{"name":"setTweaks(tweaks:)","abstract":"setTweaks needs to be called to add the defined Tweaks into the environment.","parent_name":"MixpanelTweaks"},"Structs/Tweak.html#/s:8Mixpanel5TweakV9tweakName12defaultValueACyxGSS_xtcfc":{"name":"init(tweakName:defaultValue:)","abstract":"Initializer for a Tweak for A/B Testing","parent_name":"Tweak"},"Structs/Tweak.html#/s:8Mixpanel5TweakV4hash4intoys6HasherVz_tF":{"name":"hash(into:)","abstract":"Hashing for a Tweak for A/B Testing in order for it to be stored.","parent_name":"Tweak"},"Structs/Tweak.html#/s:8Mixpanel16TweakClusterTypeP05tweakC0SayAA03AnyB0VGvp":{"name":"tweakCluster","parent_name":"Tweak"},"Structs/Tweak.html#/s:8Mixpanel5TweakVAASLRzs13SignedNumericRzrlE9tweakName12defaultValue3min3max8stepSizeACyxGSS_xxSgA2Ktcfc":{"name":"init(tweakName:defaultValue:min:max:stepSize:)","abstract":"Creates a Tweak where T: SignedNumberType","parent_name":"Tweak"},"Structs/AnyTweak.html#/s:SH4hash4intoys6HasherVz_tF":{"name":"hash(into:)","parent_name":"AnyTweak"},"Structs/AnyTweak.html#/s:8Mixpanel8AnyTweakV12tweakClusterSayACGvp":{"name":"tweakCluster","abstract":"Allows easy tweak initialization by clustering tweaks together for A/B Testing","parent_name":"AnyTweak"},"Structs/AnyTweak.html":{"name":"AnyTweak","abstract":"A type-erasure around Tweak for A/B Testing."},"Structs/Tweak.html":{"name":"Tweak","abstract":"Tweaks let you adjust things on the fly."},"Structs/MixpanelTweaks.html":{"name":"MixpanelTweaks","abstract":"The MixpanelTweaks struct that needs to be extended to define new Tweaks for A/B testing"},"Protocols/TweakableType.html#/s:8Mixpanel13TweakableTypeP013tweakViewDataC0AA05TweakefC0OvpZ":{"name":"tweakViewDataType","abstract":"The data type of the TweakableType","parent_name":"TweakableType"},"Protocols/TweakLibraryType.html#/s:8Mixpanel16TweakLibraryTypeP12defaultStoreAA0bF0CvpZ":{"name":"defaultStore","abstract":"the default tweak store","parent_name":"TweakLibraryType"},"Protocols/TweakLibraryType.html#/s:8Mixpanel16TweakLibraryTypePAAE6assignyqd__AA0B0Vyqd__GAA09TweakableD0Rd__lFZ":{"name":"assign(_:)","abstract":"Returns the current value for a tweak from the TweakLibrary’s default store.","parent_name":"TweakLibraryType"},"Protocols/TweakLibraryType.html#/s:8Mixpanel16TweakLibraryTypePAAE4bind_7bindingyAA0B0Vyqd__G_yqd__ctAA09TweakableD0Rd__lFZ":{"name":"bind(_:binding:)","abstract":"Immediately binds the currentValue of a given tweak, and then continues to update whenever the tweak changes.","parent_name":"TweakLibraryType"},"Protocols/TweakClusterType.html#/s:8Mixpanel16TweakClusterTypeP05tweakC0SayAA03AnyB0VGvp":{"name":"tweakCluster","abstract":"The tweak cluster to allow easy initialization of Tweaks","parent_name":"TweakClusterType"},"Protocols/MixpanelType.html#/s:8Mixpanel0A4TypeP013isValidNestedB8AndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"Checks if this object has nested object types that Mixpanel supports.","parent_name":"MixpanelType"},"Protocols/MixpanelType.html#/s:8Mixpanel0A4TypeP6equals3rhsSbAaB_p_tF":{"name":"equals(rhs:)","abstract":"Undocumented","parent_name":"MixpanelType"},"Protocols/MixpanelDelegate.html#/s:8Mixpanel0A8DelegateP17mixpanelWillFlushySbAA0A8InstanceCF":{"name":"mixpanelWillFlush(_:)","abstract":"Asks the delegate if data should be uploaded to the server.","parent_name":"MixpanelDelegate"},"Protocols/MixpanelDelegate.html":{"name":"MixpanelDelegate","abstract":"Delegate protocol for controlling the Mixpanel API’s network behavior."},"Protocols/MixpanelType.html":{"name":"MixpanelType","abstract":"Property keys must be String objects and the supported value types need to conform to MixpanelType."},"Protocols/TweakClusterType.html":{"name":"TweakClusterType","abstract":"This protocol allows for easy initialization of TweakStore."},"Protocols/TweakLibraryType.html":{"name":"TweakLibraryType","abstract":"Create a public struct in your application that conforms to this protocol to declare your own tweaks!"},"Protocols/TweakableType.html":{"name":"TweakableType","abstract":"To add a new to our Tweak, make T conform to this protocol."},"Functions.html#/s:8Mixpanel2eeoiySbAA8AnyTweakV_ADtF":{"name":"==(_:_:)","abstract":"Comparator between two tweaks for A/B Testing."},"Functions.html#/s:8Mixpanel2eeoiySbAA5TweakVyxG_AEtAA13TweakableTypeRzlF":{"name":"==(_:_:)","abstract":"Comparator between two tweaks for A/B Testing."},"Extensions/CGFloat.html#/s:12CoreGraphics7CGFloatV8MixpanelE17tweakViewDataTypeAD05TweakfgH0OvpZ":{"name":"tweakViewDataType","abstract":"TweakableType supports the cgFloat type","parent_name":"CGFloat"},"Extensions/Dictionary.html#/s:SD8MixpanelE25isValidNestedTypeAndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"Checks if this object has nested object types that Mixpanel supports.","parent_name":"Dictionary"},"Extensions/Dictionary.html#/s:SD8MixpanelE6equals3rhsSbAA0A4Type_p_tF":{"name":"equals(rhs:)","abstract":"Undocumented","parent_name":"Dictionary"},"Extensions/NSArray.html#/s:So7NSArrayC8MixpanelE25isValidNestedTypeAndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"Checks if this object has nested object types that Mixpanel supports.","parent_name":"NSArray"},"Extensions/NSArray.html#/s:So7NSArrayC8MixpanelE6equals3rhsSbAC0B4Type_p_tF":{"name":"equals(rhs:)","abstract":"Undocumented","parent_name":"NSArray"},"Extensions/NSNull.html#/s:So6NSNullC8MixpanelE25isValidNestedTypeAndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"Checks if this object has nested object types that Mixpanel supports.","parent_name":"NSNull"},"Extensions/NSNull.html#/s:So6NSNullC8MixpanelE6equals3rhsSbAC0B4Type_p_tF":{"name":"equals(rhs:)","abstract":"Undocumented","parent_name":"NSNull"},"Extensions/URL.html#/s:10Foundation3URLV8MixpanelE25isValidNestedTypeAndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"Checks if this object has nested object types that Mixpanel supports.","parent_name":"URL"},"Extensions/URL.html#/s:10Foundation3URLV8MixpanelE6equals3rhsSbAD0C4Type_p_tF":{"name":"equals(rhs:)","abstract":"Undocumented","parent_name":"URL"},"Extensions/Date.html#/s:10Foundation4DateV8MixpanelE25isValidNestedTypeAndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"Checks if this object has nested object types that Mixpanel supports.","parent_name":"Date"},"Extensions/Date.html#/s:10Foundation4DateV8MixpanelE6equals3rhsSbAD0C4Type_p_tF":{"name":"equals(rhs:)","abstract":"Undocumented","parent_name":"Date"},"Extensions/Bool.html#/s:Sb8MixpanelE25isValidNestedTypeAndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"Checks if this object has nested object types that Mixpanel supports.","parent_name":"Bool"},"Extensions/Bool.html#/s:Sb8MixpanelE6equals3rhsSbAA0A4Type_p_tF":{"name":"equals(rhs:)","abstract":"Undocumented","parent_name":"Bool"},"Extensions/Bool.html#/s:Sb8MixpanelE17tweakViewDataTypeAA05TweakcdE0OvpZ":{"name":"tweakViewDataType","abstract":"TweakableType supports the boolean type","parent_name":"Bool"},"Extensions/Float.html#/s:Sf8MixpanelE25isValidNestedTypeAndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"Checks if this object has nested object types that Mixpanel supports.","parent_name":"Float"},"Extensions/Float.html#/s:Sf8MixpanelE6equals3rhsSbAA0A4Type_p_tF":{"name":"equals(rhs:)","abstract":"Undocumented","parent_name":"Float"},"Extensions/Double.html#/s:Sd8MixpanelE25isValidNestedTypeAndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"Checks if this object has nested object types that Mixpanel supports.","parent_name":"Double"},"Extensions/Double.html#/s:Sd8MixpanelE6equals3rhsSbAA0A4Type_p_tF":{"name":"equals(rhs:)","abstract":"Undocumented","parent_name":"Double"},"Extensions/Double.html#/s:Sd8MixpanelE17tweakViewDataTypeAA05TweakcdE0OvpZ":{"name":"tweakViewDataType","abstract":"TweakableType supports the double type","parent_name":"Double"},"Extensions/UInt.html#/s:Su8MixpanelE25isValidNestedTypeAndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"Checks if this object has nested object types that Mixpanel supports.","parent_name":"UInt"},"Extensions/UInt.html#/s:Su8MixpanelE6equals3rhsSbAA0A4Type_p_tF":{"name":"equals(rhs:)","abstract":"Undocumented","parent_name":"UInt"},"Extensions/Int.html#/s:Si8MixpanelE25isValidNestedTypeAndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"Checks if this object has nested object types that Mixpanel supports.","parent_name":"Int"},"Extensions/Int.html#/s:Si8MixpanelE6equals3rhsSbAA0A4Type_p_tF":{"name":"equals(rhs:)","abstract":"Undocumented","parent_name":"Int"},"Extensions/Int.html#/s:Si8MixpanelE17tweakViewDataTypeAA05TweakcdE0OvpZ":{"name":"tweakViewDataType","abstract":"TweakableType supports the integer type","parent_name":"Int"},"Extensions/NSNumber.html#/s:So8NSNumberC8MixpanelE25isValidNestedTypeAndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"Checks if this object has nested object types that Mixpanel supports.","parent_name":"NSNumber"},"Extensions/NSNumber.html#/s:So8NSNumberC8MixpanelE6equals3rhsSbAC0B4Type_p_tF":{"name":"equals(rhs:)","abstract":"Undocumented","parent_name":"NSNumber"},"Extensions/NSString.html#/s:So8NSStringC8MixpanelE25isValidNestedTypeAndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"Checks if this object has nested object types that Mixpanel supports.","parent_name":"NSString"},"Extensions/NSString.html#/s:So8NSStringC8MixpanelE6equals3rhsSbAC0B4Type_p_tF":{"name":"equals(rhs:)","abstract":"Undocumented","parent_name":"NSString"},"Extensions/String.html#/s:SS8MixpanelE25isValidNestedTypeAndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"Checks if this object has nested object types that Mixpanel supports.","parent_name":"String"},"Extensions/String.html#/s:SS8MixpanelE6equals3rhsSbAA0A4Type_p_tF":{"name":"equals(rhs:)","abstract":"Undocumented","parent_name":"String"},"Extensions/String.html#/s:SS8MixpanelE17tweakViewDataTypeAA05TweakcdE0OvpZ":{"name":"tweakViewDataType","abstract":"TweakableType supports the string type","parent_name":"String"},"Extensions/Optional.html#/s:Sq8MixpanelE25isValidNestedTypeAndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"Checks if this object has nested object types that Mixpanel supports.","parent_name":"Optional"},"Extensions/Optional.html#/s:Sq8MixpanelE6equals3rhsSbAA0A4Type_p_tF":{"name":"equals(rhs:)","abstract":"Undocumented","parent_name":"Optional"},"Extensions/Array.html#/s:Sa8MixpanelE25isValidNestedTypeAndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"Checks if this object has nested object types that Mixpanel supports.","parent_name":"Array"},"Extensions/Array.html#/s:Sa8MixpanelE6equals3rhsSbAA0A4Type_p_tF":{"name":"equals(rhs:)","abstract":"Undocumented","parent_name":"Array"},"Extensions/UIColor.html#/s:So7UIColorC8MixpanelE5MPHexABSu_tcfc":{"name":"init(MPHex:)","abstract":"The shorthand four-digit hexadecimal representation of color with alpha.","parent_name":"UIColor"},"Extensions/UIColor.html":{"name":"UIColor"},"Extensions/Array.html":{"name":"Array"},"Extensions/Optional.html":{"name":"Optional"},"Extensions/String.html":{"name":"String"},"Extensions/NSString.html":{"name":"NSString"},"Extensions/NSNumber.html":{"name":"NSNumber"},"Extensions/Int.html":{"name":"Int"},"Extensions/UInt.html":{"name":"UInt"},"Extensions/Double.html":{"name":"Double"},"Extensions/Float.html":{"name":"Float"},"Extensions/Bool.html":{"name":"Bool"},"Extensions/Date.html":{"name":"Date"},"Extensions/URL.html":{"name":"URL"},"Extensions/NSNull.html":{"name":"NSNull"},"Extensions/NSArray.html":{"name":"NSArray"},"Extensions/Dictionary.html":{"name":"Dictionary"},"Extensions/CGFloat.html":{"name":"CGFloat"},"Enums/TweakViewDataType.html#/s:8Mixpanel17TweakViewDataTypeO7booleanyA2CmF":{"name":"boolean","abstract":"TweakableType supports the boolean type","parent_name":"TweakViewDataType"},"Enums/TweakViewDataType.html#/s:8Mixpanel17TweakViewDataTypeO7integeryA2CmF":{"name":"integer","abstract":"TweakableType supports the integer type","parent_name":"TweakViewDataType"},"Enums/TweakViewDataType.html#/s:8Mixpanel17TweakViewDataTypeO7cgFloatyA2CmF":{"name":"cgFloat","abstract":"TweakableType supports the cgFloat type","parent_name":"TweakViewDataType"},"Enums/TweakViewDataType.html#/s:8Mixpanel17TweakViewDataTypeO6doubleyA2CmF":{"name":"double","abstract":"TweakableType supports the double type","parent_name":"TweakViewDataType"},"Enums/TweakViewDataType.html#/s:8Mixpanel17TweakViewDataTypeO6stringyA2CmF":{"name":"string","abstract":"TweakableType supports the string type","parent_name":"TweakViewDataType"},"Enums/TweakViewDataType.html":{"name":"TweakViewDataType","abstract":"The data types that are currently supported for SwiftTweaks."},"Classes/MixpanelPushNotifications.html#/s:8Mixpanel0A17PushNotificationsC02isaB12NotificationySbSo21UNNotificationContentCFZ":{"name":"isMixpanelPushNotification(_:)","abstract":"Undocumented","parent_name":"MixpanelPushNotifications"},"Classes/MixpanelPushNotifications.html#/s:8Mixpanel0A17PushNotificationsC10trackEvent_10properties7requestySS_SDySSAA0A4Type_pGSo21UNNotificationRequestCtFZ":{"name":"trackEvent(_:properties:request:)","abstract":"Undocumented","parent_name":"MixpanelPushNotifications"},"Classes/People.html#/s:8Mixpanel6PeopleC10ignoreTimeSbvp":{"name":"ignoreTime","abstract":"controls the $ignore_time property in any subsequent MixpanelPeople operation.","parent_name":"People"},"Classes/People.html#/s:8Mixpanel6PeopleC18addPushDeviceTokenyy10Foundation4DataVF":{"name":"addPushDeviceToken(_:)","abstract":"Register the given device to receive push notifications.","parent_name":"People"},"Classes/People.html#/s:8Mixpanel6PeopleC25removeAllPushDeviceTokensyyF":{"name":"removeAllPushDeviceTokens()","abstract":"Unregister the given device to receive push notifications.","parent_name":"People"},"Classes/People.html#/s:8Mixpanel6PeopleC21removePushDeviceTokenyy10Foundation4DataVF":{"name":"removePushDeviceToken(_:)","abstract":"Unregister a specific device token from the ability to receive push notifications.","parent_name":"People"},"Classes/People.html#/s:8Mixpanel6PeopleC3set10propertiesySDySSAA0A4Type_pG_tF":{"name":"set(properties:)","abstract":"Set properties on the current user in Mixpanel People.","parent_name":"People"},"Classes/People.html#/s:8Mixpanel6PeopleC3set8property2toySS_AA0A4Type_ptF":{"name":"set(property:to:)","abstract":"Convenience method for setting a single property in Mixpanel People.","parent_name":"People"},"Classes/People.html#/s:8Mixpanel6PeopleC7setOnce10propertiesySDySSAA0A4Type_pG_tF":{"name":"setOnce(properties:)","abstract":"Set properties on the current user in Mixpanel People, but doesn’t overwrite if","parent_name":"People"},"Classes/People.html#/s:8Mixpanel6PeopleC5unset10propertiesySaySSG_tF":{"name":"unset(properties:)","abstract":"Remove a list of properties and their values from the current user’s profile","parent_name":"People"},"Classes/People.html#/s:8Mixpanel6PeopleC9increment10propertiesySDySSAA0A4Type_pG_tF":{"name":"increment(properties:)","abstract":"Increment the given numeric properties by the given values.","parent_name":"People"},"Classes/People.html#/s:8Mixpanel6PeopleC9increment8property2byySS_SdtF":{"name":"increment(property:by:)","abstract":"Convenience method for incrementing a single numeric property by the specified","parent_name":"People"},"Classes/People.html#/s:8Mixpanel6PeopleC6append10propertiesySDySSAA0A4Type_pG_tF":{"name":"append(properties:)","abstract":"Append values to list properties.","parent_name":"People"},"Classes/People.html#/s:8Mixpanel6PeopleC6remove10propertiesySDySSAA0A4Type_pG_tF":{"name":"remove(properties:)","abstract":"Removes list properties.","parent_name":"People"},"Classes/People.html#/s:8Mixpanel6PeopleC5union10propertiesySDySSAA0A4Type_pG_tF":{"name":"union(properties:)","abstract":"Union list properties.","parent_name":"People"},"Classes/People.html#/s:8Mixpanel6PeopleC11trackCharge6amount10propertiesySd_SDySSAA0A4Type_pGSgtF":{"name":"trackCharge(amount:properties:)","abstract":"Track money spent by the current user for revenue analytics and associate","parent_name":"People"},"Classes/People.html#/s:8Mixpanel6PeopleC12clearChargesyyF":{"name":"clearCharges()","abstract":"Delete current user’s revenue history.","parent_name":"People"},"Classes/People.html#/s:8Mixpanel6PeopleC10deleteUseryyF":{"name":"deleteUser()","abstract":"Delete current user’s record from Mixpanel People.","parent_name":"People"},"Classes/MixpanelNotificationServiceExtension.html#/c:@M@Mixpanel@objc(cs)MixpanelNotificationServiceExtension(im)didReceiveNotificationRequest:withContentHandler:":{"name":"didReceive(_:withContentHandler:)","abstract":"Undocumented","parent_name":"MixpanelNotificationServiceExtension"},"Classes/MixpanelNotificationServiceExtension.html#/c:@M@Mixpanel@objc(cs)MixpanelNotificationServiceExtension(im)serviceExtensionTimeWillExpire":{"name":"serviceExtensionTimeWillExpire()","abstract":"Undocumented","parent_name":"MixpanelNotificationServiceExtension"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC8apiTokenSSvp":{"name":"apiToken","abstract":"apiToken string that identifies the project to track data to","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC8delegateAA0A8Delegate_pSgvp":{"name":"delegate","abstract":"The a MixpanelDelegate object that gives control over Mixpanel network activity.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC10distinctIdSSvp":{"name":"distinctId","abstract":"distinctId string that uniquely identifies the current user.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC11anonymousIdSSSgvp":{"name":"anonymousId","abstract":"anonymousId string that uniquely identifies the device.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC6userIdSSSgvp":{"name":"userId","abstract":"userId string that identify is called with.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC22hadPersistedDistinctIdSbSgvp":{"name":"hadPersistedDistinctId","abstract":"hadPersistedDistinctId is a boolean value which specifies that the stored distinct_id","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC5aliasSSSgvp":{"name":"alias","abstract":"alias string that uniquely identifies the current user.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC6peopleAA6PeopleCSgvp":{"name":"people","abstract":"Accessor to the Mixpanel People API object.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC28showNetworkActivityIndicatorSbvp":{"name":"showNetworkActivityIndicator","abstract":"Controls whether to show spinning network activity indicator when flushing","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC27trackAutomaticEventsEnabledSbSgvp":{"name":"trackAutomaticEventsEnabled","abstract":"This allows enabling or disabling collecting common mobile events","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC13flushIntervalSdvp":{"name":"flushInterval","abstract":"Flush timer’s interval.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC17flushOnBackgroundSbvp":{"name":"flushOnBackground","abstract":"Control whether the library should flush data to Mixpanel when the app","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC26useIPAddressForGeoLocationSbvp":{"name":"useIPAddressForGeoLocation","abstract":"Controls whether to automatically send the client IP Address as part of","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC9serverURLSSvp":{"name":"serverURL","abstract":"The base URL used for Mixpanel API requests.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:s28CustomDebugStringConvertibleP16debugDescriptionSSvp":{"name":"debugDescription","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC14loggingEnabledSbvp":{"name":"loggingEnabled","abstract":"This allows enabling or disabling of all Mixpanel logs at run time.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC4nameSSvp":{"name":"name","abstract":"A unique identifier for this MixpanelInstance","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC29enableVisualEditorForCodelessSbvp":{"name":"enableVisualEditorForCodeless","abstract":"Controls whether to enable the visual editor for codeless on mixpanel.com","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC24checkForVariantsOnActiveSbvp":{"name":"checkForVariantsOnActive","abstract":"Controls whether to automatically check for A/B test variants for the","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC28checkForNotificationOnActiveSbvp":{"name":"checkForNotificationOnActive","abstract":"Controls whether to automatically check for notifications for the","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC24showNotificationOnActiveSbvp":{"name":"showNotificationOnActive","abstract":"Controls whether to automatically check for and show in-app notifications","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC32miniNotificationPresentationTimeSdvp":{"name":"miniNotificationPresentationTime","abstract":"Determines the time, in seconds, that a mini notification will remain on","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC22minimumSessionDurations6UInt64Vvp":{"name":"minimumSessionDuration","abstract":"The minimum session duration (ms) that is tracked in automatic events.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC22maximumSessionDurations6UInt64Vvp":{"name":"maximumSessionDuration","abstract":"The maximum session duration (ms) that is tracked in automatic events.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC8identify10distinctId9usePeople10completionySS_SbyycSgtF":{"name":"identify(distinctId:usePeople:completion:)","abstract":"Sets the distinct ID of the current user.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC11createAlias_10distinctId9usePeople10completionySS_SSSbyycSgtF":{"name":"createAlias(_:distinctId:usePeople:completion:)","abstract":"The alias method creates an alias which Mixpanel will use to remap one id to another.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC5reset10completionyyycSg_tF":{"name":"reset(completion:)","abstract":"Clears all stored properties including the distinct Id.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC7archiveyyF":{"name":"archive()","abstract":"Writes current project info including the distinct Id, super properties,","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/archive()":{"name":"archive()","abstract":"Writes current project info including the distinct Id, super properties,","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC5flush10completionyyycSg_tF":{"name":"flush(completion:)","abstract":"Uploads queued data to the Mixpanel server.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC5track5event10propertiesySSSg_SDySSAA0A4Type_pGSgtF":{"name":"track(event:properties:)","abstract":"Tracks an event with properties.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC15trackWithGroups5event10properties6groupsySSSg_SDySSAA0A4Type_pGSgAKtF":{"name":"trackWithGroups(event:properties:groups:)","abstract":"Tracks an event with properties and to specific groups.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC8getGroup8groupKey0E2IDAA0D0CSS_AA0A4Type_ptF":{"name":"getGroup(groupKey:groupID:)","abstract":"Undocumented","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC4time5eventySS_tF":{"name":"time(event:)","abstract":"Starts a timer that will be stopped and added as a property when a","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC16eventElapsedTime0C0SdSS_tF":{"name":"eventElapsedTime(event:)","abstract":"Retrieves the time elapsed for the named event since time(event:) was called.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC16clearTimedEventsyyF":{"name":"clearTimedEvents()","abstract":"Clears all current event timers.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC15clearTimedEvent5eventySS_tF":{"name":"clearTimedEvent(event:)","abstract":"Clears the event timer for the named event.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC22currentSuperPropertiesSDySSypGyF":{"name":"currentSuperProperties()","abstract":"Returns the currently set super properties.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC20clearSuperPropertiesyyF":{"name":"clearSuperProperties()","abstract":"Clears all currently set super properties.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC23registerSuperPropertiesyySDySSAA0A4Type_pGF":{"name":"registerSuperProperties(_:)","abstract":"Registers super properties, overwriting ones that have already been set.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC27registerSuperPropertiesOnce_12defaultValueySDySSAA0A4Type_pG_AaF_pSgtF":{"name":"registerSuperPropertiesOnce(_:defaultValue:)","abstract":"Registers super properties without overwriting ones that have already been set,","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC23unregisterSuperPropertyyySSF":{"name":"unregisterSuperProperty(_:)","abstract":"Removes a previously registered super property.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC8setGroup8groupKey0E2IDySS_AA0A4Type_ptF":{"name":"setGroup(groupKey:groupID:)","abstract":"Convenience method to set a single group the user belongs to.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC8setGroup8groupKey0E3IDsySS_SayAA0A4Type_pGtF":{"name":"setGroup(groupKey:groupIDs:)","abstract":"Set the groups this user belongs to.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC8addGroup8groupKey0E2IDySS_AA0A4Type_ptF":{"name":"addGroup(groupKey:groupID:)","abstract":"Add a group to this user’s membership for a particular group key","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC11removeGroup8groupKey0E2IDySS_AA0A4Type_ptF":{"name":"removeGroup(groupKey:groupID:)","abstract":"Remove a group from this user’s membership for a particular group key","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC14optOutTrackingyyF":{"name":"optOutTracking()","abstract":"Opt out tracking.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC13optInTracking10distinctId10propertiesySSSg_SDySSAA0A4Type_pGSgtF":{"name":"optInTracking(distinctId:properties:)","abstract":"Opt in tracking.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC19hasOptedOutTrackingSbyF":{"name":"hasOptedOutTracking()","abstract":"Returns if the current user has opted out tracking.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC15joinExperiments8callbackyyycSg_tF":{"name":"joinExperiments(callback:)","abstract":"Join any experiments (A/B tests) that are available for the current user.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC16showNotificationyyF":{"name":"showNotification()","abstract":"Shows a notification if one is available.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC16showNotification4typeySS_tF":{"name":"showNotification(type:)","abstract":"Shows a notification with the given type if one is available.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC16showNotification2IDySi_tF":{"name":"showNotification(ID:)","abstract":"Shows a notification with the given ID","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC24fetchNotificationPayload10completionyySDySSyXlGSgc_tF":{"name":"fetchNotificationPayload(completion:)","abstract":"Returns the payload of a notification if available","parent_name":"MixpanelInstance"},"Classes/Mixpanel.html#/s:8MixpanelAAC10initialize5token13launchOptions13flushInterval12instanceName21automaticPushTracking06optOutL9ByDefaultAA0A8InstanceCSS_SDySo019UIApplicationLaunchE3KeyaypGSgSdSSS2btFZ":{"name":"initialize(token:launchOptions:flushInterval:instanceName:automaticPushTracking:optOutTrackingByDefault:)","abstract":"Initializes an instance of the API with the given project token.","parent_name":"Mixpanel"},"Classes/Mixpanel.html#/initialize(token:flushInterval:instanceName:optOutTrackingByDefault:)":{"name":"initialize(token:flushInterval:instanceName:optOutTrackingByDefault:)","abstract":"Initializes an instance of the API with the given project token (MAC OS ONLY).","parent_name":"Mixpanel"},"Classes/Mixpanel.html#/s:8MixpanelAAC11getInstance4nameAA0aC0CSgSS_tFZ":{"name":"getInstance(name:)","abstract":"Gets the mixpanel instance with the given name","parent_name":"Mixpanel"},"Classes/Mixpanel.html#/s:8MixpanelAAC12mainInstanceAA0aC0CyFZ":{"name":"mainInstance()","abstract":"Returns the main instance that was initialized.","parent_name":"Mixpanel"},"Classes/Mixpanel.html#/s:8MixpanelAAC15setMainInstance4nameySS_tFZ":{"name":"setMainInstance(name:)","abstract":"Sets the main instance based on the instance name","parent_name":"Mixpanel"},"Classes/Mixpanel.html#/s:8MixpanelAAC14removeInstance4nameySS_tFZ":{"name":"removeInstance(name:)","abstract":"Removes an unneeded Mixpanel instance based on its name","parent_name":"Mixpanel"},"Classes/Group.html#/s:8Mixpanel5GroupC3set10propertiesySDySSAA0A4Type_pG_tF":{"name":"set(properties:)","abstract":"Sets properties on this group.","parent_name":"Group"},"Classes/Group.html#/s:8Mixpanel5GroupC3set8property2toySS_AA0A4Type_ptF":{"name":"set(property:to:)","abstract":"Convenience method for setting a single property in Mixpanel Groups.","parent_name":"Group"},"Classes/Group.html#/s:8Mixpanel5GroupC7setOnce10propertiesySDySSAA0A4Type_pG_tF":{"name":"setOnce(properties:)","abstract":"Sets properties on the current Mixpanel Group, but doesn’t overwrite if","parent_name":"Group"},"Classes/Group.html#/s:8Mixpanel5GroupC5unset8propertyySS_tF":{"name":"unset(property:)","abstract":"Remove a property and its value from a group’s profile in Mixpanel Groups.","parent_name":"Group"},"Classes/Group.html#/s:8Mixpanel5GroupC6remove3key5valueySS_AA0A4Type_ptF":{"name":"remove(key:value:)","abstract":"Removes list properties.","parent_name":"Group"},"Classes/Group.html#/s:8Mixpanel5GroupC5union3key6valuesySS_SayAA0A4Type_pGtF":{"name":"union(key:values:)","abstract":"Union list properties.","parent_name":"Group"},"Classes/Group.html#/s:8Mixpanel5GroupC06deleteB0yyF":{"name":"deleteGroup()","abstract":"Delete group’s record from Mixpanel Groups.","parent_name":"Group"},"Classes/Group.html":{"name":"Group","abstract":"Access to the Mixpanel Groups API, available through the getGroup function from"},"Classes/Mixpanel.html":{"name":"Mixpanel","abstract":"The primary class for integrating Mixpanel with your app."},"Classes/MixpanelInstance.html":{"name":"MixpanelInstance","abstract":"The class that represents the Mixpanel Instance"},"Classes/MixpanelNotificationServiceExtension.html":{"name":"MixpanelNotificationServiceExtension","abstract":"Undocumented"},"Classes/People.html":{"name":"People","abstract":"Access to the Mixpanel People API, available as an accessible variable from"},"Classes/MixpanelPushNotifications.html":{"name":"MixpanelPushNotifications","abstract":"Undocumented"},"Classes.html#/s:8Mixpanel10TweakStoreC":{"name":"TweakStore","abstract":"Looks up the persisted state for tweaks."},"Classes.html":{"name":"Classes","abstract":"The following classes are available globally."},"Enums.html":{"name":"Enumerations","abstract":"The following enumerations are available globally."},"Extensions.html":{"name":"Extensions","abstract":"The following extensions are available globally."},"Functions.html":{"name":"Functions","abstract":"The following functions are available globally."},"Protocols.html":{"name":"Protocols","abstract":"The following protocols are available globally."},"Structs.html":{"name":"Structures","abstract":"The following structures are available globally."},"Typealiases.html":{"name":"Type Aliases","abstract":"The following type aliases are available globally."}} \ No newline at end of file diff --git a/docs/undocumented.json b/docs/undocumented.json index 1e31bd6a..75baf9b9 100644 --- a/docs/undocumented.json +++ b/docs/undocumented.json @@ -9,7 +9,7 @@ }, { "file": "/Users/zihejia/Documents/Projects/Develop/mixpanel-swift/Sources/MixpanelInstance.swift", - "line": 1296, + "line": 1335, "symbol": "MixpanelInstance.getGroup(groupKey:groupID:)", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented"
Import Mixpanel into AppDelegate.swift, and initialize Mixpanel within application:didFinishLaunchingWithOptions: -
application:didFinishLaunchingWithOptions:
func application(_ application: UIApplication, +func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool { + ... Mixpanel.initialize(token: "MIXPANEL_TOKEN") + Mixpanel.mainInstance().track(event: "Sign Up", properties: [ + "source": "Pat's affiliate site", + "Opted out of email": true + ]) + ... }
You initialize your Mixpanel instance with the token provided to you on mixpanel.com.
After installing the library into your iOS app, Mixpanel will automatically collect common mobile events. You can enable/ disable automatic collection through your project settings.
To interact with the instance and track additional events, you can either use the mixpanel instance given when initializing:
mixpanel.track(event: "Tracked Event!") -
I want to stop tracking an event/event property in Mixpanel. Is that possible?
or you can directly fetch the instance and use it from the Mixpanel object:
Mixpanel.mainInstance().track(event: "Tracked Event!") -
Yes, in Lexicon, you can intercept and drop incoming events or properties. Mixpanel won’t store any new data for the event or property you select to drop. See this article for more information.
You’re done! You’ve successfully integrated the Mixpanel Swift SDK into your app. To stay up to speed on important SDK releases and updates, star or watch our repository on Github.
I have a test user I would like to opt out of tracking. How do I do that?
Have any questions? Reach out to support@mixpanel.com to speak to someone smart, quickly.
Mixpanel’s client-side tracking library contains the optOutTracking() method, which will set the user’s local opt-out state to “true” and will prevent data from being sent from a user’s device. More detailed instructions can be found in the section, Opting users out of tracking.
First enable Mixpanel push notifications in your app. Then for Rich Push Notifications, you’ll need to integrate your application with the MixpanelNotificationServiceExtension.
Why aren’t my events showing up?
The Mixpanel SDK comes with a custom Notification Service Extension used to render rich media, custom action buttons, and track when push notifications are received. To enable these features, you will need to integrate it into your application.
To preserve battery life and customer bandwidth, the Mixpanel library doesn’t send the events you record immediately. Instead, it sends batches to the Mixpanel servers every 60 seconds while your application is running, as well as when the application transitions to the background. You can call flush() manually if you want to force a flush at a particular moment.
Mixpanel.mainInstance().flush() +
- -
If your events are still not showing up after 60 seconds, check if you have opted out of tracking. You can also enable Mixpanel debugging and logging, it allows you to see the debug output from the Mixpanel library. To enable it, set loggingEnabled to true.
Mixpanel.mainInstance().loggingEnabled = true +
Add the following to the end of your Podfile:
Podfile
target 'NotificationService' do - use_frameworks! +Starting with iOS 14.5, do I need to request the user’s permission through the AppTrackingTransparency framework to use Mixpanel? - pod 'Mixpanel-swift' -end -
Starting with iOS 14.5, do I need to request the user’s permission through the AppTrackingTransparency framework to use Mixpanel?
No, Mixpanel does not use IDFA so it does not require user permission through the AppTrackingTransparency(ATT) framework.
Then run pod install
If I use Mixpanel, how do I answer app privacy questions for the App Store?
Replace the contents of your NotificationService.swift file with the following:
NotificationService.swift
import Mixpanel +Please refer to our Apple App Developer Privacy Guidance +I want to know more! -class NotificationService: MixpanelNotificationServiceExtension {} -
Please refer to our Apple App Developer Privacy Guidance
In your AppDelegate.swift file, you need to call MixpanelPushNotifications.handleResponse when a push notification response is received:
AppDelegate.swift
MixpanelPushNotifications.handleResponse
@available(iOS 10.0, *) -func userNotificationCenter(_ center: UNUserNotificationCenter, didReceive response: UNNotificationResponse, withCompletionHandler completionHandler: @escaping () -> Void) { - if MixpanelPushNotifications.isMixpanelPushNotification(response.notification.request.content) { - debugPrint("Handling Mixpanel push notification response...") - MixpanelPushNotifications.handleResponse(response: response, withCompletionHandler: completionHandler) - } else { - // not a Mixpanel push notification - debugPrint("Not a Mixpanel push notification.") - completionHandler() - } -} -
No worries, here are some links that you will find useful:
This will make sure the tap actions are appropriately handled (open URL, deeplink, etc) as well as track whether a notification was tapped or dismissed.
That’s it! Your app should now be able to receive rich push notifications from Mixpanel.
Have any questions? Reach out to Mixpanel Support to speak to someone smart, quickly.
Undocumented
The default store that holds the Tweaks
setTweaks needs to be called to add the defined Tweaks into the environment.
Initializer for a Tweak for A/B Testing
Hashing for a Tweak for A/B Testing in order for it to be stored.
Creates a Tweak where T: SignedNumberType","parent_name":"Tweak"},"Structs/AnyTweak.html#/s:SH4hash4intoys6HasherVz_tF":{"name":"hash(into:)","parent_name":"AnyTweak"},"Structs/AnyTweak.html#/s:8Mixpanel8AnyTweakV12tweakClusterSayACGvp":{"name":"tweakCluster","abstract":"Allows easy tweak initialization by clustering tweaks together for A/B Testing","parent_name":"AnyTweak"},"Structs/AnyTweak.html":{"name":"AnyTweak","abstract":"A type-erasure around Tweak for A/B Testing."},"Structs/Tweak.html":{"name":"Tweak","abstract":"Tweaks let you adjust things on the fly."},"Structs/MixpanelTweaks.html":{"name":"MixpanelTweaks","abstract":"The MixpanelTweaks struct that needs to be extended to define new Tweaks for A/B testing"},"Protocols/TweakableType.html#/s:8Mixpanel13TweakableTypeP013tweakViewDataC0AA05TweakefC0OvpZ":{"name":"tweakViewDataType","abstract":"The data type of the TweakableType","parent_name":"TweakableType"},"Protocols/TweakLibraryType.html#/s:8Mixpanel16TweakLibraryTypeP12defaultStoreAA0bF0CvpZ":{"name":"defaultStore","abstract":"the default tweak store","parent_name":"TweakLibraryType"},"Protocols/TweakLibraryType.html#/s:8Mixpanel16TweakLibraryTypePAAE6assignyqd__AA0B0Vyqd__GAA09TweakableD0Rd__lFZ":{"name":"assign(_:)","abstract":"Returns the current value for a tweak from the TweakLibrary’s default store.","parent_name":"TweakLibraryType"},"Protocols/TweakLibraryType.html#/s:8Mixpanel16TweakLibraryTypePAAE4bind_7bindingyAA0B0Vyqd__G_yqd__ctAA09TweakableD0Rd__lFZ":{"name":"bind(_:binding:)","abstract":"Immediately binds the currentValue of a given tweak, and then continues to update whenever the tweak changes.","parent_name":"TweakLibraryType"},"Protocols/TweakClusterType.html#/s:8Mixpanel16TweakClusterTypeP05tweakC0SayAA03AnyB0VGvp":{"name":"tweakCluster","abstract":"The tweak cluster to allow easy initialization of Tweaks","parent_name":"TweakClusterType"},"Protocols/MixpanelType.html#/s:8Mixpanel0A4TypeP013isValidNestedB8AndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"Checks if this object has nested object types that Mixpanel supports.","parent_name":"MixpanelType"},"Protocols/MixpanelType.html#/s:8Mixpanel0A4TypeP6equals3rhsSbAaB_p_tF":{"name":"equals(rhs:)","abstract":"Undocumented","parent_name":"MixpanelType"},"Protocols/MixpanelDelegate.html#/s:8Mixpanel0A8DelegateP17mixpanelWillFlushySbAA0A8InstanceCF":{"name":"mixpanelWillFlush(_:)","abstract":"Asks the delegate if data should be uploaded to the server.","parent_name":"MixpanelDelegate"},"Protocols/MixpanelDelegate.html":{"name":"MixpanelDelegate","abstract":"Delegate protocol for controlling the Mixpanel API’s network behavior."},"Protocols/MixpanelType.html":{"name":"MixpanelType","abstract":"Property keys must be String objects and the supported value types need to conform to MixpanelType."},"Protocols/TweakClusterType.html":{"name":"TweakClusterType","abstract":"This protocol allows for easy initialization of TweakStore."},"Protocols/TweakLibraryType.html":{"name":"TweakLibraryType","abstract":"Create a public struct in your application that conforms to this protocol to declare your own tweaks!"},"Protocols/TweakableType.html":{"name":"TweakableType","abstract":"To add a new to our Tweak, make T conform to this protocol."},"Functions.html#/s:8Mixpanel2eeoiySbAA8AnyTweakV_ADtF":{"name":"==(_:_:)","abstract":"Comparator between two tweaks for A/B Testing."},"Functions.html#/s:8Mixpanel2eeoiySbAA5TweakVyxG_AEtAA13TweakableTypeRzlF":{"name":"==(_:_:)","abstract":"Comparator between two tweaks for A/B Testing."},"Extensions/CGFloat.html#/s:12CoreGraphics7CGFloatV8MixpanelE17tweakViewDataTypeAD05TweakfgH0OvpZ":{"name":"tweakViewDataType","abstract":"TweakableType supports the cgFloat type","parent_name":"CGFloat"},"Extensions/Dictionary.html#/s:SD8MixpanelE25isValidNestedTypeAndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"Checks if this object has nested object types that Mixpanel supports.","parent_name":"Dictionary"},"Extensions/Dictionary.html#/s:SD8MixpanelE6equals3rhsSbAA0A4Type_p_tF":{"name":"equals(rhs:)","abstract":"Undocumented","parent_name":"Dictionary"},"Extensions/NSArray.html#/s:So7NSArrayC8MixpanelE25isValidNestedTypeAndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"Checks if this object has nested object types that Mixpanel supports.","parent_name":"NSArray"},"Extensions/NSArray.html#/s:So7NSArrayC8MixpanelE6equals3rhsSbAC0B4Type_p_tF":{"name":"equals(rhs:)","abstract":"Undocumented","parent_name":"NSArray"},"Extensions/NSNull.html#/s:So6NSNullC8MixpanelE25isValidNestedTypeAndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"Checks if this object has nested object types that Mixpanel supports.","parent_name":"NSNull"},"Extensions/NSNull.html#/s:So6NSNullC8MixpanelE6equals3rhsSbAC0B4Type_p_tF":{"name":"equals(rhs:)","abstract":"Undocumented","parent_name":"NSNull"},"Extensions/URL.html#/s:10Foundation3URLV8MixpanelE25isValidNestedTypeAndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"Checks if this object has nested object types that Mixpanel supports.","parent_name":"URL"},"Extensions/URL.html#/s:10Foundation3URLV8MixpanelE6equals3rhsSbAD0C4Type_p_tF":{"name":"equals(rhs:)","abstract":"Undocumented","parent_name":"URL"},"Extensions/Date.html#/s:10Foundation4DateV8MixpanelE25isValidNestedTypeAndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"Checks if this object has nested object types that Mixpanel supports.","parent_name":"Date"},"Extensions/Date.html#/s:10Foundation4DateV8MixpanelE6equals3rhsSbAD0C4Type_p_tF":{"name":"equals(rhs:)","abstract":"Undocumented","parent_name":"Date"},"Extensions/Bool.html#/s:Sb8MixpanelE25isValidNestedTypeAndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"Checks if this object has nested object types that Mixpanel supports.","parent_name":"Bool"},"Extensions/Bool.html#/s:Sb8MixpanelE6equals3rhsSbAA0A4Type_p_tF":{"name":"equals(rhs:)","abstract":"Undocumented","parent_name":"Bool"},"Extensions/Bool.html#/s:Sb8MixpanelE17tweakViewDataTypeAA05TweakcdE0OvpZ":{"name":"tweakViewDataType","abstract":"TweakableType supports the boolean type","parent_name":"Bool"},"Extensions/Float.html#/s:Sf8MixpanelE25isValidNestedTypeAndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"Checks if this object has nested object types that Mixpanel supports.","parent_name":"Float"},"Extensions/Float.html#/s:Sf8MixpanelE6equals3rhsSbAA0A4Type_p_tF":{"name":"equals(rhs:)","abstract":"Undocumented","parent_name":"Float"},"Extensions/Double.html#/s:Sd8MixpanelE25isValidNestedTypeAndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"Checks if this object has nested object types that Mixpanel supports.","parent_name":"Double"},"Extensions/Double.html#/s:Sd8MixpanelE6equals3rhsSbAA0A4Type_p_tF":{"name":"equals(rhs:)","abstract":"Undocumented","parent_name":"Double"},"Extensions/Double.html#/s:Sd8MixpanelE17tweakViewDataTypeAA05TweakcdE0OvpZ":{"name":"tweakViewDataType","abstract":"TweakableType supports the double type","parent_name":"Double"},"Extensions/UInt.html#/s:Su8MixpanelE25isValidNestedTypeAndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"Checks if this object has nested object types that Mixpanel supports.","parent_name":"UInt"},"Extensions/UInt.html#/s:Su8MixpanelE6equals3rhsSbAA0A4Type_p_tF":{"name":"equals(rhs:)","abstract":"Undocumented","parent_name":"UInt"},"Extensions/Int.html#/s:Si8MixpanelE25isValidNestedTypeAndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"Checks if this object has nested object types that Mixpanel supports.","parent_name":"Int"},"Extensions/Int.html#/s:Si8MixpanelE6equals3rhsSbAA0A4Type_p_tF":{"name":"equals(rhs:)","abstract":"Undocumented","parent_name":"Int"},"Extensions/Int.html#/s:Si8MixpanelE17tweakViewDataTypeAA05TweakcdE0OvpZ":{"name":"tweakViewDataType","abstract":"TweakableType supports the integer type","parent_name":"Int"},"Extensions/NSNumber.html#/s:So8NSNumberC8MixpanelE25isValidNestedTypeAndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"Checks if this object has nested object types that Mixpanel supports.","parent_name":"NSNumber"},"Extensions/NSNumber.html#/s:So8NSNumberC8MixpanelE6equals3rhsSbAC0B4Type_p_tF":{"name":"equals(rhs:)","abstract":"Undocumented","parent_name":"NSNumber"},"Extensions/NSString.html#/s:So8NSStringC8MixpanelE25isValidNestedTypeAndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"Checks if this object has nested object types that Mixpanel supports.","parent_name":"NSString"},"Extensions/NSString.html#/s:So8NSStringC8MixpanelE6equals3rhsSbAC0B4Type_p_tF":{"name":"equals(rhs:)","abstract":"Undocumented","parent_name":"NSString"},"Extensions/String.html#/s:SS8MixpanelE25isValidNestedTypeAndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"Checks if this object has nested object types that Mixpanel supports.","parent_name":"String"},"Extensions/String.html#/s:SS8MixpanelE6equals3rhsSbAA0A4Type_p_tF":{"name":"equals(rhs:)","abstract":"Undocumented","parent_name":"String"},"Extensions/String.html#/s:SS8MixpanelE17tweakViewDataTypeAA05TweakcdE0OvpZ":{"name":"tweakViewDataType","abstract":"TweakableType supports the string type","parent_name":"String"},"Extensions/Optional.html#/s:Sq8MixpanelE25isValidNestedTypeAndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"Checks if this object has nested object types that Mixpanel supports.","parent_name":"Optional"},"Extensions/Optional.html#/s:Sq8MixpanelE6equals3rhsSbAA0A4Type_p_tF":{"name":"equals(rhs:)","abstract":"Undocumented","parent_name":"Optional"},"Extensions/Array.html#/s:Sa8MixpanelE25isValidNestedTypeAndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"Checks if this object has nested object types that Mixpanel supports.","parent_name":"Array"},"Extensions/Array.html#/s:Sa8MixpanelE6equals3rhsSbAA0A4Type_p_tF":{"name":"equals(rhs:)","abstract":"Undocumented","parent_name":"Array"},"Extensions/UIColor.html#/s:So7UIColorC8MixpanelE5MPHexABSu_tcfc":{"name":"init(MPHex:)","abstract":"The shorthand four-digit hexadecimal representation of color with alpha.","parent_name":"UIColor"},"Extensions/UIColor.html":{"name":"UIColor"},"Extensions/Array.html":{"name":"Array"},"Extensions/Optional.html":{"name":"Optional"},"Extensions/String.html":{"name":"String"},"Extensions/NSString.html":{"name":"NSString"},"Extensions/NSNumber.html":{"name":"NSNumber"},"Extensions/Int.html":{"name":"Int"},"Extensions/UInt.html":{"name":"UInt"},"Extensions/Double.html":{"name":"Double"},"Extensions/Float.html":{"name":"Float"},"Extensions/Bool.html":{"name":"Bool"},"Extensions/Date.html":{"name":"Date"},"Extensions/URL.html":{"name":"URL"},"Extensions/NSNull.html":{"name":"NSNull"},"Extensions/NSArray.html":{"name":"NSArray"},"Extensions/Dictionary.html":{"name":"Dictionary"},"Extensions/CGFloat.html":{"name":"CGFloat"},"Enums/TweakViewDataType.html#/s:8Mixpanel17TweakViewDataTypeO7booleanyA2CmF":{"name":"boolean","abstract":"TweakableType supports the boolean type","parent_name":"TweakViewDataType"},"Enums/TweakViewDataType.html#/s:8Mixpanel17TweakViewDataTypeO7integeryA2CmF":{"name":"integer","abstract":"TweakableType supports the integer type","parent_name":"TweakViewDataType"},"Enums/TweakViewDataType.html#/s:8Mixpanel17TweakViewDataTypeO7cgFloatyA2CmF":{"name":"cgFloat","abstract":"TweakableType supports the cgFloat type","parent_name":"TweakViewDataType"},"Enums/TweakViewDataType.html#/s:8Mixpanel17TweakViewDataTypeO6doubleyA2CmF":{"name":"double","abstract":"TweakableType supports the double type","parent_name":"TweakViewDataType"},"Enums/TweakViewDataType.html#/s:8Mixpanel17TweakViewDataTypeO6stringyA2CmF":{"name":"string","abstract":"TweakableType supports the string type","parent_name":"TweakViewDataType"},"Enums/TweakViewDataType.html":{"name":"TweakViewDataType","abstract":"The data types that are currently supported for SwiftTweaks."},"Classes/MixpanelPushNotifications.html#/s:8Mixpanel0A17PushNotificationsC02isaB12NotificationySbSo21UNNotificationContentCFZ":{"name":"isMixpanelPushNotification(_:)","abstract":"Undocumented","parent_name":"MixpanelPushNotifications"},"Classes/MixpanelPushNotifications.html#/s:8Mixpanel0A17PushNotificationsC10trackEvent_10properties7requestySS_SDySSAA0A4Type_pGSo21UNNotificationRequestCtFZ":{"name":"trackEvent(_:properties:request:)","abstract":"Undocumented","parent_name":"MixpanelPushNotifications"},"Classes/People.html#/s:8Mixpanel6PeopleC10ignoreTimeSbvp":{"name":"ignoreTime","abstract":"controls the $ignore_time property in any subsequent MixpanelPeople operation.","parent_name":"People"},"Classes/People.html#/s:8Mixpanel6PeopleC18addPushDeviceTokenyy10Foundation4DataVF":{"name":"addPushDeviceToken(_:)","abstract":"Register the given device to receive push notifications.","parent_name":"People"},"Classes/People.html#/s:8Mixpanel6PeopleC25removeAllPushDeviceTokensyyF":{"name":"removeAllPushDeviceTokens()","abstract":"Unregister the given device to receive push notifications.","parent_name":"People"},"Classes/People.html#/s:8Mixpanel6PeopleC21removePushDeviceTokenyy10Foundation4DataVF":{"name":"removePushDeviceToken(_:)","abstract":"Unregister a specific device token from the ability to receive push notifications.","parent_name":"People"},"Classes/People.html#/s:8Mixpanel6PeopleC3set10propertiesySDySSAA0A4Type_pG_tF":{"name":"set(properties:)","abstract":"Set properties on the current user in Mixpanel People.","parent_name":"People"},"Classes/People.html#/s:8Mixpanel6PeopleC3set8property2toySS_AA0A4Type_ptF":{"name":"set(property:to:)","abstract":"Convenience method for setting a single property in Mixpanel People.","parent_name":"People"},"Classes/People.html#/s:8Mixpanel6PeopleC7setOnce10propertiesySDySSAA0A4Type_pG_tF":{"name":"setOnce(properties:)","abstract":"Set properties on the current user in Mixpanel People, but doesn’t overwrite if","parent_name":"People"},"Classes/People.html#/s:8Mixpanel6PeopleC5unset10propertiesySaySSG_tF":{"name":"unset(properties:)","abstract":"Remove a list of properties and their values from the current user’s profile","parent_name":"People"},"Classes/People.html#/s:8Mixpanel6PeopleC9increment10propertiesySDySSAA0A4Type_pG_tF":{"name":"increment(properties:)","abstract":"Increment the given numeric properties by the given values.","parent_name":"People"},"Classes/People.html#/s:8Mixpanel6PeopleC9increment8property2byySS_SdtF":{"name":"increment(property:by:)","abstract":"Convenience method for incrementing a single numeric property by the specified","parent_name":"People"},"Classes/People.html#/s:8Mixpanel6PeopleC6append10propertiesySDySSAA0A4Type_pG_tF":{"name":"append(properties:)","abstract":"Append values to list properties.","parent_name":"People"},"Classes/People.html#/s:8Mixpanel6PeopleC6remove10propertiesySDySSAA0A4Type_pG_tF":{"name":"remove(properties:)","abstract":"Removes list properties.","parent_name":"People"},"Classes/People.html#/s:8Mixpanel6PeopleC5union10propertiesySDySSAA0A4Type_pG_tF":{"name":"union(properties:)","abstract":"Union list properties.","parent_name":"People"},"Classes/People.html#/s:8Mixpanel6PeopleC11trackCharge6amount10propertiesySd_SDySSAA0A4Type_pGSgtF":{"name":"trackCharge(amount:properties:)","abstract":"Track money spent by the current user for revenue analytics and associate","parent_name":"People"},"Classes/People.html#/s:8Mixpanel6PeopleC12clearChargesyyF":{"name":"clearCharges()","abstract":"Delete current user’s revenue history.","parent_name":"People"},"Classes/People.html#/s:8Mixpanel6PeopleC10deleteUseryyF":{"name":"deleteUser()","abstract":"Delete current user’s record from Mixpanel People.","parent_name":"People"},"Classes/MixpanelNotificationServiceExtension.html#/c:@M@Mixpanel@objc(cs)MixpanelNotificationServiceExtension(im)didReceiveNotificationRequest:withContentHandler:":{"name":"didReceive(_:withContentHandler:)","abstract":"Undocumented","parent_name":"MixpanelNotificationServiceExtension"},"Classes/MixpanelNotificationServiceExtension.html#/c:@M@Mixpanel@objc(cs)MixpanelNotificationServiceExtension(im)serviceExtensionTimeWillExpire":{"name":"serviceExtensionTimeWillExpire()","abstract":"Undocumented","parent_name":"MixpanelNotificationServiceExtension"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC8apiTokenSSvp":{"name":"apiToken","abstract":"apiToken string that identifies the project to track data to","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC8delegateAA0A8Delegate_pSgvp":{"name":"delegate","abstract":"The a MixpanelDelegate object that gives control over Mixpanel network activity.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC10distinctIdSSvp":{"name":"distinctId","abstract":"distinctId string that uniquely identifies the current user.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC11anonymousIdSSSgvp":{"name":"anonymousId","abstract":"anonymousId string that uniquely identifies the device.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC6userIdSSSgvp":{"name":"userId","abstract":"userId string that identify is called with.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC22hadPersistedDistinctIdSbSgvp":{"name":"hadPersistedDistinctId","abstract":"hadPersistedDistinctId is a boolean value which specifies that the stored distinct_id","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC5aliasSSSgvp":{"name":"alias","abstract":"alias string that uniquely identifies the current user.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC6peopleAA6PeopleCSgvp":{"name":"people","abstract":"Accessor to the Mixpanel People API object.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC28showNetworkActivityIndicatorSbvp":{"name":"showNetworkActivityIndicator","abstract":"Controls whether to show spinning network activity indicator when flushing","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC27trackAutomaticEventsEnabledSbSgvp":{"name":"trackAutomaticEventsEnabled","abstract":"This allows enabling or disabling collecting common mobile events","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC13flushIntervalSdvp":{"name":"flushInterval","abstract":"Flush timer’s interval.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC17flushOnBackgroundSbvp":{"name":"flushOnBackground","abstract":"Control whether the library should flush data to Mixpanel when the app","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC26useIPAddressForGeoLocationSbvp":{"name":"useIPAddressForGeoLocation","abstract":"Controls whether to automatically send the client IP Address as part of","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC9serverURLSSvp":{"name":"serverURL","abstract":"The base URL used for Mixpanel API requests.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:s28CustomDebugStringConvertibleP16debugDescriptionSSvp":{"name":"debugDescription","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC14loggingEnabledSbvp":{"name":"loggingEnabled","abstract":"This allows enabling or disabling of all Mixpanel logs at run time.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC4nameSSvp":{"name":"name","abstract":"A unique identifier for this MixpanelInstance","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC29enableVisualEditorForCodelessSbvp":{"name":"enableVisualEditorForCodeless","abstract":"Controls whether to enable the visual editor for codeless on mixpanel.com","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC24checkForVariantsOnActiveSbvp":{"name":"checkForVariantsOnActive","abstract":"Controls whether to automatically check for A/B test variants for the","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC28checkForNotificationOnActiveSbvp":{"name":"checkForNotificationOnActive","abstract":"Controls whether to automatically check for notifications for the","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC24showNotificationOnActiveSbvp":{"name":"showNotificationOnActive","abstract":"Controls whether to automatically check for and show in-app notifications","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC32miniNotificationPresentationTimeSdvp":{"name":"miniNotificationPresentationTime","abstract":"Determines the time, in seconds, that a mini notification will remain on","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC22minimumSessionDurations6UInt64Vvp":{"name":"minimumSessionDuration","abstract":"The minimum session duration (ms) that is tracked in automatic events.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC22maximumSessionDurations6UInt64Vvp":{"name":"maximumSessionDuration","abstract":"The maximum session duration (ms) that is tracked in automatic events.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC8identify10distinctId9usePeopleySS_SbtF":{"name":"identify(distinctId:usePeople:)","abstract":"Sets the distinct ID of the current user.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC11createAlias_10distinctId9usePeopleySS_SSSbtF":{"name":"createAlias(_:distinctId:usePeople:)","abstract":"The alias method creates an alias which Mixpanel will use to remap one id to another.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC5resetyyF":{"name":"reset()","abstract":"Clears all stored properties including the distinct Id.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC7archiveyyF":{"name":"archive()","abstract":"Writes current project info including the distinct Id, super properties,","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/archive()":{"name":"archive()","abstract":"Writes current project info including the distinct Id, super properties,","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC5flush10completionyyycSg_tF":{"name":"flush(completion:)","abstract":"Uploads queued data to the Mixpanel server.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC5track5event10propertiesySSSg_SDySSAA0A4Type_pGSgtF":{"name":"track(event:properties:)","abstract":"Tracks an event with properties.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC15trackWithGroups5event10properties6groupsySSSg_SDySSAA0A4Type_pGSgAKtF":{"name":"trackWithGroups(event:properties:groups:)","abstract":"Tracks an event with properties and to specific groups.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC8getGroup8groupKey0E2IDAA0D0CSS_AA0A4Type_ptF":{"name":"getGroup(groupKey:groupID:)","abstract":"Undocumented","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC4time5eventySS_tF":{"name":"time(event:)","abstract":"Starts a timer that will be stopped and added as a property when a","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC16eventElapsedTime0C0SdSS_tF":{"name":"eventElapsedTime(event:)","abstract":"Retrieves the time elapsed for the named event since time(event:) was called.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC16clearTimedEventsyyF":{"name":"clearTimedEvents()","abstract":"Clears all current event timers.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC15clearTimedEvent5eventySS_tF":{"name":"clearTimedEvent(event:)","abstract":"Clears the event timer for the named event.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC22currentSuperPropertiesSDySSypGyF":{"name":"currentSuperProperties()","abstract":"Returns the currently set super properties.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC20clearSuperPropertiesyyF":{"name":"clearSuperProperties()","abstract":"Clears all currently set super properties.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC23registerSuperPropertiesyySDySSAA0A4Type_pGF":{"name":"registerSuperProperties(_:)","abstract":"Registers super properties, overwriting ones that have already been set.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC27registerSuperPropertiesOnce_12defaultValueySDySSAA0A4Type_pG_AaF_pSgtF":{"name":"registerSuperPropertiesOnce(_:defaultValue:)","abstract":"Registers super properties without overwriting ones that have already been set,","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC23unregisterSuperPropertyyySSF":{"name":"unregisterSuperProperty(_:)","abstract":"Removes a previously registered super property.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC8setGroup8groupKey0E2IDySS_AA0A4Type_ptF":{"name":"setGroup(groupKey:groupID:)","abstract":"Convenience method to set a single group the user belongs to.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC8setGroup8groupKey0E3IDsySS_SayAA0A4Type_pGtF":{"name":"setGroup(groupKey:groupIDs:)","abstract":"Set the groups this user belongs to.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC8addGroup8groupKey0E2IDySS_AA0A4Type_ptF":{"name":"addGroup(groupKey:groupID:)","abstract":"Add a group to this user’s membership for a particular group key","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC11removeGroup8groupKey0E2IDySS_AA0A4Type_ptF":{"name":"removeGroup(groupKey:groupID:)","abstract":"Remove a group from this user’s membership for a particular group key","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC14optOutTrackingyyF":{"name":"optOutTracking()","abstract":"Opt out tracking.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC13optInTracking10distinctId10propertiesySSSg_SDySSAA0A4Type_pGSgtF":{"name":"optInTracking(distinctId:properties:)","abstract":"Opt in tracking.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC19hasOptedOutTrackingSbyF":{"name":"hasOptedOutTracking()","abstract":"Returns if the current user has opted out tracking.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC15joinExperiments8callbackyyycSg_tF":{"name":"joinExperiments(callback:)","abstract":"Join any experiments (A/B tests) that are available for the current user.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC16showNotificationyyF":{"name":"showNotification()","abstract":"Shows a notification if one is available.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC16showNotification4typeySS_tF":{"name":"showNotification(type:)","abstract":"Shows a notification with the given type if one is available.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC16showNotification2IDySi_tF":{"name":"showNotification(ID:)","abstract":"Shows a notification with the given ID","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC24fetchNotificationPayload10completionyySDySSyXlGSgc_tF":{"name":"fetchNotificationPayload(completion:)","abstract":"Returns the payload of a notification if available","parent_name":"MixpanelInstance"},"Classes/Mixpanel.html#/s:8MixpanelAAC10initialize5token13launchOptions13flushInterval12instanceName21automaticPushTracking06optOutL9ByDefaultAA0A8InstanceCSS_SDySo019UIApplicationLaunchE3KeyaypGSgSdSSS2btFZ":{"name":"initialize(token:launchOptions:flushInterval:instanceName:automaticPushTracking:optOutTrackingByDefault:)","abstract":"Initializes an instance of the API with the given project token.","parent_name":"Mixpanel"},"Classes/Mixpanel.html#/initialize(token:flushInterval:instanceName:optOutTrackingByDefault:)":{"name":"initialize(token:flushInterval:instanceName:optOutTrackingByDefault:)","abstract":"Initializes an instance of the API with the given project token (MAC OS ONLY).","parent_name":"Mixpanel"},"Classes/Mixpanel.html#/s:8MixpanelAAC11getInstance4nameAA0aC0CSgSS_tFZ":{"name":"getInstance(name:)","abstract":"Gets the mixpanel instance with the given name","parent_name":"Mixpanel"},"Classes/Mixpanel.html#/s:8MixpanelAAC12mainInstanceAA0aC0CyFZ":{"name":"mainInstance()","abstract":"Returns the main instance that was initialized.","parent_name":"Mixpanel"},"Classes/Mixpanel.html#/s:8MixpanelAAC15setMainInstance4nameySS_tFZ":{"name":"setMainInstance(name:)","abstract":"Sets the main instance based on the instance name","parent_name":"Mixpanel"},"Classes/Mixpanel.html#/s:8MixpanelAAC14removeInstance4nameySS_tFZ":{"name":"removeInstance(name:)","abstract":"Removes an unneeded Mixpanel instance based on its name","parent_name":"Mixpanel"},"Classes/Group.html#/s:8Mixpanel5GroupC3set10propertiesySDySSAA0A4Type_pG_tF":{"name":"set(properties:)","abstract":"Sets properties on this group.","parent_name":"Group"},"Classes/Group.html#/s:8Mixpanel5GroupC3set8property2toySS_AA0A4Type_ptF":{"name":"set(property:to:)","abstract":"Convenience method for setting a single property in Mixpanel Groups.","parent_name":"Group"},"Classes/Group.html#/s:8Mixpanel5GroupC7setOnce10propertiesySDySSAA0A4Type_pG_tF":{"name":"setOnce(properties:)","abstract":"Sets properties on the current Mixpanel Group, but doesn’t overwrite if","parent_name":"Group"},"Classes/Group.html#/s:8Mixpanel5GroupC5unset8propertyySS_tF":{"name":"unset(property:)","abstract":"Remove a property and its value from a group’s profile in Mixpanel Groups.","parent_name":"Group"},"Classes/Group.html#/s:8Mixpanel5GroupC6remove3key5valueySS_AA0A4Type_ptF":{"name":"remove(key:value:)","abstract":"Removes list properties.","parent_name":"Group"},"Classes/Group.html#/s:8Mixpanel5GroupC5union3key6valuesySS_SayAA0A4Type_pGtF":{"name":"union(key:values:)","abstract":"Union list properties.","parent_name":"Group"},"Classes/Group.html#/s:8Mixpanel5GroupC06deleteB0yyF":{"name":"deleteGroup()","abstract":"Delete group’s record from Mixpanel Groups.","parent_name":"Group"},"Classes/Group.html":{"name":"Group","abstract":"Access to the Mixpanel Groups API, available through the getGroup function from"},"Classes/Mixpanel.html":{"name":"Mixpanel","abstract":"The primary class for integrating Mixpanel with your app."},"Classes/MixpanelInstance.html":{"name":"MixpanelInstance","abstract":"The class that represents the Mixpanel Instance"},"Classes/MixpanelNotificationServiceExtension.html":{"name":"MixpanelNotificationServiceExtension","abstract":"Undocumented"},"Classes/People.html":{"name":"People","abstract":"Access to the Mixpanel People API, available as an accessible variable from"},"Classes/MixpanelPushNotifications.html":{"name":"MixpanelPushNotifications","abstract":"Undocumented"},"Classes.html#/s:8Mixpanel10TweakStoreC":{"name":"TweakStore","abstract":"Looks up the persisted state for tweaks."},"Classes.html":{"name":"Classes","abstract":"The following classes are available globally."},"Enums.html":{"name":"Enumerations","abstract":"The following enumerations are available globally."},"Extensions.html":{"name":"Extensions","abstract":"The following extensions are available globally."},"Functions.html":{"name":"Functions","abstract":"The following functions are available globally."},"Protocols.html":{"name":"Protocols","abstract":"The following protocols are available globally."},"Structs.html":{"name":"Structures","abstract":"The following structures are available globally."},"Typealiases.html":{"name":"Type Aliases","abstract":"The following type aliases are available globally."}} \ No newline at end of file +{"Typealiases.html#/s:8Mixpanel10Propertiesa":{"name":"Properties","abstract":"Undocumented"},"Structs/MixpanelTweaks.html#/s:8Mixpanel0A6TweaksV12defaultStoreAA05TweakD0CvpZ":{"name":"defaultStore","abstract":"The default store that holds the Tweaks","parent_name":"MixpanelTweaks"},"Structs/MixpanelTweaks.html#/s:8Mixpanel0A6TweaksV03setB06tweaksySayAA16TweakClusterType_pG_tFZ":{"name":"setTweaks(tweaks:)","abstract":"setTweaks needs to be called to add the defined Tweaks into the environment.","parent_name":"MixpanelTweaks"},"Structs/Tweak.html#/s:8Mixpanel5TweakV9tweakName12defaultValueACyxGSS_xtcfc":{"name":"init(tweakName:defaultValue:)","abstract":"Initializer for a Tweak for A/B Testing","parent_name":"Tweak"},"Structs/Tweak.html#/s:8Mixpanel5TweakV4hash4intoys6HasherVz_tF":{"name":"hash(into:)","abstract":"Hashing for a Tweak for A/B Testing in order for it to be stored.","parent_name":"Tweak"},"Structs/Tweak.html#/s:8Mixpanel16TweakClusterTypeP05tweakC0SayAA03AnyB0VGvp":{"name":"tweakCluster","parent_name":"Tweak"},"Structs/Tweak.html#/s:8Mixpanel5TweakVAASLRzs13SignedNumericRzrlE9tweakName12defaultValue3min3max8stepSizeACyxGSS_xxSgA2Ktcfc":{"name":"init(tweakName:defaultValue:min:max:stepSize:)","abstract":"Creates a Tweak where T: SignedNumberType","parent_name":"Tweak"},"Structs/AnyTweak.html#/s:SH4hash4intoys6HasherVz_tF":{"name":"hash(into:)","parent_name":"AnyTweak"},"Structs/AnyTweak.html#/s:8Mixpanel8AnyTweakV12tweakClusterSayACGvp":{"name":"tweakCluster","abstract":"Allows easy tweak initialization by clustering tweaks together for A/B Testing","parent_name":"AnyTweak"},"Structs/AnyTweak.html":{"name":"AnyTweak","abstract":"A type-erasure around Tweak for A/B Testing."},"Structs/Tweak.html":{"name":"Tweak","abstract":"Tweaks let you adjust things on the fly."},"Structs/MixpanelTweaks.html":{"name":"MixpanelTweaks","abstract":"The MixpanelTweaks struct that needs to be extended to define new Tweaks for A/B testing"},"Protocols/TweakableType.html#/s:8Mixpanel13TweakableTypeP013tweakViewDataC0AA05TweakefC0OvpZ":{"name":"tweakViewDataType","abstract":"The data type of the TweakableType","parent_name":"TweakableType"},"Protocols/TweakLibraryType.html#/s:8Mixpanel16TweakLibraryTypeP12defaultStoreAA0bF0CvpZ":{"name":"defaultStore","abstract":"the default tweak store","parent_name":"TweakLibraryType"},"Protocols/TweakLibraryType.html#/s:8Mixpanel16TweakLibraryTypePAAE6assignyqd__AA0B0Vyqd__GAA09TweakableD0Rd__lFZ":{"name":"assign(_:)","abstract":"Returns the current value for a tweak from the TweakLibrary’s default store.","parent_name":"TweakLibraryType"},"Protocols/TweakLibraryType.html#/s:8Mixpanel16TweakLibraryTypePAAE4bind_7bindingyAA0B0Vyqd__G_yqd__ctAA09TweakableD0Rd__lFZ":{"name":"bind(_:binding:)","abstract":"Immediately binds the currentValue of a given tweak, and then continues to update whenever the tweak changes.","parent_name":"TweakLibraryType"},"Protocols/TweakClusterType.html#/s:8Mixpanel16TweakClusterTypeP05tweakC0SayAA03AnyB0VGvp":{"name":"tweakCluster","abstract":"The tweak cluster to allow easy initialization of Tweaks","parent_name":"TweakClusterType"},"Protocols/MixpanelType.html#/s:8Mixpanel0A4TypeP013isValidNestedB8AndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"Checks if this object has nested object types that Mixpanel supports.","parent_name":"MixpanelType"},"Protocols/MixpanelType.html#/s:8Mixpanel0A4TypeP6equals3rhsSbAaB_p_tF":{"name":"equals(rhs:)","abstract":"Undocumented","parent_name":"MixpanelType"},"Protocols/MixpanelDelegate.html#/s:8Mixpanel0A8DelegateP17mixpanelWillFlushySbAA0A8InstanceCF":{"name":"mixpanelWillFlush(_:)","abstract":"Asks the delegate if data should be uploaded to the server.","parent_name":"MixpanelDelegate"},"Protocols/MixpanelDelegate.html":{"name":"MixpanelDelegate","abstract":"Delegate protocol for controlling the Mixpanel API’s network behavior."},"Protocols/MixpanelType.html":{"name":"MixpanelType","abstract":"Property keys must be String objects and the supported value types need to conform to MixpanelType."},"Protocols/TweakClusterType.html":{"name":"TweakClusterType","abstract":"This protocol allows for easy initialization of TweakStore."},"Protocols/TweakLibraryType.html":{"name":"TweakLibraryType","abstract":"Create a public struct in your application that conforms to this protocol to declare your own tweaks!"},"Protocols/TweakableType.html":{"name":"TweakableType","abstract":"To add a new to our Tweak, make T conform to this protocol."},"Functions.html#/s:8Mixpanel2eeoiySbAA8AnyTweakV_ADtF":{"name":"==(_:_:)","abstract":"Comparator between two tweaks for A/B Testing."},"Functions.html#/s:8Mixpanel2eeoiySbAA5TweakVyxG_AEtAA13TweakableTypeRzlF":{"name":"==(_:_:)","abstract":"Comparator between two tweaks for A/B Testing."},"Extensions/CGFloat.html#/s:12CoreGraphics7CGFloatV8MixpanelE17tweakViewDataTypeAD05TweakfgH0OvpZ":{"name":"tweakViewDataType","abstract":"TweakableType supports the cgFloat type","parent_name":"CGFloat"},"Extensions/Dictionary.html#/s:SD8MixpanelE25isValidNestedTypeAndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"Checks if this object has nested object types that Mixpanel supports.","parent_name":"Dictionary"},"Extensions/Dictionary.html#/s:SD8MixpanelE6equals3rhsSbAA0A4Type_p_tF":{"name":"equals(rhs:)","abstract":"Undocumented","parent_name":"Dictionary"},"Extensions/NSArray.html#/s:So7NSArrayC8MixpanelE25isValidNestedTypeAndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"Checks if this object has nested object types that Mixpanel supports.","parent_name":"NSArray"},"Extensions/NSArray.html#/s:So7NSArrayC8MixpanelE6equals3rhsSbAC0B4Type_p_tF":{"name":"equals(rhs:)","abstract":"Undocumented","parent_name":"NSArray"},"Extensions/NSNull.html#/s:So6NSNullC8MixpanelE25isValidNestedTypeAndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"Checks if this object has nested object types that Mixpanel supports.","parent_name":"NSNull"},"Extensions/NSNull.html#/s:So6NSNullC8MixpanelE6equals3rhsSbAC0B4Type_p_tF":{"name":"equals(rhs:)","abstract":"Undocumented","parent_name":"NSNull"},"Extensions/URL.html#/s:10Foundation3URLV8MixpanelE25isValidNestedTypeAndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"Checks if this object has nested object types that Mixpanel supports.","parent_name":"URL"},"Extensions/URL.html#/s:10Foundation3URLV8MixpanelE6equals3rhsSbAD0C4Type_p_tF":{"name":"equals(rhs:)","abstract":"Undocumented","parent_name":"URL"},"Extensions/Date.html#/s:10Foundation4DateV8MixpanelE25isValidNestedTypeAndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"Checks if this object has nested object types that Mixpanel supports.","parent_name":"Date"},"Extensions/Date.html#/s:10Foundation4DateV8MixpanelE6equals3rhsSbAD0C4Type_p_tF":{"name":"equals(rhs:)","abstract":"Undocumented","parent_name":"Date"},"Extensions/Bool.html#/s:Sb8MixpanelE25isValidNestedTypeAndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"Checks if this object has nested object types that Mixpanel supports.","parent_name":"Bool"},"Extensions/Bool.html#/s:Sb8MixpanelE6equals3rhsSbAA0A4Type_p_tF":{"name":"equals(rhs:)","abstract":"Undocumented","parent_name":"Bool"},"Extensions/Bool.html#/s:Sb8MixpanelE17tweakViewDataTypeAA05TweakcdE0OvpZ":{"name":"tweakViewDataType","abstract":"TweakableType supports the boolean type","parent_name":"Bool"},"Extensions/Float.html#/s:Sf8MixpanelE25isValidNestedTypeAndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"Checks if this object has nested object types that Mixpanel supports.","parent_name":"Float"},"Extensions/Float.html#/s:Sf8MixpanelE6equals3rhsSbAA0A4Type_p_tF":{"name":"equals(rhs:)","abstract":"Undocumented","parent_name":"Float"},"Extensions/Double.html#/s:Sd8MixpanelE25isValidNestedTypeAndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"Checks if this object has nested object types that Mixpanel supports.","parent_name":"Double"},"Extensions/Double.html#/s:Sd8MixpanelE6equals3rhsSbAA0A4Type_p_tF":{"name":"equals(rhs:)","abstract":"Undocumented","parent_name":"Double"},"Extensions/Double.html#/s:Sd8MixpanelE17tweakViewDataTypeAA05TweakcdE0OvpZ":{"name":"tweakViewDataType","abstract":"TweakableType supports the double type","parent_name":"Double"},"Extensions/UInt.html#/s:Su8MixpanelE25isValidNestedTypeAndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"Checks if this object has nested object types that Mixpanel supports.","parent_name":"UInt"},"Extensions/UInt.html#/s:Su8MixpanelE6equals3rhsSbAA0A4Type_p_tF":{"name":"equals(rhs:)","abstract":"Undocumented","parent_name":"UInt"},"Extensions/Int.html#/s:Si8MixpanelE25isValidNestedTypeAndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"Checks if this object has nested object types that Mixpanel supports.","parent_name":"Int"},"Extensions/Int.html#/s:Si8MixpanelE6equals3rhsSbAA0A4Type_p_tF":{"name":"equals(rhs:)","abstract":"Undocumented","parent_name":"Int"},"Extensions/Int.html#/s:Si8MixpanelE17tweakViewDataTypeAA05TweakcdE0OvpZ":{"name":"tweakViewDataType","abstract":"TweakableType supports the integer type","parent_name":"Int"},"Extensions/NSNumber.html#/s:So8NSNumberC8MixpanelE25isValidNestedTypeAndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"Checks if this object has nested object types that Mixpanel supports.","parent_name":"NSNumber"},"Extensions/NSNumber.html#/s:So8NSNumberC8MixpanelE6equals3rhsSbAC0B4Type_p_tF":{"name":"equals(rhs:)","abstract":"Undocumented","parent_name":"NSNumber"},"Extensions/NSString.html#/s:So8NSStringC8MixpanelE25isValidNestedTypeAndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"Checks if this object has nested object types that Mixpanel supports.","parent_name":"NSString"},"Extensions/NSString.html#/s:So8NSStringC8MixpanelE6equals3rhsSbAC0B4Type_p_tF":{"name":"equals(rhs:)","abstract":"Undocumented","parent_name":"NSString"},"Extensions/String.html#/s:SS8MixpanelE25isValidNestedTypeAndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"Checks if this object has nested object types that Mixpanel supports.","parent_name":"String"},"Extensions/String.html#/s:SS8MixpanelE6equals3rhsSbAA0A4Type_p_tF":{"name":"equals(rhs:)","abstract":"Undocumented","parent_name":"String"},"Extensions/String.html#/s:SS8MixpanelE17tweakViewDataTypeAA05TweakcdE0OvpZ":{"name":"tweakViewDataType","abstract":"TweakableType supports the string type","parent_name":"String"},"Extensions/Optional.html#/s:Sq8MixpanelE25isValidNestedTypeAndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"Checks if this object has nested object types that Mixpanel supports.","parent_name":"Optional"},"Extensions/Optional.html#/s:Sq8MixpanelE6equals3rhsSbAA0A4Type_p_tF":{"name":"equals(rhs:)","abstract":"Undocumented","parent_name":"Optional"},"Extensions/Array.html#/s:Sa8MixpanelE25isValidNestedTypeAndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"Checks if this object has nested object types that Mixpanel supports.","parent_name":"Array"},"Extensions/Array.html#/s:Sa8MixpanelE6equals3rhsSbAA0A4Type_p_tF":{"name":"equals(rhs:)","abstract":"Undocumented","parent_name":"Array"},"Extensions/UIColor.html#/s:So7UIColorC8MixpanelE5MPHexABSu_tcfc":{"name":"init(MPHex:)","abstract":"The shorthand four-digit hexadecimal representation of color with alpha.","parent_name":"UIColor"},"Extensions/UIColor.html":{"name":"UIColor"},"Extensions/Array.html":{"name":"Array"},"Extensions/Optional.html":{"name":"Optional"},"Extensions/String.html":{"name":"String"},"Extensions/NSString.html":{"name":"NSString"},"Extensions/NSNumber.html":{"name":"NSNumber"},"Extensions/Int.html":{"name":"Int"},"Extensions/UInt.html":{"name":"UInt"},"Extensions/Double.html":{"name":"Double"},"Extensions/Float.html":{"name":"Float"},"Extensions/Bool.html":{"name":"Bool"},"Extensions/Date.html":{"name":"Date"},"Extensions/URL.html":{"name":"URL"},"Extensions/NSNull.html":{"name":"NSNull"},"Extensions/NSArray.html":{"name":"NSArray"},"Extensions/Dictionary.html":{"name":"Dictionary"},"Extensions/CGFloat.html":{"name":"CGFloat"},"Enums/TweakViewDataType.html#/s:8Mixpanel17TweakViewDataTypeO7booleanyA2CmF":{"name":"boolean","abstract":"TweakableType supports the boolean type","parent_name":"TweakViewDataType"},"Enums/TweakViewDataType.html#/s:8Mixpanel17TweakViewDataTypeO7integeryA2CmF":{"name":"integer","abstract":"TweakableType supports the integer type","parent_name":"TweakViewDataType"},"Enums/TweakViewDataType.html#/s:8Mixpanel17TweakViewDataTypeO7cgFloatyA2CmF":{"name":"cgFloat","abstract":"TweakableType supports the cgFloat type","parent_name":"TweakViewDataType"},"Enums/TweakViewDataType.html#/s:8Mixpanel17TweakViewDataTypeO6doubleyA2CmF":{"name":"double","abstract":"TweakableType supports the double type","parent_name":"TweakViewDataType"},"Enums/TweakViewDataType.html#/s:8Mixpanel17TweakViewDataTypeO6stringyA2CmF":{"name":"string","abstract":"TweakableType supports the string type","parent_name":"TweakViewDataType"},"Enums/TweakViewDataType.html":{"name":"TweakViewDataType","abstract":"The data types that are currently supported for SwiftTweaks."},"Classes/MixpanelPushNotifications.html#/s:8Mixpanel0A17PushNotificationsC02isaB12NotificationySbSo21UNNotificationContentCFZ":{"name":"isMixpanelPushNotification(_:)","abstract":"Undocumented","parent_name":"MixpanelPushNotifications"},"Classes/MixpanelPushNotifications.html#/s:8Mixpanel0A17PushNotificationsC10trackEvent_10properties7requestySS_SDySSAA0A4Type_pGSo21UNNotificationRequestCtFZ":{"name":"trackEvent(_:properties:request:)","abstract":"Undocumented","parent_name":"MixpanelPushNotifications"},"Classes/People.html#/s:8Mixpanel6PeopleC10ignoreTimeSbvp":{"name":"ignoreTime","abstract":"controls the $ignore_time property in any subsequent MixpanelPeople operation.","parent_name":"People"},"Classes/People.html#/s:8Mixpanel6PeopleC18addPushDeviceTokenyy10Foundation4DataVF":{"name":"addPushDeviceToken(_:)","abstract":"Register the given device to receive push notifications.","parent_name":"People"},"Classes/People.html#/s:8Mixpanel6PeopleC25removeAllPushDeviceTokensyyF":{"name":"removeAllPushDeviceTokens()","abstract":"Unregister the given device to receive push notifications.","parent_name":"People"},"Classes/People.html#/s:8Mixpanel6PeopleC21removePushDeviceTokenyy10Foundation4DataVF":{"name":"removePushDeviceToken(_:)","abstract":"Unregister a specific device token from the ability to receive push notifications.","parent_name":"People"},"Classes/People.html#/s:8Mixpanel6PeopleC3set10propertiesySDySSAA0A4Type_pG_tF":{"name":"set(properties:)","abstract":"Set properties on the current user in Mixpanel People.","parent_name":"People"},"Classes/People.html#/s:8Mixpanel6PeopleC3set8property2toySS_AA0A4Type_ptF":{"name":"set(property:to:)","abstract":"Convenience method for setting a single property in Mixpanel People.","parent_name":"People"},"Classes/People.html#/s:8Mixpanel6PeopleC7setOnce10propertiesySDySSAA0A4Type_pG_tF":{"name":"setOnce(properties:)","abstract":"Set properties on the current user in Mixpanel People, but doesn’t overwrite if","parent_name":"People"},"Classes/People.html#/s:8Mixpanel6PeopleC5unset10propertiesySaySSG_tF":{"name":"unset(properties:)","abstract":"Remove a list of properties and their values from the current user’s profile","parent_name":"People"},"Classes/People.html#/s:8Mixpanel6PeopleC9increment10propertiesySDySSAA0A4Type_pG_tF":{"name":"increment(properties:)","abstract":"Increment the given numeric properties by the given values.","parent_name":"People"},"Classes/People.html#/s:8Mixpanel6PeopleC9increment8property2byySS_SdtF":{"name":"increment(property:by:)","abstract":"Convenience method for incrementing a single numeric property by the specified","parent_name":"People"},"Classes/People.html#/s:8Mixpanel6PeopleC6append10propertiesySDySSAA0A4Type_pG_tF":{"name":"append(properties:)","abstract":"Append values to list properties.","parent_name":"People"},"Classes/People.html#/s:8Mixpanel6PeopleC6remove10propertiesySDySSAA0A4Type_pG_tF":{"name":"remove(properties:)","abstract":"Removes list properties.","parent_name":"People"},"Classes/People.html#/s:8Mixpanel6PeopleC5union10propertiesySDySSAA0A4Type_pG_tF":{"name":"union(properties:)","abstract":"Union list properties.","parent_name":"People"},"Classes/People.html#/s:8Mixpanel6PeopleC11trackCharge6amount10propertiesySd_SDySSAA0A4Type_pGSgtF":{"name":"trackCharge(amount:properties:)","abstract":"Track money spent by the current user for revenue analytics and associate","parent_name":"People"},"Classes/People.html#/s:8Mixpanel6PeopleC12clearChargesyyF":{"name":"clearCharges()","abstract":"Delete current user’s revenue history.","parent_name":"People"},"Classes/People.html#/s:8Mixpanel6PeopleC10deleteUseryyF":{"name":"deleteUser()","abstract":"Delete current user’s record from Mixpanel People.","parent_name":"People"},"Classes/MixpanelNotificationServiceExtension.html#/c:@M@Mixpanel@objc(cs)MixpanelNotificationServiceExtension(im)didReceiveNotificationRequest:withContentHandler:":{"name":"didReceive(_:withContentHandler:)","abstract":"Undocumented","parent_name":"MixpanelNotificationServiceExtension"},"Classes/MixpanelNotificationServiceExtension.html#/c:@M@Mixpanel@objc(cs)MixpanelNotificationServiceExtension(im)serviceExtensionTimeWillExpire":{"name":"serviceExtensionTimeWillExpire()","abstract":"Undocumented","parent_name":"MixpanelNotificationServiceExtension"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC8apiTokenSSvp":{"name":"apiToken","abstract":"apiToken string that identifies the project to track data to","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC8delegateAA0A8Delegate_pSgvp":{"name":"delegate","abstract":"The a MixpanelDelegate object that gives control over Mixpanel network activity.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC10distinctIdSSvp":{"name":"distinctId","abstract":"distinctId string that uniquely identifies the current user.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC11anonymousIdSSSgvp":{"name":"anonymousId","abstract":"anonymousId string that uniquely identifies the device.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC6userIdSSSgvp":{"name":"userId","abstract":"userId string that identify is called with.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC22hadPersistedDistinctIdSbSgvp":{"name":"hadPersistedDistinctId","abstract":"hadPersistedDistinctId is a boolean value which specifies that the stored distinct_id","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC5aliasSSSgvp":{"name":"alias","abstract":"alias string that uniquely identifies the current user.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC6peopleAA6PeopleCSgvp":{"name":"people","abstract":"Accessor to the Mixpanel People API object.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC28showNetworkActivityIndicatorSbvp":{"name":"showNetworkActivityIndicator","abstract":"Controls whether to show spinning network activity indicator when flushing","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC27trackAutomaticEventsEnabledSbSgvp":{"name":"trackAutomaticEventsEnabled","abstract":"This allows enabling or disabling collecting common mobile events","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC13flushIntervalSdvp":{"name":"flushInterval","abstract":"Flush timer’s interval.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC17flushOnBackgroundSbvp":{"name":"flushOnBackground","abstract":"Control whether the library should flush data to Mixpanel when the app","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC26useIPAddressForGeoLocationSbvp":{"name":"useIPAddressForGeoLocation","abstract":"Controls whether to automatically send the client IP Address as part of","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC9serverURLSSvp":{"name":"serverURL","abstract":"The base URL used for Mixpanel API requests.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:s28CustomDebugStringConvertibleP16debugDescriptionSSvp":{"name":"debugDescription","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC14loggingEnabledSbvp":{"name":"loggingEnabled","abstract":"This allows enabling or disabling of all Mixpanel logs at run time.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC4nameSSvp":{"name":"name","abstract":"A unique identifier for this MixpanelInstance","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC29enableVisualEditorForCodelessSbvp":{"name":"enableVisualEditorForCodeless","abstract":"Controls whether to enable the visual editor for codeless on mixpanel.com","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC24checkForVariantsOnActiveSbvp":{"name":"checkForVariantsOnActive","abstract":"Controls whether to automatically check for A/B test variants for the","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC28checkForNotificationOnActiveSbvp":{"name":"checkForNotificationOnActive","abstract":"Controls whether to automatically check for notifications for the","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC24showNotificationOnActiveSbvp":{"name":"showNotificationOnActive","abstract":"Controls whether to automatically check for and show in-app notifications","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC32miniNotificationPresentationTimeSdvp":{"name":"miniNotificationPresentationTime","abstract":"Determines the time, in seconds, that a mini notification will remain on","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC22minimumSessionDurations6UInt64Vvp":{"name":"minimumSessionDuration","abstract":"The minimum session duration (ms) that is tracked in automatic events.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC22maximumSessionDurations6UInt64Vvp":{"name":"maximumSessionDuration","abstract":"The maximum session duration (ms) that is tracked in automatic events.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC8identify10distinctId9usePeople10completionySS_SbyycSgtF":{"name":"identify(distinctId:usePeople:completion:)","abstract":"Sets the distinct ID of the current user.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC11createAlias_10distinctId9usePeople10completionySS_SSSbyycSgtF":{"name":"createAlias(_:distinctId:usePeople:completion:)","abstract":"The alias method creates an alias which Mixpanel will use to remap one id to another.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC5reset10completionyyycSg_tF":{"name":"reset(completion:)","abstract":"Clears all stored properties including the distinct Id.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC7archiveyyF":{"name":"archive()","abstract":"Writes current project info including the distinct Id, super properties,","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/archive()":{"name":"archive()","abstract":"Writes current project info including the distinct Id, super properties,","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC5flush10completionyyycSg_tF":{"name":"flush(completion:)","abstract":"Uploads queued data to the Mixpanel server.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC5track5event10propertiesySSSg_SDySSAA0A4Type_pGSgtF":{"name":"track(event:properties:)","abstract":"Tracks an event with properties.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC15trackWithGroups5event10properties6groupsySSSg_SDySSAA0A4Type_pGSgAKtF":{"name":"trackWithGroups(event:properties:groups:)","abstract":"Tracks an event with properties and to specific groups.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC8getGroup8groupKey0E2IDAA0D0CSS_AA0A4Type_ptF":{"name":"getGroup(groupKey:groupID:)","abstract":"Undocumented","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC4time5eventySS_tF":{"name":"time(event:)","abstract":"Starts a timer that will be stopped and added as a property when a","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC16eventElapsedTime0C0SdSS_tF":{"name":"eventElapsedTime(event:)","abstract":"Retrieves the time elapsed for the named event since time(event:) was called.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC16clearTimedEventsyyF":{"name":"clearTimedEvents()","abstract":"Clears all current event timers.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC15clearTimedEvent5eventySS_tF":{"name":"clearTimedEvent(event:)","abstract":"Clears the event timer for the named event.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC22currentSuperPropertiesSDySSypGyF":{"name":"currentSuperProperties()","abstract":"Returns the currently set super properties.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC20clearSuperPropertiesyyF":{"name":"clearSuperProperties()","abstract":"Clears all currently set super properties.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC23registerSuperPropertiesyySDySSAA0A4Type_pGF":{"name":"registerSuperProperties(_:)","abstract":"Registers super properties, overwriting ones that have already been set.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC27registerSuperPropertiesOnce_12defaultValueySDySSAA0A4Type_pG_AaF_pSgtF":{"name":"registerSuperPropertiesOnce(_:defaultValue:)","abstract":"Registers super properties without overwriting ones that have already been set,","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC23unregisterSuperPropertyyySSF":{"name":"unregisterSuperProperty(_:)","abstract":"Removes a previously registered super property.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC8setGroup8groupKey0E2IDySS_AA0A4Type_ptF":{"name":"setGroup(groupKey:groupID:)","abstract":"Convenience method to set a single group the user belongs to.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC8setGroup8groupKey0E3IDsySS_SayAA0A4Type_pGtF":{"name":"setGroup(groupKey:groupIDs:)","abstract":"Set the groups this user belongs to.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC8addGroup8groupKey0E2IDySS_AA0A4Type_ptF":{"name":"addGroup(groupKey:groupID:)","abstract":"Add a group to this user’s membership for a particular group key","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC11removeGroup8groupKey0E2IDySS_AA0A4Type_ptF":{"name":"removeGroup(groupKey:groupID:)","abstract":"Remove a group from this user’s membership for a particular group key","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC14optOutTrackingyyF":{"name":"optOutTracking()","abstract":"Opt out tracking.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC13optInTracking10distinctId10propertiesySSSg_SDySSAA0A4Type_pGSgtF":{"name":"optInTracking(distinctId:properties:)","abstract":"Opt in tracking.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC19hasOptedOutTrackingSbyF":{"name":"hasOptedOutTracking()","abstract":"Returns if the current user has opted out tracking.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC15joinExperiments8callbackyyycSg_tF":{"name":"joinExperiments(callback:)","abstract":"Join any experiments (A/B tests) that are available for the current user.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC16showNotificationyyF":{"name":"showNotification()","abstract":"Shows a notification if one is available.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC16showNotification4typeySS_tF":{"name":"showNotification(type:)","abstract":"Shows a notification with the given type if one is available.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC16showNotification2IDySi_tF":{"name":"showNotification(ID:)","abstract":"Shows a notification with the given ID","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC24fetchNotificationPayload10completionyySDySSyXlGSgc_tF":{"name":"fetchNotificationPayload(completion:)","abstract":"Returns the payload of a notification if available","parent_name":"MixpanelInstance"},"Classes/Mixpanel.html#/s:8MixpanelAAC10initialize5token13launchOptions13flushInterval12instanceName21automaticPushTracking06optOutL9ByDefaultAA0A8InstanceCSS_SDySo019UIApplicationLaunchE3KeyaypGSgSdSSS2btFZ":{"name":"initialize(token:launchOptions:flushInterval:instanceName:automaticPushTracking:optOutTrackingByDefault:)","abstract":"Initializes an instance of the API with the given project token.","parent_name":"Mixpanel"},"Classes/Mixpanel.html#/initialize(token:flushInterval:instanceName:optOutTrackingByDefault:)":{"name":"initialize(token:flushInterval:instanceName:optOutTrackingByDefault:)","abstract":"Initializes an instance of the API with the given project token (MAC OS ONLY).","parent_name":"Mixpanel"},"Classes/Mixpanel.html#/s:8MixpanelAAC11getInstance4nameAA0aC0CSgSS_tFZ":{"name":"getInstance(name:)","abstract":"Gets the mixpanel instance with the given name","parent_name":"Mixpanel"},"Classes/Mixpanel.html#/s:8MixpanelAAC12mainInstanceAA0aC0CyFZ":{"name":"mainInstance()","abstract":"Returns the main instance that was initialized.","parent_name":"Mixpanel"},"Classes/Mixpanel.html#/s:8MixpanelAAC15setMainInstance4nameySS_tFZ":{"name":"setMainInstance(name:)","abstract":"Sets the main instance based on the instance name","parent_name":"Mixpanel"},"Classes/Mixpanel.html#/s:8MixpanelAAC14removeInstance4nameySS_tFZ":{"name":"removeInstance(name:)","abstract":"Removes an unneeded Mixpanel instance based on its name","parent_name":"Mixpanel"},"Classes/Group.html#/s:8Mixpanel5GroupC3set10propertiesySDySSAA0A4Type_pG_tF":{"name":"set(properties:)","abstract":"Sets properties on this group.","parent_name":"Group"},"Classes/Group.html#/s:8Mixpanel5GroupC3set8property2toySS_AA0A4Type_ptF":{"name":"set(property:to:)","abstract":"Convenience method for setting a single property in Mixpanel Groups.","parent_name":"Group"},"Classes/Group.html#/s:8Mixpanel5GroupC7setOnce10propertiesySDySSAA0A4Type_pG_tF":{"name":"setOnce(properties:)","abstract":"Sets properties on the current Mixpanel Group, but doesn’t overwrite if","parent_name":"Group"},"Classes/Group.html#/s:8Mixpanel5GroupC5unset8propertyySS_tF":{"name":"unset(property:)","abstract":"Remove a property and its value from a group’s profile in Mixpanel Groups.","parent_name":"Group"},"Classes/Group.html#/s:8Mixpanel5GroupC6remove3key5valueySS_AA0A4Type_ptF":{"name":"remove(key:value:)","abstract":"Removes list properties.","parent_name":"Group"},"Classes/Group.html#/s:8Mixpanel5GroupC5union3key6valuesySS_SayAA0A4Type_pGtF":{"name":"union(key:values:)","abstract":"Union list properties.","parent_name":"Group"},"Classes/Group.html#/s:8Mixpanel5GroupC06deleteB0yyF":{"name":"deleteGroup()","abstract":"Delete group’s record from Mixpanel Groups.","parent_name":"Group"},"Classes/Group.html":{"name":"Group","abstract":"Access to the Mixpanel Groups API, available through the getGroup function from"},"Classes/Mixpanel.html":{"name":"Mixpanel","abstract":"The primary class for integrating Mixpanel with your app."},"Classes/MixpanelInstance.html":{"name":"MixpanelInstance","abstract":"The class that represents the Mixpanel Instance"},"Classes/MixpanelNotificationServiceExtension.html":{"name":"MixpanelNotificationServiceExtension","abstract":"Undocumented"},"Classes/People.html":{"name":"People","abstract":"Access to the Mixpanel People API, available as an accessible variable from"},"Classes/MixpanelPushNotifications.html":{"name":"MixpanelPushNotifications","abstract":"Undocumented"},"Classes.html#/s:8Mixpanel10TweakStoreC":{"name":"TweakStore","abstract":"Looks up the persisted state for tweaks."},"Classes.html":{"name":"Classes","abstract":"The following classes are available globally."},"Enums.html":{"name":"Enumerations","abstract":"The following enumerations are available globally."},"Extensions.html":{"name":"Extensions","abstract":"The following extensions are available globally."},"Functions.html":{"name":"Functions","abstract":"The following functions are available globally."},"Protocols.html":{"name":"Protocols","abstract":"The following protocols are available globally."},"Structs.html":{"name":"Structures","abstract":"The following structures are available globally."},"Typealiases.html":{"name":"Type Aliases","abstract":"The following type aliases are available globally."}} \ No newline at end of file diff --git a/docs/docsets/Mixpanel.docset/Contents/Resources/docSet.dsidx b/docs/docsets/Mixpanel.docset/Contents/Resources/docSet.dsidx index 527a2f16..360cfdea 100644 Binary files a/docs/docsets/Mixpanel.docset/Contents/Resources/docSet.dsidx and b/docs/docsets/Mixpanel.docset/Contents/Resources/docSet.dsidx differ diff --git a/docs/docsets/Mixpanel.tgz b/docs/docsets/Mixpanel.tgz index d376333f..8b9cbd2e 100644 Binary files a/docs/docsets/Mixpanel.tgz and b/docs/docsets/Mixpanel.tgz differ diff --git a/docs/index.html b/docs/index.html index 3fbf72db..e8aa8cd9 100644 --- a/docs/index.html +++ b/docs/index.html @@ -16,7 +16,7 @@ - Mixpanel 2.10.2 Docs (87% documented) + Mixpanel 2.10.3 Docs (87% documented) View on GitHub @@ -188,8 +188,7 @@ - - + @@ -201,196 +200,152 @@ Table of Contents -Introduction +Overview +Quick Start Guide -Current supported features - -Installation - - -CocoaPods -Carthage -Manual Installation - -Initializing and Usage - - -Integrate -Start tracking +Install Mixpanel +Initialize Mixpanel +Send Data +Check for Success +Complete Code Example +FAQ +I want to know more! -Introduction +Overview Welcome to the official Mixpanel Swift Library -The Mixpanel Swift library for iOS is an open-source project, and we’d love to see your contributions! +The Mixpanel Swift library for iOS is an open-source project, and we’d love to see your contributions! We’d also love for you to come and work with us! Check out Jobs for details. If you are using Objective-C, we recommend using our Objective-C Library. - -Current supported features - -Our master branch and our releases are now on Swift 5. - -If you wish to use our Swift 4.2 implementation, please point to the v2.6.1 release. For Swift 4/4.1 implementation, please point to the v2.4.5 release. For Swift 3 implementation, please point to the v2.2.3 release. For Swift 2.3 implementation, please point to the v1.0.1 release. +Check out our Advanced iOS Swift Guide for additional advanced configurations and use cases, like setting up your project with European Union data storage. +Quick Start Guide -Our Swift library fully supports all of the Mixpanel features and has full parity with the Objective-C Library. +Our master branch and our releases are on Swift 5. If you wish to use our Swift 4.2 implementation, please point to the v2.6.1 release. For Swift 4/4.1 implementation, please point to the v2.4.5 release. For Swift 3 implementation, please point to the v2.2.3 release. +1. Install Mixpanel - -Installation +You will need your project token for initializing your library. You can get your project token from project settings. +Installation Option 1: Swift Package Manager -On Jan 1, 2022, we’ll remove the Messages & Experiments feature from Mixpanel. For now, you can choose to opt in to our beta version without Messages & Experiments feature support. You can use Swift Package Manager to install the beta version: +The easiest way to get Mixpanel into your iOS project is to use Swift Package Manager(requires Xcode 12+). In Xcode, select File > Swift Packages > Add Package Dependency. -Follow the prompts using the URL for this repository and point to the branch 3.0.0.beta +Follow the prompts using the Github URL for Mixpanel Swift library and a minimum semantic version of v2.8.0. -Swift Package Manager -It requires Xcode 12+ and v2.8.0+ release - -Important: It only supports for iOS, if you need integrations for other platforms(tvOS or macOS), please use other integration methods instead or use our beta version by pointing to the branch 3.0.0.beta +On Jan 1, 2022, we’ll remove the Messages & Experiments feature from Mixpanel. For now, you can choose to opt in to our beta version without Messages & Experiments feature support. You can use Swift Package Manager to point to the branch 3.0.0.beta +Installation Option 2: CocoaPods -In Xcode, select File > Swift Packages > Add Package Dependency. -Follow the prompts using the URL for this repository and a minimum semantic version of v2.8.0 +If this is your first time using CocoaPods, Install CocoaPods using gem install cocoapods. Otherwise, continue to Step 3. +Run pod setup to create a local CocoaPods spec mirror. +Create a Podfile in your Xcode project directory by running pod init in your terminal, edit the Podfile generated, and add the following line: pod 'Mixpanel-swift'. +Run pod install in your Xcode project directory. CocoaPods should download and install the Mixpanel library, and create a new Xcode workspace. Open up this workspace in Xcode or typing open *.xcworkspace in your terminal. +Installation Option 3: Carthage -Check out our swift integration guide » for more info. -CocoaPods - -Our current release only supports CocoaPods version 1.4.0+ - -Mixpanel supports CocoaPods for easy installation. -To Install, see our swift integration guide » - -For iOS, tvOS, macOS, and App Extension integrations: - -pod 'Mixpanel-swift' - - -Carthage - -Mixpanel also supports Carthage to package your dependencies as a framework. Include the following dependency in your Cartfile: - -github "mixpanel/mixpanel-swift" - -Check out the Carthage docs » for more info. +Mixpanel supports Carthage to package your dependencies as a framework. Include the following dependency in your Cartfile: +github "mixpanel/mixpanel-swift" + - -Manual Installation +Check out the Carthage docs for more info. +2. Initialize Mixpanel -To help users stay up to date with the latest version of our Swift SDK, we always recommend integrating our SDK via CocoaPods, which simplifies version updates and dependency management. However, there are cases where users can’t use CocoaPods. Not to worry, just follow these manual installation steps and you’ll be all set. -Step 1: Add as a Submodule +Import Mixpanel into AppDelegate.swift, and initialize Mixpanel within application:didFinishLaunchingWithOptions: +import Mixpanel -Add Mixpanel as a submodule to your local git repo like so: -git submodule add git@github.com:mixpanel/mixpanel-swift.git +func application(_ application: UIApplication, + didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool { + ... + Mixpanel.initialize(token: "MIXPANEL_TOKEN") + ... +} -Now the Mixpanel project and its files should be in your project folder! -Step 2: Drag Mixpanel to your project +See all configuration options +3. Send Data -Drag the Mixpanel.xcodeproj inside your sample project under the main sample project file: - - -Step 3: Embed the framework +Let’s get started by sending event data. You can send an event from anywhere in your application. Better understand user behavior by storing details that are specific to the event (properties). After initializing the library, Mixpanel will automatically collect common mobile events. You can enable/disable automatic collection through your project settings. Also, Mixpanel automatically tracks some properties by default. learn more +Mixpanel.mainInstance().track(event: "Sign Up", properties: [ + "source": "Pat's affiliate site", + "Opted out of email": true +]) + -Select your app .xcodeproj file. Under “General”, add the Mixpanel framework as an embedded binary: +In addition to event data, you can also send user profile data. We recommend this after completing the quickstart guide. +4. Check for Success - +Open up Live View in Mixpanel to view incoming events. - -Initializing and Usage +Once data hits our API, it generally takes ~60 seconds for it to be processed, stored, and queryable in your project. +Complete Code Example - -Integrate +Here’s a runnable code example that covers everything in this quickstart guide. +import Mixpanel -Import Mixpanel into AppDelegate.swift, and initialize Mixpanel within application:didFinishLaunchingWithOptions: - -func application(_ application: UIApplication, +func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool { + ... Mixpanel.initialize(token: "MIXPANEL_TOKEN") + Mixpanel.mainInstance().track(event: "Sign Up", properties: [ + "source": "Pat's affiliate site", + "Opted out of email": true + ]) + ... } +FAQ -You initialize your Mixpanel instance with the token provided to you on mixpanel.com. - - -Start tracking - -After installing the library into your iOS app, Mixpanel will automatically collect common mobile events. You can enable/ disable automatic collection through your project settings. - -To interact with the instance and track additional events, you can either use the mixpanel instance given when initializing: -mixpanel.track(event: "Tracked Event!") - +I want to stop tracking an event/event property in Mixpanel. Is that possible? -or you can directly fetch the instance and use it from the Mixpanel object: -Mixpanel.mainInstance().track(event: "Tracked Event!") - +Yes, in Lexicon, you can intercept and drop incoming events or properties. Mixpanel won’t store any new data for the event or property you select to drop. See this article for more information. -You’re done! You’ve successfully integrated the Mixpanel Swift SDK into your app. To stay up to speed on important SDK releases and updates, star or watch our repository on Github. +I have a test user I would like to opt out of tracking. How do I do that? -Have any questions? Reach out to support@mixpanel.com to speak to someone smart, quickly. -Using Mixpanel Push Notifications +Mixpanel’s client-side tracking library contains the optOutTracking() method, which will set the user’s local opt-out state to “true” and will prevent data from being sent from a user’s device. More detailed instructions can be found in the section, Opting users out of tracking. -First enable Mixpanel push notifications in your app. Then for Rich Push Notifications, you’ll need to integrate your application with the MixpanelNotificationServiceExtension. -Integrating the MixpanelNotificationServiceExtension +Why aren’t my events showing up? -The Mixpanel SDK comes with a custom Notification Service Extension used to render rich media, custom action buttons, and track when push notifications are received. To enable these features, you will need to integrate it into your application. -1. Create a new Notification Service Extension Target +To preserve battery life and customer bandwidth, the Mixpanel library doesn’t send the events you record immediately. Instead, it sends batches to the Mixpanel servers every 60 seconds while your application is running, as well as when the application transitions to the background. You can call flush() manually if you want to force a flush at a particular moment. +Mixpanel.mainInstance().flush() + - - - -2. Add Mixpanel-swift as a dependency +If your events are still not showing up after 60 seconds, check if you have opted out of tracking. You can also enable Mixpanel debugging and logging, it allows you to see the debug output from the Mixpanel library. To enable it, set loggingEnabled to true. +Mixpanel.mainInstance().loggingEnabled = true + -Add the following to the end of your Podfile: -target 'NotificationService' do - use_frameworks! +Starting with iOS 14.5, do I need to request the user’s permission through the AppTrackingTransparency framework to use Mixpanel? - pod 'Mixpanel-swift' -end - +No, Mixpanel does not use IDFA so it does not require user permission through the AppTrackingTransparency(ATT) framework. -Then run pod install -3. Extend your NotificationService from MixpanelNotificationServiceExtension +If I use Mixpanel, how do I answer app privacy questions for the App Store? -Replace the contents of your NotificationService.swift file with the following: -import Mixpanel +Please refer to our Apple App Developer Privacy Guidance +I want to know more! -class NotificationService: MixpanelNotificationServiceExtension {} - -4. Delegate the handling of the notification response to the Mixpanel SDK - -In your AppDelegate.swift file, you need to call MixpanelPushNotifications.handleResponse when a push notification response is received: -@available(iOS 10.0, *) -func userNotificationCenter(_ center: UNUserNotificationCenter, didReceive response: UNNotificationResponse, withCompletionHandler completionHandler: @escaping () -> Void) { - if MixpanelPushNotifications.isMixpanelPushNotification(response.notification.request.content) { - debugPrint("Handling Mixpanel push notification response...") - MixpanelPushNotifications.handleResponse(response: response, withCompletionHandler: completionHandler) - } else { - // not a Mixpanel push notification - debugPrint("Not a Mixpanel push notification.") - completionHandler() - } -} - +No worries, here are some links that you will find useful: -This will make sure the tap actions are appropriately handled (open URL, deeplink, etc) as well as track whether a notification was tapped or dismissed. -5. Run the app and send a test push notification from Mixpanel that includes an image or buttons + +Advanced iOS - Swift Guide +Sample app +Full API Reference + -That’s it! Your app should now be able to receive rich push notifications from Mixpanel. +Have any questions? Reach out to Mixpanel Support to speak to someone smart, quickly. - © 2021 Mixpanel. All rights reserved. (Last updated: 2021-06-11) + © 2021 Mixpanel. All rights reserved. (Last updated: 2021-08-13) Generated by jazzy ♪♫ v0.13.6, a Realm project. diff --git a/docs/search.json b/docs/search.json index 040a3460..dc8e93ad 100644 --- a/docs/search.json +++ b/docs/search.json @@ -1 +1 @@ -{"Typealiases.html#/s:8Mixpanel10Propertiesa":{"name":"Properties","abstract":"Undocumented"},"Structs/MixpanelTweaks.html#/s:8Mixpanel0A6TweaksV12defaultStoreAA05TweakD0CvpZ":{"name":"defaultStore","abstract":"The default store that holds the Tweaks","parent_name":"MixpanelTweaks"},"Structs/MixpanelTweaks.html#/s:8Mixpanel0A6TweaksV03setB06tweaksySayAA16TweakClusterType_pG_tFZ":{"name":"setTweaks(tweaks:)","abstract":"setTweaks needs to be called to add the defined Tweaks into the environment.","parent_name":"MixpanelTweaks"},"Structs/Tweak.html#/s:8Mixpanel5TweakV9tweakName12defaultValueACyxGSS_xtcfc":{"name":"init(tweakName:defaultValue:)","abstract":"Initializer for a Tweak for A/B Testing","parent_name":"Tweak"},"Structs/Tweak.html#/s:8Mixpanel5TweakV4hash4intoys6HasherVz_tF":{"name":"hash(into:)","abstract":"Hashing for a Tweak for A/B Testing in order for it to be stored.","parent_name":"Tweak"},"Structs/Tweak.html#/s:8Mixpanel16TweakClusterTypeP05tweakC0SayAA03AnyB0VGvp":{"name":"tweakCluster","parent_name":"Tweak"},"Structs/Tweak.html#/s:8Mixpanel5TweakVAASLRzs13SignedNumericRzrlE9tweakName12defaultValue3min3max8stepSizeACyxGSS_xxSgA2Ktcfc":{"name":"init(tweakName:defaultValue:min:max:stepSize:)","abstract":"Creates a Tweak where T: SignedNumberType","parent_name":"Tweak"},"Structs/AnyTweak.html#/s:SH4hash4intoys6HasherVz_tF":{"name":"hash(into:)","parent_name":"AnyTweak"},"Structs/AnyTweak.html#/s:8Mixpanel8AnyTweakV12tweakClusterSayACGvp":{"name":"tweakCluster","abstract":"Allows easy tweak initialization by clustering tweaks together for A/B Testing","parent_name":"AnyTweak"},"Structs/AnyTweak.html":{"name":"AnyTweak","abstract":"A type-erasure around Tweak for A/B Testing."},"Structs/Tweak.html":{"name":"Tweak","abstract":"Tweaks let you adjust things on the fly."},"Structs/MixpanelTweaks.html":{"name":"MixpanelTweaks","abstract":"The MixpanelTweaks struct that needs to be extended to define new Tweaks for A/B testing"},"Protocols/TweakableType.html#/s:8Mixpanel13TweakableTypeP013tweakViewDataC0AA05TweakefC0OvpZ":{"name":"tweakViewDataType","abstract":"The data type of the TweakableType","parent_name":"TweakableType"},"Protocols/TweakLibraryType.html#/s:8Mixpanel16TweakLibraryTypeP12defaultStoreAA0bF0CvpZ":{"name":"defaultStore","abstract":"the default tweak store","parent_name":"TweakLibraryType"},"Protocols/TweakLibraryType.html#/s:8Mixpanel16TweakLibraryTypePAAE6assignyqd__AA0B0Vyqd__GAA09TweakableD0Rd__lFZ":{"name":"assign(_:)","abstract":"Returns the current value for a tweak from the TweakLibrary’s default store.","parent_name":"TweakLibraryType"},"Protocols/TweakLibraryType.html#/s:8Mixpanel16TweakLibraryTypePAAE4bind_7bindingyAA0B0Vyqd__G_yqd__ctAA09TweakableD0Rd__lFZ":{"name":"bind(_:binding:)","abstract":"Immediately binds the currentValue of a given tweak, and then continues to update whenever the tweak changes.","parent_name":"TweakLibraryType"},"Protocols/TweakClusterType.html#/s:8Mixpanel16TweakClusterTypeP05tweakC0SayAA03AnyB0VGvp":{"name":"tweakCluster","abstract":"The tweak cluster to allow easy initialization of Tweaks","parent_name":"TweakClusterType"},"Protocols/MixpanelType.html#/s:8Mixpanel0A4TypeP013isValidNestedB8AndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"Checks if this object has nested object types that Mixpanel supports.","parent_name":"MixpanelType"},"Protocols/MixpanelType.html#/s:8Mixpanel0A4TypeP6equals3rhsSbAaB_p_tF":{"name":"equals(rhs:)","abstract":"Undocumented","parent_name":"MixpanelType"},"Protocols/MixpanelDelegate.html#/s:8Mixpanel0A8DelegateP17mixpanelWillFlushySbAA0A8InstanceCF":{"name":"mixpanelWillFlush(_:)","abstract":"Asks the delegate if data should be uploaded to the server.","parent_name":"MixpanelDelegate"},"Protocols/MixpanelDelegate.html":{"name":"MixpanelDelegate","abstract":"Delegate protocol for controlling the Mixpanel API’s network behavior."},"Protocols/MixpanelType.html":{"name":"MixpanelType","abstract":"Property keys must be String objects and the supported value types need to conform to MixpanelType."},"Protocols/TweakClusterType.html":{"name":"TweakClusterType","abstract":"This protocol allows for easy initialization of TweakStore."},"Protocols/TweakLibraryType.html":{"name":"TweakLibraryType","abstract":"Create a public struct in your application that conforms to this protocol to declare your own tweaks!"},"Protocols/TweakableType.html":{"name":"TweakableType","abstract":"To add a new to our Tweak, make T conform to this protocol."},"Functions.html#/s:8Mixpanel2eeoiySbAA8AnyTweakV_ADtF":{"name":"==(_:_:)","abstract":"Comparator between two tweaks for A/B Testing."},"Functions.html#/s:8Mixpanel2eeoiySbAA5TweakVyxG_AEtAA13TweakableTypeRzlF":{"name":"==(_:_:)","abstract":"Comparator between two tweaks for A/B Testing."},"Extensions/CGFloat.html#/s:12CoreGraphics7CGFloatV8MixpanelE17tweakViewDataTypeAD05TweakfgH0OvpZ":{"name":"tweakViewDataType","abstract":"TweakableType supports the cgFloat type","parent_name":"CGFloat"},"Extensions/Dictionary.html#/s:SD8MixpanelE25isValidNestedTypeAndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"Checks if this object has nested object types that Mixpanel supports.","parent_name":"Dictionary"},"Extensions/Dictionary.html#/s:SD8MixpanelE6equals3rhsSbAA0A4Type_p_tF":{"name":"equals(rhs:)","abstract":"Undocumented","parent_name":"Dictionary"},"Extensions/NSArray.html#/s:So7NSArrayC8MixpanelE25isValidNestedTypeAndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"Checks if this object has nested object types that Mixpanel supports.","parent_name":"NSArray"},"Extensions/NSArray.html#/s:So7NSArrayC8MixpanelE6equals3rhsSbAC0B4Type_p_tF":{"name":"equals(rhs:)","abstract":"Undocumented","parent_name":"NSArray"},"Extensions/NSNull.html#/s:So6NSNullC8MixpanelE25isValidNestedTypeAndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"Checks if this object has nested object types that Mixpanel supports.","parent_name":"NSNull"},"Extensions/NSNull.html#/s:So6NSNullC8MixpanelE6equals3rhsSbAC0B4Type_p_tF":{"name":"equals(rhs:)","abstract":"Undocumented","parent_name":"NSNull"},"Extensions/URL.html#/s:10Foundation3URLV8MixpanelE25isValidNestedTypeAndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"Checks if this object has nested object types that Mixpanel supports.","parent_name":"URL"},"Extensions/URL.html#/s:10Foundation3URLV8MixpanelE6equals3rhsSbAD0C4Type_p_tF":{"name":"equals(rhs:)","abstract":"Undocumented","parent_name":"URL"},"Extensions/Date.html#/s:10Foundation4DateV8MixpanelE25isValidNestedTypeAndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"Checks if this object has nested object types that Mixpanel supports.","parent_name":"Date"},"Extensions/Date.html#/s:10Foundation4DateV8MixpanelE6equals3rhsSbAD0C4Type_p_tF":{"name":"equals(rhs:)","abstract":"Undocumented","parent_name":"Date"},"Extensions/Bool.html#/s:Sb8MixpanelE25isValidNestedTypeAndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"Checks if this object has nested object types that Mixpanel supports.","parent_name":"Bool"},"Extensions/Bool.html#/s:Sb8MixpanelE6equals3rhsSbAA0A4Type_p_tF":{"name":"equals(rhs:)","abstract":"Undocumented","parent_name":"Bool"},"Extensions/Bool.html#/s:Sb8MixpanelE17tweakViewDataTypeAA05TweakcdE0OvpZ":{"name":"tweakViewDataType","abstract":"TweakableType supports the boolean type","parent_name":"Bool"},"Extensions/Float.html#/s:Sf8MixpanelE25isValidNestedTypeAndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"Checks if this object has nested object types that Mixpanel supports.","parent_name":"Float"},"Extensions/Float.html#/s:Sf8MixpanelE6equals3rhsSbAA0A4Type_p_tF":{"name":"equals(rhs:)","abstract":"Undocumented","parent_name":"Float"},"Extensions/Double.html#/s:Sd8MixpanelE25isValidNestedTypeAndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"Checks if this object has nested object types that Mixpanel supports.","parent_name":"Double"},"Extensions/Double.html#/s:Sd8MixpanelE6equals3rhsSbAA0A4Type_p_tF":{"name":"equals(rhs:)","abstract":"Undocumented","parent_name":"Double"},"Extensions/Double.html#/s:Sd8MixpanelE17tweakViewDataTypeAA05TweakcdE0OvpZ":{"name":"tweakViewDataType","abstract":"TweakableType supports the double type","parent_name":"Double"},"Extensions/UInt.html#/s:Su8MixpanelE25isValidNestedTypeAndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"Checks if this object has nested object types that Mixpanel supports.","parent_name":"UInt"},"Extensions/UInt.html#/s:Su8MixpanelE6equals3rhsSbAA0A4Type_p_tF":{"name":"equals(rhs:)","abstract":"Undocumented","parent_name":"UInt"},"Extensions/Int.html#/s:Si8MixpanelE25isValidNestedTypeAndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"Checks if this object has nested object types that Mixpanel supports.","parent_name":"Int"},"Extensions/Int.html#/s:Si8MixpanelE6equals3rhsSbAA0A4Type_p_tF":{"name":"equals(rhs:)","abstract":"Undocumented","parent_name":"Int"},"Extensions/Int.html#/s:Si8MixpanelE17tweakViewDataTypeAA05TweakcdE0OvpZ":{"name":"tweakViewDataType","abstract":"TweakableType supports the integer type","parent_name":"Int"},"Extensions/NSNumber.html#/s:So8NSNumberC8MixpanelE25isValidNestedTypeAndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"Checks if this object has nested object types that Mixpanel supports.","parent_name":"NSNumber"},"Extensions/NSNumber.html#/s:So8NSNumberC8MixpanelE6equals3rhsSbAC0B4Type_p_tF":{"name":"equals(rhs:)","abstract":"Undocumented","parent_name":"NSNumber"},"Extensions/NSString.html#/s:So8NSStringC8MixpanelE25isValidNestedTypeAndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"Checks if this object has nested object types that Mixpanel supports.","parent_name":"NSString"},"Extensions/NSString.html#/s:So8NSStringC8MixpanelE6equals3rhsSbAC0B4Type_p_tF":{"name":"equals(rhs:)","abstract":"Undocumented","parent_name":"NSString"},"Extensions/String.html#/s:SS8MixpanelE25isValidNestedTypeAndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"Checks if this object has nested object types that Mixpanel supports.","parent_name":"String"},"Extensions/String.html#/s:SS8MixpanelE6equals3rhsSbAA0A4Type_p_tF":{"name":"equals(rhs:)","abstract":"Undocumented","parent_name":"String"},"Extensions/String.html#/s:SS8MixpanelE17tweakViewDataTypeAA05TweakcdE0OvpZ":{"name":"tweakViewDataType","abstract":"TweakableType supports the string type","parent_name":"String"},"Extensions/Optional.html#/s:Sq8MixpanelE25isValidNestedTypeAndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"Checks if this object has nested object types that Mixpanel supports.","parent_name":"Optional"},"Extensions/Optional.html#/s:Sq8MixpanelE6equals3rhsSbAA0A4Type_p_tF":{"name":"equals(rhs:)","abstract":"Undocumented","parent_name":"Optional"},"Extensions/Array.html#/s:Sa8MixpanelE25isValidNestedTypeAndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"Checks if this object has nested object types that Mixpanel supports.","parent_name":"Array"},"Extensions/Array.html#/s:Sa8MixpanelE6equals3rhsSbAA0A4Type_p_tF":{"name":"equals(rhs:)","abstract":"Undocumented","parent_name":"Array"},"Extensions/UIColor.html#/s:So7UIColorC8MixpanelE5MPHexABSu_tcfc":{"name":"init(MPHex:)","abstract":"The shorthand four-digit hexadecimal representation of color with alpha.","parent_name":"UIColor"},"Extensions/UIColor.html":{"name":"UIColor"},"Extensions/Array.html":{"name":"Array"},"Extensions/Optional.html":{"name":"Optional"},"Extensions/String.html":{"name":"String"},"Extensions/NSString.html":{"name":"NSString"},"Extensions/NSNumber.html":{"name":"NSNumber"},"Extensions/Int.html":{"name":"Int"},"Extensions/UInt.html":{"name":"UInt"},"Extensions/Double.html":{"name":"Double"},"Extensions/Float.html":{"name":"Float"},"Extensions/Bool.html":{"name":"Bool"},"Extensions/Date.html":{"name":"Date"},"Extensions/URL.html":{"name":"URL"},"Extensions/NSNull.html":{"name":"NSNull"},"Extensions/NSArray.html":{"name":"NSArray"},"Extensions/Dictionary.html":{"name":"Dictionary"},"Extensions/CGFloat.html":{"name":"CGFloat"},"Enums/TweakViewDataType.html#/s:8Mixpanel17TweakViewDataTypeO7booleanyA2CmF":{"name":"boolean","abstract":"TweakableType supports the boolean type","parent_name":"TweakViewDataType"},"Enums/TweakViewDataType.html#/s:8Mixpanel17TweakViewDataTypeO7integeryA2CmF":{"name":"integer","abstract":"TweakableType supports the integer type","parent_name":"TweakViewDataType"},"Enums/TweakViewDataType.html#/s:8Mixpanel17TweakViewDataTypeO7cgFloatyA2CmF":{"name":"cgFloat","abstract":"TweakableType supports the cgFloat type","parent_name":"TweakViewDataType"},"Enums/TweakViewDataType.html#/s:8Mixpanel17TweakViewDataTypeO6doubleyA2CmF":{"name":"double","abstract":"TweakableType supports the double type","parent_name":"TweakViewDataType"},"Enums/TweakViewDataType.html#/s:8Mixpanel17TweakViewDataTypeO6stringyA2CmF":{"name":"string","abstract":"TweakableType supports the string type","parent_name":"TweakViewDataType"},"Enums/TweakViewDataType.html":{"name":"TweakViewDataType","abstract":"The data types that are currently supported for SwiftTweaks."},"Classes/MixpanelPushNotifications.html#/s:8Mixpanel0A17PushNotificationsC02isaB12NotificationySbSo21UNNotificationContentCFZ":{"name":"isMixpanelPushNotification(_:)","abstract":"Undocumented","parent_name":"MixpanelPushNotifications"},"Classes/MixpanelPushNotifications.html#/s:8Mixpanel0A17PushNotificationsC10trackEvent_10properties7requestySS_SDySSAA0A4Type_pGSo21UNNotificationRequestCtFZ":{"name":"trackEvent(_:properties:request:)","abstract":"Undocumented","parent_name":"MixpanelPushNotifications"},"Classes/People.html#/s:8Mixpanel6PeopleC10ignoreTimeSbvp":{"name":"ignoreTime","abstract":"controls the $ignore_time property in any subsequent MixpanelPeople operation.","parent_name":"People"},"Classes/People.html#/s:8Mixpanel6PeopleC18addPushDeviceTokenyy10Foundation4DataVF":{"name":"addPushDeviceToken(_:)","abstract":"Register the given device to receive push notifications.","parent_name":"People"},"Classes/People.html#/s:8Mixpanel6PeopleC25removeAllPushDeviceTokensyyF":{"name":"removeAllPushDeviceTokens()","abstract":"Unregister the given device to receive push notifications.","parent_name":"People"},"Classes/People.html#/s:8Mixpanel6PeopleC21removePushDeviceTokenyy10Foundation4DataVF":{"name":"removePushDeviceToken(_:)","abstract":"Unregister a specific device token from the ability to receive push notifications.","parent_name":"People"},"Classes/People.html#/s:8Mixpanel6PeopleC3set10propertiesySDySSAA0A4Type_pG_tF":{"name":"set(properties:)","abstract":"Set properties on the current user in Mixpanel People.","parent_name":"People"},"Classes/People.html#/s:8Mixpanel6PeopleC3set8property2toySS_AA0A4Type_ptF":{"name":"set(property:to:)","abstract":"Convenience method for setting a single property in Mixpanel People.","parent_name":"People"},"Classes/People.html#/s:8Mixpanel6PeopleC7setOnce10propertiesySDySSAA0A4Type_pG_tF":{"name":"setOnce(properties:)","abstract":"Set properties on the current user in Mixpanel People, but doesn’t overwrite if","parent_name":"People"},"Classes/People.html#/s:8Mixpanel6PeopleC5unset10propertiesySaySSG_tF":{"name":"unset(properties:)","abstract":"Remove a list of properties and their values from the current user’s profile","parent_name":"People"},"Classes/People.html#/s:8Mixpanel6PeopleC9increment10propertiesySDySSAA0A4Type_pG_tF":{"name":"increment(properties:)","abstract":"Increment the given numeric properties by the given values.","parent_name":"People"},"Classes/People.html#/s:8Mixpanel6PeopleC9increment8property2byySS_SdtF":{"name":"increment(property:by:)","abstract":"Convenience method for incrementing a single numeric property by the specified","parent_name":"People"},"Classes/People.html#/s:8Mixpanel6PeopleC6append10propertiesySDySSAA0A4Type_pG_tF":{"name":"append(properties:)","abstract":"Append values to list properties.","parent_name":"People"},"Classes/People.html#/s:8Mixpanel6PeopleC6remove10propertiesySDySSAA0A4Type_pG_tF":{"name":"remove(properties:)","abstract":"Removes list properties.","parent_name":"People"},"Classes/People.html#/s:8Mixpanel6PeopleC5union10propertiesySDySSAA0A4Type_pG_tF":{"name":"union(properties:)","abstract":"Union list properties.","parent_name":"People"},"Classes/People.html#/s:8Mixpanel6PeopleC11trackCharge6amount10propertiesySd_SDySSAA0A4Type_pGSgtF":{"name":"trackCharge(amount:properties:)","abstract":"Track money spent by the current user for revenue analytics and associate","parent_name":"People"},"Classes/People.html#/s:8Mixpanel6PeopleC12clearChargesyyF":{"name":"clearCharges()","abstract":"Delete current user’s revenue history.","parent_name":"People"},"Classes/People.html#/s:8Mixpanel6PeopleC10deleteUseryyF":{"name":"deleteUser()","abstract":"Delete current user’s record from Mixpanel People.","parent_name":"People"},"Classes/MixpanelNotificationServiceExtension.html#/c:@M@Mixpanel@objc(cs)MixpanelNotificationServiceExtension(im)didReceiveNotificationRequest:withContentHandler:":{"name":"didReceive(_:withContentHandler:)","abstract":"Undocumented","parent_name":"MixpanelNotificationServiceExtension"},"Classes/MixpanelNotificationServiceExtension.html#/c:@M@Mixpanel@objc(cs)MixpanelNotificationServiceExtension(im)serviceExtensionTimeWillExpire":{"name":"serviceExtensionTimeWillExpire()","abstract":"Undocumented","parent_name":"MixpanelNotificationServiceExtension"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC8apiTokenSSvp":{"name":"apiToken","abstract":"apiToken string that identifies the project to track data to","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC8delegateAA0A8Delegate_pSgvp":{"name":"delegate","abstract":"The a MixpanelDelegate object that gives control over Mixpanel network activity.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC10distinctIdSSvp":{"name":"distinctId","abstract":"distinctId string that uniquely identifies the current user.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC11anonymousIdSSSgvp":{"name":"anonymousId","abstract":"anonymousId string that uniquely identifies the device.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC6userIdSSSgvp":{"name":"userId","abstract":"userId string that identify is called with.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC22hadPersistedDistinctIdSbSgvp":{"name":"hadPersistedDistinctId","abstract":"hadPersistedDistinctId is a boolean value which specifies that the stored distinct_id","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC5aliasSSSgvp":{"name":"alias","abstract":"alias string that uniquely identifies the current user.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC6peopleAA6PeopleCSgvp":{"name":"people","abstract":"Accessor to the Mixpanel People API object.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC28showNetworkActivityIndicatorSbvp":{"name":"showNetworkActivityIndicator","abstract":"Controls whether to show spinning network activity indicator when flushing","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC27trackAutomaticEventsEnabledSbSgvp":{"name":"trackAutomaticEventsEnabled","abstract":"This allows enabling or disabling collecting common mobile events","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC13flushIntervalSdvp":{"name":"flushInterval","abstract":"Flush timer’s interval.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC17flushOnBackgroundSbvp":{"name":"flushOnBackground","abstract":"Control whether the library should flush data to Mixpanel when the app","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC26useIPAddressForGeoLocationSbvp":{"name":"useIPAddressForGeoLocation","abstract":"Controls whether to automatically send the client IP Address as part of","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC9serverURLSSvp":{"name":"serverURL","abstract":"The base URL used for Mixpanel API requests.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:s28CustomDebugStringConvertibleP16debugDescriptionSSvp":{"name":"debugDescription","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC14loggingEnabledSbvp":{"name":"loggingEnabled","abstract":"This allows enabling or disabling of all Mixpanel logs at run time.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC4nameSSvp":{"name":"name","abstract":"A unique identifier for this MixpanelInstance","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC29enableVisualEditorForCodelessSbvp":{"name":"enableVisualEditorForCodeless","abstract":"Controls whether to enable the visual editor for codeless on mixpanel.com","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC24checkForVariantsOnActiveSbvp":{"name":"checkForVariantsOnActive","abstract":"Controls whether to automatically check for A/B test variants for the","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC28checkForNotificationOnActiveSbvp":{"name":"checkForNotificationOnActive","abstract":"Controls whether to automatically check for notifications for the","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC24showNotificationOnActiveSbvp":{"name":"showNotificationOnActive","abstract":"Controls whether to automatically check for and show in-app notifications","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC32miniNotificationPresentationTimeSdvp":{"name":"miniNotificationPresentationTime","abstract":"Determines the time, in seconds, that a mini notification will remain on","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC22minimumSessionDurations6UInt64Vvp":{"name":"minimumSessionDuration","abstract":"The minimum session duration (ms) that is tracked in automatic events.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC22maximumSessionDurations6UInt64Vvp":{"name":"maximumSessionDuration","abstract":"The maximum session duration (ms) that is tracked in automatic events.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC8identify10distinctId9usePeopleySS_SbtF":{"name":"identify(distinctId:usePeople:)","abstract":"Sets the distinct ID of the current user.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC11createAlias_10distinctId9usePeopleySS_SSSbtF":{"name":"createAlias(_:distinctId:usePeople:)","abstract":"The alias method creates an alias which Mixpanel will use to remap one id to another.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC5resetyyF":{"name":"reset()","abstract":"Clears all stored properties including the distinct Id.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC7archiveyyF":{"name":"archive()","abstract":"Writes current project info including the distinct Id, super properties,","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/archive()":{"name":"archive()","abstract":"Writes current project info including the distinct Id, super properties,","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC5flush10completionyyycSg_tF":{"name":"flush(completion:)","abstract":"Uploads queued data to the Mixpanel server.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC5track5event10propertiesySSSg_SDySSAA0A4Type_pGSgtF":{"name":"track(event:properties:)","abstract":"Tracks an event with properties.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC15trackWithGroups5event10properties6groupsySSSg_SDySSAA0A4Type_pGSgAKtF":{"name":"trackWithGroups(event:properties:groups:)","abstract":"Tracks an event with properties and to specific groups.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC8getGroup8groupKey0E2IDAA0D0CSS_AA0A4Type_ptF":{"name":"getGroup(groupKey:groupID:)","abstract":"Undocumented","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC4time5eventySS_tF":{"name":"time(event:)","abstract":"Starts a timer that will be stopped and added as a property when a","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC16eventElapsedTime0C0SdSS_tF":{"name":"eventElapsedTime(event:)","abstract":"Retrieves the time elapsed for the named event since time(event:) was called.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC16clearTimedEventsyyF":{"name":"clearTimedEvents()","abstract":"Clears all current event timers.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC15clearTimedEvent5eventySS_tF":{"name":"clearTimedEvent(event:)","abstract":"Clears the event timer for the named event.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC22currentSuperPropertiesSDySSypGyF":{"name":"currentSuperProperties()","abstract":"Returns the currently set super properties.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC20clearSuperPropertiesyyF":{"name":"clearSuperProperties()","abstract":"Clears all currently set super properties.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC23registerSuperPropertiesyySDySSAA0A4Type_pGF":{"name":"registerSuperProperties(_:)","abstract":"Registers super properties, overwriting ones that have already been set.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC27registerSuperPropertiesOnce_12defaultValueySDySSAA0A4Type_pG_AaF_pSgtF":{"name":"registerSuperPropertiesOnce(_:defaultValue:)","abstract":"Registers super properties without overwriting ones that have already been set,","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC23unregisterSuperPropertyyySSF":{"name":"unregisterSuperProperty(_:)","abstract":"Removes a previously registered super property.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC8setGroup8groupKey0E2IDySS_AA0A4Type_ptF":{"name":"setGroup(groupKey:groupID:)","abstract":"Convenience method to set a single group the user belongs to.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC8setGroup8groupKey0E3IDsySS_SayAA0A4Type_pGtF":{"name":"setGroup(groupKey:groupIDs:)","abstract":"Set the groups this user belongs to.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC8addGroup8groupKey0E2IDySS_AA0A4Type_ptF":{"name":"addGroup(groupKey:groupID:)","abstract":"Add a group to this user’s membership for a particular group key","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC11removeGroup8groupKey0E2IDySS_AA0A4Type_ptF":{"name":"removeGroup(groupKey:groupID:)","abstract":"Remove a group from this user’s membership for a particular group key","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC14optOutTrackingyyF":{"name":"optOutTracking()","abstract":"Opt out tracking.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC13optInTracking10distinctId10propertiesySSSg_SDySSAA0A4Type_pGSgtF":{"name":"optInTracking(distinctId:properties:)","abstract":"Opt in tracking.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC19hasOptedOutTrackingSbyF":{"name":"hasOptedOutTracking()","abstract":"Returns if the current user has opted out tracking.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC15joinExperiments8callbackyyycSg_tF":{"name":"joinExperiments(callback:)","abstract":"Join any experiments (A/B tests) that are available for the current user.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC16showNotificationyyF":{"name":"showNotification()","abstract":"Shows a notification if one is available.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC16showNotification4typeySS_tF":{"name":"showNotification(type:)","abstract":"Shows a notification with the given type if one is available.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC16showNotification2IDySi_tF":{"name":"showNotification(ID:)","abstract":"Shows a notification with the given ID","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC24fetchNotificationPayload10completionyySDySSyXlGSgc_tF":{"name":"fetchNotificationPayload(completion:)","abstract":"Returns the payload of a notification if available","parent_name":"MixpanelInstance"},"Classes/Mixpanel.html#/s:8MixpanelAAC10initialize5token13launchOptions13flushInterval12instanceName21automaticPushTracking06optOutL9ByDefaultAA0A8InstanceCSS_SDySo019UIApplicationLaunchE3KeyaypGSgSdSSS2btFZ":{"name":"initialize(token:launchOptions:flushInterval:instanceName:automaticPushTracking:optOutTrackingByDefault:)","abstract":"Initializes an instance of the API with the given project token.","parent_name":"Mixpanel"},"Classes/Mixpanel.html#/initialize(token:flushInterval:instanceName:optOutTrackingByDefault:)":{"name":"initialize(token:flushInterval:instanceName:optOutTrackingByDefault:)","abstract":"Initializes an instance of the API with the given project token (MAC OS ONLY).","parent_name":"Mixpanel"},"Classes/Mixpanel.html#/s:8MixpanelAAC11getInstance4nameAA0aC0CSgSS_tFZ":{"name":"getInstance(name:)","abstract":"Gets the mixpanel instance with the given name","parent_name":"Mixpanel"},"Classes/Mixpanel.html#/s:8MixpanelAAC12mainInstanceAA0aC0CyFZ":{"name":"mainInstance()","abstract":"Returns the main instance that was initialized.","parent_name":"Mixpanel"},"Classes/Mixpanel.html#/s:8MixpanelAAC15setMainInstance4nameySS_tFZ":{"name":"setMainInstance(name:)","abstract":"Sets the main instance based on the instance name","parent_name":"Mixpanel"},"Classes/Mixpanel.html#/s:8MixpanelAAC14removeInstance4nameySS_tFZ":{"name":"removeInstance(name:)","abstract":"Removes an unneeded Mixpanel instance based on its name","parent_name":"Mixpanel"},"Classes/Group.html#/s:8Mixpanel5GroupC3set10propertiesySDySSAA0A4Type_pG_tF":{"name":"set(properties:)","abstract":"Sets properties on this group.","parent_name":"Group"},"Classes/Group.html#/s:8Mixpanel5GroupC3set8property2toySS_AA0A4Type_ptF":{"name":"set(property:to:)","abstract":"Convenience method for setting a single property in Mixpanel Groups.","parent_name":"Group"},"Classes/Group.html#/s:8Mixpanel5GroupC7setOnce10propertiesySDySSAA0A4Type_pG_tF":{"name":"setOnce(properties:)","abstract":"Sets properties on the current Mixpanel Group, but doesn’t overwrite if","parent_name":"Group"},"Classes/Group.html#/s:8Mixpanel5GroupC5unset8propertyySS_tF":{"name":"unset(property:)","abstract":"Remove a property and its value from a group’s profile in Mixpanel Groups.","parent_name":"Group"},"Classes/Group.html#/s:8Mixpanel5GroupC6remove3key5valueySS_AA0A4Type_ptF":{"name":"remove(key:value:)","abstract":"Removes list properties.","parent_name":"Group"},"Classes/Group.html#/s:8Mixpanel5GroupC5union3key6valuesySS_SayAA0A4Type_pGtF":{"name":"union(key:values:)","abstract":"Union list properties.","parent_name":"Group"},"Classes/Group.html#/s:8Mixpanel5GroupC06deleteB0yyF":{"name":"deleteGroup()","abstract":"Delete group’s record from Mixpanel Groups.","parent_name":"Group"},"Classes/Group.html":{"name":"Group","abstract":"Access to the Mixpanel Groups API, available through the getGroup function from"},"Classes/Mixpanel.html":{"name":"Mixpanel","abstract":"The primary class for integrating Mixpanel with your app."},"Classes/MixpanelInstance.html":{"name":"MixpanelInstance","abstract":"The class that represents the Mixpanel Instance"},"Classes/MixpanelNotificationServiceExtension.html":{"name":"MixpanelNotificationServiceExtension","abstract":"Undocumented"},"Classes/People.html":{"name":"People","abstract":"Access to the Mixpanel People API, available as an accessible variable from"},"Classes/MixpanelPushNotifications.html":{"name":"MixpanelPushNotifications","abstract":"Undocumented"},"Classes.html#/s:8Mixpanel10TweakStoreC":{"name":"TweakStore","abstract":"Looks up the persisted state for tweaks."},"Classes.html":{"name":"Classes","abstract":"The following classes are available globally."},"Enums.html":{"name":"Enumerations","abstract":"The following enumerations are available globally."},"Extensions.html":{"name":"Extensions","abstract":"The following extensions are available globally."},"Functions.html":{"name":"Functions","abstract":"The following functions are available globally."},"Protocols.html":{"name":"Protocols","abstract":"The following protocols are available globally."},"Structs.html":{"name":"Structures","abstract":"The following structures are available globally."},"Typealiases.html":{"name":"Type Aliases","abstract":"The following type aliases are available globally."}} \ No newline at end of file +{"Typealiases.html#/s:8Mixpanel10Propertiesa":{"name":"Properties","abstract":"Undocumented"},"Structs/MixpanelTweaks.html#/s:8Mixpanel0A6TweaksV12defaultStoreAA05TweakD0CvpZ":{"name":"defaultStore","abstract":"The default store that holds the Tweaks","parent_name":"MixpanelTweaks"},"Structs/MixpanelTweaks.html#/s:8Mixpanel0A6TweaksV03setB06tweaksySayAA16TweakClusterType_pG_tFZ":{"name":"setTweaks(tweaks:)","abstract":"setTweaks needs to be called to add the defined Tweaks into the environment.","parent_name":"MixpanelTweaks"},"Structs/Tweak.html#/s:8Mixpanel5TweakV9tweakName12defaultValueACyxGSS_xtcfc":{"name":"init(tweakName:defaultValue:)","abstract":"Initializer for a Tweak for A/B Testing","parent_name":"Tweak"},"Structs/Tweak.html#/s:8Mixpanel5TweakV4hash4intoys6HasherVz_tF":{"name":"hash(into:)","abstract":"Hashing for a Tweak for A/B Testing in order for it to be stored.","parent_name":"Tweak"},"Structs/Tweak.html#/s:8Mixpanel16TweakClusterTypeP05tweakC0SayAA03AnyB0VGvp":{"name":"tweakCluster","parent_name":"Tweak"},"Structs/Tweak.html#/s:8Mixpanel5TweakVAASLRzs13SignedNumericRzrlE9tweakName12defaultValue3min3max8stepSizeACyxGSS_xxSgA2Ktcfc":{"name":"init(tweakName:defaultValue:min:max:stepSize:)","abstract":"Creates a Tweak where T: SignedNumberType","parent_name":"Tweak"},"Structs/AnyTweak.html#/s:SH4hash4intoys6HasherVz_tF":{"name":"hash(into:)","parent_name":"AnyTweak"},"Structs/AnyTweak.html#/s:8Mixpanel8AnyTweakV12tweakClusterSayACGvp":{"name":"tweakCluster","abstract":"Allows easy tweak initialization by clustering tweaks together for A/B Testing","parent_name":"AnyTweak"},"Structs/AnyTweak.html":{"name":"AnyTweak","abstract":"A type-erasure around Tweak for A/B Testing."},"Structs/Tweak.html":{"name":"Tweak","abstract":"Tweaks let you adjust things on the fly."},"Structs/MixpanelTweaks.html":{"name":"MixpanelTweaks","abstract":"The MixpanelTweaks struct that needs to be extended to define new Tweaks for A/B testing"},"Protocols/TweakableType.html#/s:8Mixpanel13TweakableTypeP013tweakViewDataC0AA05TweakefC0OvpZ":{"name":"tweakViewDataType","abstract":"The data type of the TweakableType","parent_name":"TweakableType"},"Protocols/TweakLibraryType.html#/s:8Mixpanel16TweakLibraryTypeP12defaultStoreAA0bF0CvpZ":{"name":"defaultStore","abstract":"the default tweak store","parent_name":"TweakLibraryType"},"Protocols/TweakLibraryType.html#/s:8Mixpanel16TweakLibraryTypePAAE6assignyqd__AA0B0Vyqd__GAA09TweakableD0Rd__lFZ":{"name":"assign(_:)","abstract":"Returns the current value for a tweak from the TweakLibrary’s default store.","parent_name":"TweakLibraryType"},"Protocols/TweakLibraryType.html#/s:8Mixpanel16TweakLibraryTypePAAE4bind_7bindingyAA0B0Vyqd__G_yqd__ctAA09TweakableD0Rd__lFZ":{"name":"bind(_:binding:)","abstract":"Immediately binds the currentValue of a given tweak, and then continues to update whenever the tweak changes.","parent_name":"TweakLibraryType"},"Protocols/TweakClusterType.html#/s:8Mixpanel16TweakClusterTypeP05tweakC0SayAA03AnyB0VGvp":{"name":"tweakCluster","abstract":"The tweak cluster to allow easy initialization of Tweaks","parent_name":"TweakClusterType"},"Protocols/MixpanelType.html#/s:8Mixpanel0A4TypeP013isValidNestedB8AndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"Checks if this object has nested object types that Mixpanel supports.","parent_name":"MixpanelType"},"Protocols/MixpanelType.html#/s:8Mixpanel0A4TypeP6equals3rhsSbAaB_p_tF":{"name":"equals(rhs:)","abstract":"Undocumented","parent_name":"MixpanelType"},"Protocols/MixpanelDelegate.html#/s:8Mixpanel0A8DelegateP17mixpanelWillFlushySbAA0A8InstanceCF":{"name":"mixpanelWillFlush(_:)","abstract":"Asks the delegate if data should be uploaded to the server.","parent_name":"MixpanelDelegate"},"Protocols/MixpanelDelegate.html":{"name":"MixpanelDelegate","abstract":"Delegate protocol for controlling the Mixpanel API’s network behavior."},"Protocols/MixpanelType.html":{"name":"MixpanelType","abstract":"Property keys must be String objects and the supported value types need to conform to MixpanelType."},"Protocols/TweakClusterType.html":{"name":"TweakClusterType","abstract":"This protocol allows for easy initialization of TweakStore."},"Protocols/TweakLibraryType.html":{"name":"TweakLibraryType","abstract":"Create a public struct in your application that conforms to this protocol to declare your own tweaks!"},"Protocols/TweakableType.html":{"name":"TweakableType","abstract":"To add a new to our Tweak, make T conform to this protocol."},"Functions.html#/s:8Mixpanel2eeoiySbAA8AnyTweakV_ADtF":{"name":"==(_:_:)","abstract":"Comparator between two tweaks for A/B Testing."},"Functions.html#/s:8Mixpanel2eeoiySbAA5TweakVyxG_AEtAA13TweakableTypeRzlF":{"name":"==(_:_:)","abstract":"Comparator between two tweaks for A/B Testing."},"Extensions/CGFloat.html#/s:12CoreGraphics7CGFloatV8MixpanelE17tweakViewDataTypeAD05TweakfgH0OvpZ":{"name":"tweakViewDataType","abstract":"TweakableType supports the cgFloat type","parent_name":"CGFloat"},"Extensions/Dictionary.html#/s:SD8MixpanelE25isValidNestedTypeAndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"Checks if this object has nested object types that Mixpanel supports.","parent_name":"Dictionary"},"Extensions/Dictionary.html#/s:SD8MixpanelE6equals3rhsSbAA0A4Type_p_tF":{"name":"equals(rhs:)","abstract":"Undocumented","parent_name":"Dictionary"},"Extensions/NSArray.html#/s:So7NSArrayC8MixpanelE25isValidNestedTypeAndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"Checks if this object has nested object types that Mixpanel supports.","parent_name":"NSArray"},"Extensions/NSArray.html#/s:So7NSArrayC8MixpanelE6equals3rhsSbAC0B4Type_p_tF":{"name":"equals(rhs:)","abstract":"Undocumented","parent_name":"NSArray"},"Extensions/NSNull.html#/s:So6NSNullC8MixpanelE25isValidNestedTypeAndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"Checks if this object has nested object types that Mixpanel supports.","parent_name":"NSNull"},"Extensions/NSNull.html#/s:So6NSNullC8MixpanelE6equals3rhsSbAC0B4Type_p_tF":{"name":"equals(rhs:)","abstract":"Undocumented","parent_name":"NSNull"},"Extensions/URL.html#/s:10Foundation3URLV8MixpanelE25isValidNestedTypeAndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"Checks if this object has nested object types that Mixpanel supports.","parent_name":"URL"},"Extensions/URL.html#/s:10Foundation3URLV8MixpanelE6equals3rhsSbAD0C4Type_p_tF":{"name":"equals(rhs:)","abstract":"Undocumented","parent_name":"URL"},"Extensions/Date.html#/s:10Foundation4DateV8MixpanelE25isValidNestedTypeAndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"Checks if this object has nested object types that Mixpanel supports.","parent_name":"Date"},"Extensions/Date.html#/s:10Foundation4DateV8MixpanelE6equals3rhsSbAD0C4Type_p_tF":{"name":"equals(rhs:)","abstract":"Undocumented","parent_name":"Date"},"Extensions/Bool.html#/s:Sb8MixpanelE25isValidNestedTypeAndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"Checks if this object has nested object types that Mixpanel supports.","parent_name":"Bool"},"Extensions/Bool.html#/s:Sb8MixpanelE6equals3rhsSbAA0A4Type_p_tF":{"name":"equals(rhs:)","abstract":"Undocumented","parent_name":"Bool"},"Extensions/Bool.html#/s:Sb8MixpanelE17tweakViewDataTypeAA05TweakcdE0OvpZ":{"name":"tweakViewDataType","abstract":"TweakableType supports the boolean type","parent_name":"Bool"},"Extensions/Float.html#/s:Sf8MixpanelE25isValidNestedTypeAndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"Checks if this object has nested object types that Mixpanel supports.","parent_name":"Float"},"Extensions/Float.html#/s:Sf8MixpanelE6equals3rhsSbAA0A4Type_p_tF":{"name":"equals(rhs:)","abstract":"Undocumented","parent_name":"Float"},"Extensions/Double.html#/s:Sd8MixpanelE25isValidNestedTypeAndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"Checks if this object has nested object types that Mixpanel supports.","parent_name":"Double"},"Extensions/Double.html#/s:Sd8MixpanelE6equals3rhsSbAA0A4Type_p_tF":{"name":"equals(rhs:)","abstract":"Undocumented","parent_name":"Double"},"Extensions/Double.html#/s:Sd8MixpanelE17tweakViewDataTypeAA05TweakcdE0OvpZ":{"name":"tweakViewDataType","abstract":"TweakableType supports the double type","parent_name":"Double"},"Extensions/UInt.html#/s:Su8MixpanelE25isValidNestedTypeAndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"Checks if this object has nested object types that Mixpanel supports.","parent_name":"UInt"},"Extensions/UInt.html#/s:Su8MixpanelE6equals3rhsSbAA0A4Type_p_tF":{"name":"equals(rhs:)","abstract":"Undocumented","parent_name":"UInt"},"Extensions/Int.html#/s:Si8MixpanelE25isValidNestedTypeAndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"Checks if this object has nested object types that Mixpanel supports.","parent_name":"Int"},"Extensions/Int.html#/s:Si8MixpanelE6equals3rhsSbAA0A4Type_p_tF":{"name":"equals(rhs:)","abstract":"Undocumented","parent_name":"Int"},"Extensions/Int.html#/s:Si8MixpanelE17tweakViewDataTypeAA05TweakcdE0OvpZ":{"name":"tweakViewDataType","abstract":"TweakableType supports the integer type","parent_name":"Int"},"Extensions/NSNumber.html#/s:So8NSNumberC8MixpanelE25isValidNestedTypeAndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"Checks if this object has nested object types that Mixpanel supports.","parent_name":"NSNumber"},"Extensions/NSNumber.html#/s:So8NSNumberC8MixpanelE6equals3rhsSbAC0B4Type_p_tF":{"name":"equals(rhs:)","abstract":"Undocumented","parent_name":"NSNumber"},"Extensions/NSString.html#/s:So8NSStringC8MixpanelE25isValidNestedTypeAndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"Checks if this object has nested object types that Mixpanel supports.","parent_name":"NSString"},"Extensions/NSString.html#/s:So8NSStringC8MixpanelE6equals3rhsSbAC0B4Type_p_tF":{"name":"equals(rhs:)","abstract":"Undocumented","parent_name":"NSString"},"Extensions/String.html#/s:SS8MixpanelE25isValidNestedTypeAndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"Checks if this object has nested object types that Mixpanel supports.","parent_name":"String"},"Extensions/String.html#/s:SS8MixpanelE6equals3rhsSbAA0A4Type_p_tF":{"name":"equals(rhs:)","abstract":"Undocumented","parent_name":"String"},"Extensions/String.html#/s:SS8MixpanelE17tweakViewDataTypeAA05TweakcdE0OvpZ":{"name":"tweakViewDataType","abstract":"TweakableType supports the string type","parent_name":"String"},"Extensions/Optional.html#/s:Sq8MixpanelE25isValidNestedTypeAndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"Checks if this object has nested object types that Mixpanel supports.","parent_name":"Optional"},"Extensions/Optional.html#/s:Sq8MixpanelE6equals3rhsSbAA0A4Type_p_tF":{"name":"equals(rhs:)","abstract":"Undocumented","parent_name":"Optional"},"Extensions/Array.html#/s:Sa8MixpanelE25isValidNestedTypeAndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"Checks if this object has nested object types that Mixpanel supports.","parent_name":"Array"},"Extensions/Array.html#/s:Sa8MixpanelE6equals3rhsSbAA0A4Type_p_tF":{"name":"equals(rhs:)","abstract":"Undocumented","parent_name":"Array"},"Extensions/UIColor.html#/s:So7UIColorC8MixpanelE5MPHexABSu_tcfc":{"name":"init(MPHex:)","abstract":"The shorthand four-digit hexadecimal representation of color with alpha.","parent_name":"UIColor"},"Extensions/UIColor.html":{"name":"UIColor"},"Extensions/Array.html":{"name":"Array"},"Extensions/Optional.html":{"name":"Optional"},"Extensions/String.html":{"name":"String"},"Extensions/NSString.html":{"name":"NSString"},"Extensions/NSNumber.html":{"name":"NSNumber"},"Extensions/Int.html":{"name":"Int"},"Extensions/UInt.html":{"name":"UInt"},"Extensions/Double.html":{"name":"Double"},"Extensions/Float.html":{"name":"Float"},"Extensions/Bool.html":{"name":"Bool"},"Extensions/Date.html":{"name":"Date"},"Extensions/URL.html":{"name":"URL"},"Extensions/NSNull.html":{"name":"NSNull"},"Extensions/NSArray.html":{"name":"NSArray"},"Extensions/Dictionary.html":{"name":"Dictionary"},"Extensions/CGFloat.html":{"name":"CGFloat"},"Enums/TweakViewDataType.html#/s:8Mixpanel17TweakViewDataTypeO7booleanyA2CmF":{"name":"boolean","abstract":"TweakableType supports the boolean type","parent_name":"TweakViewDataType"},"Enums/TweakViewDataType.html#/s:8Mixpanel17TweakViewDataTypeO7integeryA2CmF":{"name":"integer","abstract":"TweakableType supports the integer type","parent_name":"TweakViewDataType"},"Enums/TweakViewDataType.html#/s:8Mixpanel17TweakViewDataTypeO7cgFloatyA2CmF":{"name":"cgFloat","abstract":"TweakableType supports the cgFloat type","parent_name":"TweakViewDataType"},"Enums/TweakViewDataType.html#/s:8Mixpanel17TweakViewDataTypeO6doubleyA2CmF":{"name":"double","abstract":"TweakableType supports the double type","parent_name":"TweakViewDataType"},"Enums/TweakViewDataType.html#/s:8Mixpanel17TweakViewDataTypeO6stringyA2CmF":{"name":"string","abstract":"TweakableType supports the string type","parent_name":"TweakViewDataType"},"Enums/TweakViewDataType.html":{"name":"TweakViewDataType","abstract":"The data types that are currently supported for SwiftTweaks."},"Classes/MixpanelPushNotifications.html#/s:8Mixpanel0A17PushNotificationsC02isaB12NotificationySbSo21UNNotificationContentCFZ":{"name":"isMixpanelPushNotification(_:)","abstract":"Undocumented","parent_name":"MixpanelPushNotifications"},"Classes/MixpanelPushNotifications.html#/s:8Mixpanel0A17PushNotificationsC10trackEvent_10properties7requestySS_SDySSAA0A4Type_pGSo21UNNotificationRequestCtFZ":{"name":"trackEvent(_:properties:request:)","abstract":"Undocumented","parent_name":"MixpanelPushNotifications"},"Classes/People.html#/s:8Mixpanel6PeopleC10ignoreTimeSbvp":{"name":"ignoreTime","abstract":"controls the $ignore_time property in any subsequent MixpanelPeople operation.","parent_name":"People"},"Classes/People.html#/s:8Mixpanel6PeopleC18addPushDeviceTokenyy10Foundation4DataVF":{"name":"addPushDeviceToken(_:)","abstract":"Register the given device to receive push notifications.","parent_name":"People"},"Classes/People.html#/s:8Mixpanel6PeopleC25removeAllPushDeviceTokensyyF":{"name":"removeAllPushDeviceTokens()","abstract":"Unregister the given device to receive push notifications.","parent_name":"People"},"Classes/People.html#/s:8Mixpanel6PeopleC21removePushDeviceTokenyy10Foundation4DataVF":{"name":"removePushDeviceToken(_:)","abstract":"Unregister a specific device token from the ability to receive push notifications.","parent_name":"People"},"Classes/People.html#/s:8Mixpanel6PeopleC3set10propertiesySDySSAA0A4Type_pG_tF":{"name":"set(properties:)","abstract":"Set properties on the current user in Mixpanel People.","parent_name":"People"},"Classes/People.html#/s:8Mixpanel6PeopleC3set8property2toySS_AA0A4Type_ptF":{"name":"set(property:to:)","abstract":"Convenience method for setting a single property in Mixpanel People.","parent_name":"People"},"Classes/People.html#/s:8Mixpanel6PeopleC7setOnce10propertiesySDySSAA0A4Type_pG_tF":{"name":"setOnce(properties:)","abstract":"Set properties on the current user in Mixpanel People, but doesn’t overwrite if","parent_name":"People"},"Classes/People.html#/s:8Mixpanel6PeopleC5unset10propertiesySaySSG_tF":{"name":"unset(properties:)","abstract":"Remove a list of properties and their values from the current user’s profile","parent_name":"People"},"Classes/People.html#/s:8Mixpanel6PeopleC9increment10propertiesySDySSAA0A4Type_pG_tF":{"name":"increment(properties:)","abstract":"Increment the given numeric properties by the given values.","parent_name":"People"},"Classes/People.html#/s:8Mixpanel6PeopleC9increment8property2byySS_SdtF":{"name":"increment(property:by:)","abstract":"Convenience method for incrementing a single numeric property by the specified","parent_name":"People"},"Classes/People.html#/s:8Mixpanel6PeopleC6append10propertiesySDySSAA0A4Type_pG_tF":{"name":"append(properties:)","abstract":"Append values to list properties.","parent_name":"People"},"Classes/People.html#/s:8Mixpanel6PeopleC6remove10propertiesySDySSAA0A4Type_pG_tF":{"name":"remove(properties:)","abstract":"Removes list properties.","parent_name":"People"},"Classes/People.html#/s:8Mixpanel6PeopleC5union10propertiesySDySSAA0A4Type_pG_tF":{"name":"union(properties:)","abstract":"Union list properties.","parent_name":"People"},"Classes/People.html#/s:8Mixpanel6PeopleC11trackCharge6amount10propertiesySd_SDySSAA0A4Type_pGSgtF":{"name":"trackCharge(amount:properties:)","abstract":"Track money spent by the current user for revenue analytics and associate","parent_name":"People"},"Classes/People.html#/s:8Mixpanel6PeopleC12clearChargesyyF":{"name":"clearCharges()","abstract":"Delete current user’s revenue history.","parent_name":"People"},"Classes/People.html#/s:8Mixpanel6PeopleC10deleteUseryyF":{"name":"deleteUser()","abstract":"Delete current user’s record from Mixpanel People.","parent_name":"People"},"Classes/MixpanelNotificationServiceExtension.html#/c:@M@Mixpanel@objc(cs)MixpanelNotificationServiceExtension(im)didReceiveNotificationRequest:withContentHandler:":{"name":"didReceive(_:withContentHandler:)","abstract":"Undocumented","parent_name":"MixpanelNotificationServiceExtension"},"Classes/MixpanelNotificationServiceExtension.html#/c:@M@Mixpanel@objc(cs)MixpanelNotificationServiceExtension(im)serviceExtensionTimeWillExpire":{"name":"serviceExtensionTimeWillExpire()","abstract":"Undocumented","parent_name":"MixpanelNotificationServiceExtension"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC8apiTokenSSvp":{"name":"apiToken","abstract":"apiToken string that identifies the project to track data to","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC8delegateAA0A8Delegate_pSgvp":{"name":"delegate","abstract":"The a MixpanelDelegate object that gives control over Mixpanel network activity.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC10distinctIdSSvp":{"name":"distinctId","abstract":"distinctId string that uniquely identifies the current user.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC11anonymousIdSSSgvp":{"name":"anonymousId","abstract":"anonymousId string that uniquely identifies the device.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC6userIdSSSgvp":{"name":"userId","abstract":"userId string that identify is called with.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC22hadPersistedDistinctIdSbSgvp":{"name":"hadPersistedDistinctId","abstract":"hadPersistedDistinctId is a boolean value which specifies that the stored distinct_id","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC5aliasSSSgvp":{"name":"alias","abstract":"alias string that uniquely identifies the current user.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC6peopleAA6PeopleCSgvp":{"name":"people","abstract":"Accessor to the Mixpanel People API object.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC28showNetworkActivityIndicatorSbvp":{"name":"showNetworkActivityIndicator","abstract":"Controls whether to show spinning network activity indicator when flushing","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC27trackAutomaticEventsEnabledSbSgvp":{"name":"trackAutomaticEventsEnabled","abstract":"This allows enabling or disabling collecting common mobile events","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC13flushIntervalSdvp":{"name":"flushInterval","abstract":"Flush timer’s interval.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC17flushOnBackgroundSbvp":{"name":"flushOnBackground","abstract":"Control whether the library should flush data to Mixpanel when the app","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC26useIPAddressForGeoLocationSbvp":{"name":"useIPAddressForGeoLocation","abstract":"Controls whether to automatically send the client IP Address as part of","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC9serverURLSSvp":{"name":"serverURL","abstract":"The base URL used for Mixpanel API requests.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:s28CustomDebugStringConvertibleP16debugDescriptionSSvp":{"name":"debugDescription","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC14loggingEnabledSbvp":{"name":"loggingEnabled","abstract":"This allows enabling or disabling of all Mixpanel logs at run time.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC4nameSSvp":{"name":"name","abstract":"A unique identifier for this MixpanelInstance","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC29enableVisualEditorForCodelessSbvp":{"name":"enableVisualEditorForCodeless","abstract":"Controls whether to enable the visual editor for codeless on mixpanel.com","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC24checkForVariantsOnActiveSbvp":{"name":"checkForVariantsOnActive","abstract":"Controls whether to automatically check for A/B test variants for the","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC28checkForNotificationOnActiveSbvp":{"name":"checkForNotificationOnActive","abstract":"Controls whether to automatically check for notifications for the","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC24showNotificationOnActiveSbvp":{"name":"showNotificationOnActive","abstract":"Controls whether to automatically check for and show in-app notifications","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC32miniNotificationPresentationTimeSdvp":{"name":"miniNotificationPresentationTime","abstract":"Determines the time, in seconds, that a mini notification will remain on","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC22minimumSessionDurations6UInt64Vvp":{"name":"minimumSessionDuration","abstract":"The minimum session duration (ms) that is tracked in automatic events.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC22maximumSessionDurations6UInt64Vvp":{"name":"maximumSessionDuration","abstract":"The maximum session duration (ms) that is tracked in automatic events.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC8identify10distinctId9usePeople10completionySS_SbyycSgtF":{"name":"identify(distinctId:usePeople:completion:)","abstract":"Sets the distinct ID of the current user.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC11createAlias_10distinctId9usePeople10completionySS_SSSbyycSgtF":{"name":"createAlias(_:distinctId:usePeople:completion:)","abstract":"The alias method creates an alias which Mixpanel will use to remap one id to another.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC5reset10completionyyycSg_tF":{"name":"reset(completion:)","abstract":"Clears all stored properties including the distinct Id.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC7archiveyyF":{"name":"archive()","abstract":"Writes current project info including the distinct Id, super properties,","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/archive()":{"name":"archive()","abstract":"Writes current project info including the distinct Id, super properties,","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC5flush10completionyyycSg_tF":{"name":"flush(completion:)","abstract":"Uploads queued data to the Mixpanel server.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC5track5event10propertiesySSSg_SDySSAA0A4Type_pGSgtF":{"name":"track(event:properties:)","abstract":"Tracks an event with properties.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC15trackWithGroups5event10properties6groupsySSSg_SDySSAA0A4Type_pGSgAKtF":{"name":"trackWithGroups(event:properties:groups:)","abstract":"Tracks an event with properties and to specific groups.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC8getGroup8groupKey0E2IDAA0D0CSS_AA0A4Type_ptF":{"name":"getGroup(groupKey:groupID:)","abstract":"Undocumented","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC4time5eventySS_tF":{"name":"time(event:)","abstract":"Starts a timer that will be stopped and added as a property when a","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC16eventElapsedTime0C0SdSS_tF":{"name":"eventElapsedTime(event:)","abstract":"Retrieves the time elapsed for the named event since time(event:) was called.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC16clearTimedEventsyyF":{"name":"clearTimedEvents()","abstract":"Clears all current event timers.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC15clearTimedEvent5eventySS_tF":{"name":"clearTimedEvent(event:)","abstract":"Clears the event timer for the named event.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC22currentSuperPropertiesSDySSypGyF":{"name":"currentSuperProperties()","abstract":"Returns the currently set super properties.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC20clearSuperPropertiesyyF":{"name":"clearSuperProperties()","abstract":"Clears all currently set super properties.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC23registerSuperPropertiesyySDySSAA0A4Type_pGF":{"name":"registerSuperProperties(_:)","abstract":"Registers super properties, overwriting ones that have already been set.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC27registerSuperPropertiesOnce_12defaultValueySDySSAA0A4Type_pG_AaF_pSgtF":{"name":"registerSuperPropertiesOnce(_:defaultValue:)","abstract":"Registers super properties without overwriting ones that have already been set,","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC23unregisterSuperPropertyyySSF":{"name":"unregisterSuperProperty(_:)","abstract":"Removes a previously registered super property.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC8setGroup8groupKey0E2IDySS_AA0A4Type_ptF":{"name":"setGroup(groupKey:groupID:)","abstract":"Convenience method to set a single group the user belongs to.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC8setGroup8groupKey0E3IDsySS_SayAA0A4Type_pGtF":{"name":"setGroup(groupKey:groupIDs:)","abstract":"Set the groups this user belongs to.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC8addGroup8groupKey0E2IDySS_AA0A4Type_ptF":{"name":"addGroup(groupKey:groupID:)","abstract":"Add a group to this user’s membership for a particular group key","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC11removeGroup8groupKey0E2IDySS_AA0A4Type_ptF":{"name":"removeGroup(groupKey:groupID:)","abstract":"Remove a group from this user’s membership for a particular group key","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC14optOutTrackingyyF":{"name":"optOutTracking()","abstract":"Opt out tracking.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC13optInTracking10distinctId10propertiesySSSg_SDySSAA0A4Type_pGSgtF":{"name":"optInTracking(distinctId:properties:)","abstract":"Opt in tracking.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC19hasOptedOutTrackingSbyF":{"name":"hasOptedOutTracking()","abstract":"Returns if the current user has opted out tracking.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC15joinExperiments8callbackyyycSg_tF":{"name":"joinExperiments(callback:)","abstract":"Join any experiments (A/B tests) that are available for the current user.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC16showNotificationyyF":{"name":"showNotification()","abstract":"Shows a notification if one is available.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC16showNotification4typeySS_tF":{"name":"showNotification(type:)","abstract":"Shows a notification with the given type if one is available.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC16showNotification2IDySi_tF":{"name":"showNotification(ID:)","abstract":"Shows a notification with the given ID","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC24fetchNotificationPayload10completionyySDySSyXlGSgc_tF":{"name":"fetchNotificationPayload(completion:)","abstract":"Returns the payload of a notification if available","parent_name":"MixpanelInstance"},"Classes/Mixpanel.html#/s:8MixpanelAAC10initialize5token13launchOptions13flushInterval12instanceName21automaticPushTracking06optOutL9ByDefaultAA0A8InstanceCSS_SDySo019UIApplicationLaunchE3KeyaypGSgSdSSS2btFZ":{"name":"initialize(token:launchOptions:flushInterval:instanceName:automaticPushTracking:optOutTrackingByDefault:)","abstract":"Initializes an instance of the API with the given project token.","parent_name":"Mixpanel"},"Classes/Mixpanel.html#/initialize(token:flushInterval:instanceName:optOutTrackingByDefault:)":{"name":"initialize(token:flushInterval:instanceName:optOutTrackingByDefault:)","abstract":"Initializes an instance of the API with the given project token (MAC OS ONLY).","parent_name":"Mixpanel"},"Classes/Mixpanel.html#/s:8MixpanelAAC11getInstance4nameAA0aC0CSgSS_tFZ":{"name":"getInstance(name:)","abstract":"Gets the mixpanel instance with the given name","parent_name":"Mixpanel"},"Classes/Mixpanel.html#/s:8MixpanelAAC12mainInstanceAA0aC0CyFZ":{"name":"mainInstance()","abstract":"Returns the main instance that was initialized.","parent_name":"Mixpanel"},"Classes/Mixpanel.html#/s:8MixpanelAAC15setMainInstance4nameySS_tFZ":{"name":"setMainInstance(name:)","abstract":"Sets the main instance based on the instance name","parent_name":"Mixpanel"},"Classes/Mixpanel.html#/s:8MixpanelAAC14removeInstance4nameySS_tFZ":{"name":"removeInstance(name:)","abstract":"Removes an unneeded Mixpanel instance based on its name","parent_name":"Mixpanel"},"Classes/Group.html#/s:8Mixpanel5GroupC3set10propertiesySDySSAA0A4Type_pG_tF":{"name":"set(properties:)","abstract":"Sets properties on this group.","parent_name":"Group"},"Classes/Group.html#/s:8Mixpanel5GroupC3set8property2toySS_AA0A4Type_ptF":{"name":"set(property:to:)","abstract":"Convenience method for setting a single property in Mixpanel Groups.","parent_name":"Group"},"Classes/Group.html#/s:8Mixpanel5GroupC7setOnce10propertiesySDySSAA0A4Type_pG_tF":{"name":"setOnce(properties:)","abstract":"Sets properties on the current Mixpanel Group, but doesn’t overwrite if","parent_name":"Group"},"Classes/Group.html#/s:8Mixpanel5GroupC5unset8propertyySS_tF":{"name":"unset(property:)","abstract":"Remove a property and its value from a group’s profile in Mixpanel Groups.","parent_name":"Group"},"Classes/Group.html#/s:8Mixpanel5GroupC6remove3key5valueySS_AA0A4Type_ptF":{"name":"remove(key:value:)","abstract":"Removes list properties.","parent_name":"Group"},"Classes/Group.html#/s:8Mixpanel5GroupC5union3key6valuesySS_SayAA0A4Type_pGtF":{"name":"union(key:values:)","abstract":"Union list properties.","parent_name":"Group"},"Classes/Group.html#/s:8Mixpanel5GroupC06deleteB0yyF":{"name":"deleteGroup()","abstract":"Delete group’s record from Mixpanel Groups.","parent_name":"Group"},"Classes/Group.html":{"name":"Group","abstract":"Access to the Mixpanel Groups API, available through the getGroup function from"},"Classes/Mixpanel.html":{"name":"Mixpanel","abstract":"The primary class for integrating Mixpanel with your app."},"Classes/MixpanelInstance.html":{"name":"MixpanelInstance","abstract":"The class that represents the Mixpanel Instance"},"Classes/MixpanelNotificationServiceExtension.html":{"name":"MixpanelNotificationServiceExtension","abstract":"Undocumented"},"Classes/People.html":{"name":"People","abstract":"Access to the Mixpanel People API, available as an accessible variable from"},"Classes/MixpanelPushNotifications.html":{"name":"MixpanelPushNotifications","abstract":"Undocumented"},"Classes.html#/s:8Mixpanel10TweakStoreC":{"name":"TweakStore","abstract":"Looks up the persisted state for tweaks."},"Classes.html":{"name":"Classes","abstract":"The following classes are available globally."},"Enums.html":{"name":"Enumerations","abstract":"The following enumerations are available globally."},"Extensions.html":{"name":"Extensions","abstract":"The following extensions are available globally."},"Functions.html":{"name":"Functions","abstract":"The following functions are available globally."},"Protocols.html":{"name":"Protocols","abstract":"The following protocols are available globally."},"Structs.html":{"name":"Structures","abstract":"The following structures are available globally."},"Typealiases.html":{"name":"Type Aliases","abstract":"The following type aliases are available globally."}} \ No newline at end of file diff --git a/docs/undocumented.json b/docs/undocumented.json index 1e31bd6a..75baf9b9 100644 --- a/docs/undocumented.json +++ b/docs/undocumented.json @@ -9,7 +9,7 @@ }, { "file": "/Users/zihejia/Documents/Projects/Develop/mixpanel-swift/Sources/MixpanelInstance.swift", - "line": 1296, + "line": 1335, "symbol": "MixpanelInstance.getGroup(groupKey:groupID:)", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented"
Allows easy tweak initialization by clustering tweaks together for A/B Testing
A type-erasure around Tweak for A/B Testing.
Tweaks let you adjust things on the fly."},"Structs/MixpanelTweaks.html":{"name":"MixpanelTweaks","abstract":"
The MixpanelTweaks struct that needs to be extended to define new Tweaks for A/B testing
The data type of the TweakableType
the default tweak store
Returns the current value for a tweak from the TweakLibrary’s default store.
Immediately binds the currentValue of a given tweak, and then continues to update whenever the tweak changes.
The tweak cluster to allow easy initialization of Tweaks
Checks if this object has nested object types that Mixpanel supports.
Asks the delegate if data should be uploaded to the server.
Delegate protocol for controlling the Mixpanel API’s network behavior.
Property keys must be String objects and the supported value types need to conform to MixpanelType."},"Protocols/TweakClusterType.html":{"name":"TweakClusterType","abstract":"
This protocol allows for easy initialization of TweakStore."},"Protocols/TweakLibraryType.html":{"name":"TweakLibraryType","abstract":"
Create a public struct in your application that conforms to this protocol to declare your own tweaks!
To add a new to our Tweak, make T conform to this protocol.
Comparator between two tweaks for A/B Testing.
TweakableType supports the cgFloat type
Checks if this object has nested object types that Mixpanel supports.","parent_name":"NSNull"},"Extensions/NSNull.html#/s:So6NSNullC8MixpanelE6equals3rhsSbAC0B4Type_p_tF":{"name":"equals(rhs:)","abstract":"
Checks if this object has nested object types that Mixpanel supports.","parent_name":"URL"},"Extensions/URL.html#/s:10Foundation3URLV8MixpanelE6equals3rhsSbAD0C4Type_p_tF":{"name":"equals(rhs:)","abstract":"
Checks if this object has nested object types that Mixpanel supports.","parent_name":"Date"},"Extensions/Date.html#/s:10Foundation4DateV8MixpanelE6equals3rhsSbAD0C4Type_p_tF":{"name":"equals(rhs:)","abstract":"
Checks if this object has nested object types that Mixpanel supports.","parent_name":"Bool"},"Extensions/Bool.html#/s:Sb8MixpanelE6equals3rhsSbAA0A4Type_p_tF":{"name":"equals(rhs:)","abstract":"
TweakableType supports the boolean type
Checks if this object has nested object types that Mixpanel supports.","parent_name":"Float"},"Extensions/Float.html#/s:Sf8MixpanelE6equals3rhsSbAA0A4Type_p_tF":{"name":"equals(rhs:)","abstract":"
Checks if this object has nested object types that Mixpanel supports.","parent_name":"Double"},"Extensions/Double.html#/s:Sd8MixpanelE6equals3rhsSbAA0A4Type_p_tF":{"name":"equals(rhs:)","abstract":"
TweakableType supports the double type
Checks if this object has nested object types that Mixpanel supports.","parent_name":"UInt"},"Extensions/UInt.html#/s:Su8MixpanelE6equals3rhsSbAA0A4Type_p_tF":{"name":"equals(rhs:)","abstract":"
Checks if this object has nested object types that Mixpanel supports.","parent_name":"Int"},"Extensions/Int.html#/s:Si8MixpanelE6equals3rhsSbAA0A4Type_p_tF":{"name":"equals(rhs:)","abstract":"
TweakableType supports the integer type
Checks if this object has nested object types that Mixpanel supports.","parent_name":"NSNumber"},"Extensions/NSNumber.html#/s:So8NSNumberC8MixpanelE6equals3rhsSbAC0B4Type_p_tF":{"name":"equals(rhs:)","abstract":"
Checks if this object has nested object types that Mixpanel supports.","parent_name":"NSString"},"Extensions/NSString.html#/s:So8NSStringC8MixpanelE6equals3rhsSbAC0B4Type_p_tF":{"name":"equals(rhs:)","abstract":"
Checks if this object has nested object types that Mixpanel supports.","parent_name":"String"},"Extensions/String.html#/s:SS8MixpanelE6equals3rhsSbAA0A4Type_p_tF":{"name":"equals(rhs:)","abstract":"
TweakableType supports the string type
The shorthand four-digit hexadecimal representation of color with alpha.
The data types that are currently supported for SwiftTweaks."},"Classes/MixpanelPushNotifications.html#/s:8Mixpanel0A17PushNotificationsC02isaB12NotificationySbSo21UNNotificationContentCFZ":{"name":"isMixpanelPushNotification(_:)","abstract":"
controls the $ignore_time property in any subsequent MixpanelPeople operation.","parent_name":"People"},"Classes/People.html#/s:8Mixpanel6PeopleC18addPushDeviceTokenyy10Foundation4DataVF":{"name":"addPushDeviceToken(_:)","abstract":"
Register the given device to receive push notifications.
Unregister the given device to receive push notifications.
Unregister a specific device token from the ability to receive push notifications.
Set properties on the current user in Mixpanel People.
Convenience method for setting a single property in Mixpanel People.
Set properties on the current user in Mixpanel People, but doesn’t overwrite if","parent_name":"People"},"Classes/People.html#/s:8Mixpanel6PeopleC5unset10propertiesySaySSG_tF":{"name":"unset(properties:)","abstract":"
Remove a list of properties and their values from the current user’s profile","parent_name":"People"},"Classes/People.html#/s:8Mixpanel6PeopleC9increment10propertiesySDySSAA0A4Type_pG_tF":{"name":"increment(properties:)","abstract":"
Increment the given numeric properties by the given values.
Convenience method for incrementing a single numeric property by the specified","parent_name":"People"},"Classes/People.html#/s:8Mixpanel6PeopleC6append10propertiesySDySSAA0A4Type_pG_tF":{"name":"append(properties:)","abstract":"
Append values to list properties.
Removes list properties.
Union list properties.
Track money spent by the current user for revenue analytics and associate","parent_name":"People"},"Classes/People.html#/s:8Mixpanel6PeopleC12clearChargesyyF":{"name":"clearCharges()","abstract":"
Delete current user’s revenue history.
Delete current user’s record from Mixpanel People.
apiToken string that identifies the project to track data to
The a MixpanelDelegate object that gives control over Mixpanel network activity.
distinctId string that uniquely identifies the current user.
anonymousId string that uniquely identifies the device.
userId string that identify is called with.
hadPersistedDistinctId is a boolean value which specifies that the stored distinct_id","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC5aliasSSSgvp":{"name":"alias","abstract":"
alias string that uniquely identifies the current user.
Accessor to the Mixpanel People API object.
Controls whether to show spinning network activity indicator when flushing","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC27trackAutomaticEventsEnabledSbSgvp":{"name":"trackAutomaticEventsEnabled","abstract":"
This allows enabling or disabling collecting common mobile events","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC13flushIntervalSdvp":{"name":"flushInterval","abstract":"
Flush timer’s interval.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC17flushOnBackgroundSbvp":{"name":"flushOnBackground","abstract":"
Control whether the library should flush data to Mixpanel when the app","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC26useIPAddressForGeoLocationSbvp":{"name":"useIPAddressForGeoLocation","abstract":"
Controls whether to automatically send the client IP Address as part of","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC9serverURLSSvp":{"name":"serverURL","abstract":"
The base URL used for Mixpanel API requests.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:s28CustomDebugStringConvertibleP16debugDescriptionSSvp":{"name":"debugDescription","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC14loggingEnabledSbvp":{"name":"loggingEnabled","abstract":"
This allows enabling or disabling of all Mixpanel logs at run time.
A unique identifier for this MixpanelInstance
Controls whether to enable the visual editor for codeless on mixpanel.com","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC24checkForVariantsOnActiveSbvp":{"name":"checkForVariantsOnActive","abstract":"
Controls whether to automatically check for A/B test variants for the","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC28checkForNotificationOnActiveSbvp":{"name":"checkForNotificationOnActive","abstract":"
Controls whether to automatically check for notifications for the","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC24showNotificationOnActiveSbvp":{"name":"showNotificationOnActive","abstract":"
Controls whether to automatically check for and show in-app notifications","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC32miniNotificationPresentationTimeSdvp":{"name":"miniNotificationPresentationTime","abstract":"
Determines the time, in seconds, that a mini notification will remain on","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC22minimumSessionDurations6UInt64Vvp":{"name":"minimumSessionDuration","abstract":"
The minimum session duration (ms) that is tracked in automatic events.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC22maximumSessionDurations6UInt64Vvp":{"name":"maximumSessionDuration","abstract":"
The maximum session duration (ms) that is tracked in automatic events.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC8identify10distinctId9usePeopleySS_SbtF":{"name":"identify(distinctId:usePeople:)","abstract":"
Sets the distinct ID of the current user.
The alias method creates an alias which Mixpanel will use to remap one id to another.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC5resetyyF":{"name":"reset()","abstract":"
Clears all stored properties including the distinct Id.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC7archiveyyF":{"name":"archive()","abstract":"
Writes current project info including the distinct Id, super properties,","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/archive()":{"name":"archive()","abstract":"
Writes current project info including the distinct Id, super properties,","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC5flush10completionyyycSg_tF":{"name":"flush(completion:)","abstract":"
Uploads queued data to the Mixpanel server.
Tracks an event with properties.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC15trackWithGroups5event10properties6groupsySSSg_SDySSAA0A4Type_pGSgAKtF":{"name":"trackWithGroups(event:properties:groups:)","abstract":"
Tracks an event with properties and to specific groups.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC8getGroup8groupKey0E2IDAA0D0CSS_AA0A4Type_ptF":{"name":"getGroup(groupKey:groupID:)","abstract":"
Starts a timer that will be stopped and added as a property when a","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC16eventElapsedTime0C0SdSS_tF":{"name":"eventElapsedTime(event:)","abstract":"
Retrieves the time elapsed for the named event since time(event:) was called.
Clears all current event timers.
Clears the event timer for the named event.
Returns the currently set super properties.
Clears all currently set super properties.
Registers super properties, overwriting ones that have already been set.
Registers super properties without overwriting ones that have already been set,","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC23unregisterSuperPropertyyySSF":{"name":"unregisterSuperProperty(_:)","abstract":"
Removes a previously registered super property.
Convenience method to set a single group the user belongs to.
Set the groups this user belongs to.
Add a group to this user’s membership for a particular group key
Remove a group from this user’s membership for a particular group key
Opt out tracking.
Opt in tracking.
Returns if the current user has opted out tracking.
Join any experiments (A/B tests) that are available for the current user.
Shows a notification if one is available.
Shows a notification with the given type if one is available.
Shows a notification with the given ID
Returns the payload of a notification if available
Initializes an instance of the API with the given project token.
Initializes an instance of the API with the given project token (MAC OS ONLY).
Gets the mixpanel instance with the given name
Returns the main instance that was initialized.
Sets the main instance based on the instance name
Removes an unneeded Mixpanel instance based on its name
Sets properties on this group.
Convenience method for setting a single property in Mixpanel Groups.
Sets properties on the current Mixpanel Group, but doesn’t overwrite if","parent_name":"Group"},"Classes/Group.html#/s:8Mixpanel5GroupC5unset8propertyySS_tF":{"name":"unset(property:)","abstract":"
Remove a property and its value from a group’s profile in Mixpanel Groups.
Delete group’s record from Mixpanel Groups.
Access to the Mixpanel Groups API, available through the getGroup function from"},"Classes/Mixpanel.html":{"name":"Mixpanel","abstract":"
The primary class for integrating Mixpanel with your app.
The class that represents the Mixpanel Instance
Access to the Mixpanel People API, available as an accessible variable from"},"Classes/MixpanelPushNotifications.html":{"name":"MixpanelPushNotifications","abstract":"
Looks up the persisted state for tweaks.
The following classes are available globally.
The following enumerations are available globally.
The following extensions are available globally.
The following functions are available globally.
The following protocols are available globally.
The following structures are available globally.
The following type aliases are available globally.
Creates a Tweak where T: SignedNumberType","parent_name":"Tweak"},"Structs/AnyTweak.html#/s:SH4hash4intoys6HasherVz_tF":{"name":"hash(into:)","parent_name":"AnyTweak"},"Structs/AnyTweak.html#/s:8Mixpanel8AnyTweakV12tweakClusterSayACGvp":{"name":"tweakCluster","abstract":"Allows easy tweak initialization by clustering tweaks together for A/B Testing","parent_name":"AnyTweak"},"Structs/AnyTweak.html":{"name":"AnyTweak","abstract":"A type-erasure around Tweak for A/B Testing."},"Structs/Tweak.html":{"name":"Tweak","abstract":"Tweaks let you adjust things on the fly."},"Structs/MixpanelTweaks.html":{"name":"MixpanelTweaks","abstract":"The MixpanelTweaks struct that needs to be extended to define new Tweaks for A/B testing"},"Protocols/TweakableType.html#/s:8Mixpanel13TweakableTypeP013tweakViewDataC0AA05TweakefC0OvpZ":{"name":"tweakViewDataType","abstract":"The data type of the TweakableType","parent_name":"TweakableType"},"Protocols/TweakLibraryType.html#/s:8Mixpanel16TweakLibraryTypeP12defaultStoreAA0bF0CvpZ":{"name":"defaultStore","abstract":"the default tweak store","parent_name":"TweakLibraryType"},"Protocols/TweakLibraryType.html#/s:8Mixpanel16TweakLibraryTypePAAE6assignyqd__AA0B0Vyqd__GAA09TweakableD0Rd__lFZ":{"name":"assign(_:)","abstract":"Returns the current value for a tweak from the TweakLibrary’s default store.","parent_name":"TweakLibraryType"},"Protocols/TweakLibraryType.html#/s:8Mixpanel16TweakLibraryTypePAAE4bind_7bindingyAA0B0Vyqd__G_yqd__ctAA09TweakableD0Rd__lFZ":{"name":"bind(_:binding:)","abstract":"Immediately binds the currentValue of a given tweak, and then continues to update whenever the tweak changes.","parent_name":"TweakLibraryType"},"Protocols/TweakClusterType.html#/s:8Mixpanel16TweakClusterTypeP05tweakC0SayAA03AnyB0VGvp":{"name":"tweakCluster","abstract":"The tweak cluster to allow easy initialization of Tweaks","parent_name":"TweakClusterType"},"Protocols/MixpanelType.html#/s:8Mixpanel0A4TypeP013isValidNestedB8AndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"Checks if this object has nested object types that Mixpanel supports.","parent_name":"MixpanelType"},"Protocols/MixpanelType.html#/s:8Mixpanel0A4TypeP6equals3rhsSbAaB_p_tF":{"name":"equals(rhs:)","abstract":"Undocumented","parent_name":"MixpanelType"},"Protocols/MixpanelDelegate.html#/s:8Mixpanel0A8DelegateP17mixpanelWillFlushySbAA0A8InstanceCF":{"name":"mixpanelWillFlush(_:)","abstract":"Asks the delegate if data should be uploaded to the server.","parent_name":"MixpanelDelegate"},"Protocols/MixpanelDelegate.html":{"name":"MixpanelDelegate","abstract":"Delegate protocol for controlling the Mixpanel API’s network behavior."},"Protocols/MixpanelType.html":{"name":"MixpanelType","abstract":"Property keys must be String objects and the supported value types need to conform to MixpanelType."},"Protocols/TweakClusterType.html":{"name":"TweakClusterType","abstract":"This protocol allows for easy initialization of TweakStore."},"Protocols/TweakLibraryType.html":{"name":"TweakLibraryType","abstract":"Create a public struct in your application that conforms to this protocol to declare your own tweaks!"},"Protocols/TweakableType.html":{"name":"TweakableType","abstract":"To add a new to our Tweak, make T conform to this protocol."},"Functions.html#/s:8Mixpanel2eeoiySbAA8AnyTweakV_ADtF":{"name":"==(_:_:)","abstract":"Comparator between two tweaks for A/B Testing."},"Functions.html#/s:8Mixpanel2eeoiySbAA5TweakVyxG_AEtAA13TweakableTypeRzlF":{"name":"==(_:_:)","abstract":"Comparator between two tweaks for A/B Testing."},"Extensions/CGFloat.html#/s:12CoreGraphics7CGFloatV8MixpanelE17tweakViewDataTypeAD05TweakfgH0OvpZ":{"name":"tweakViewDataType","abstract":"TweakableType supports the cgFloat type","parent_name":"CGFloat"},"Extensions/Dictionary.html#/s:SD8MixpanelE25isValidNestedTypeAndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"Checks if this object has nested object types that Mixpanel supports.","parent_name":"Dictionary"},"Extensions/Dictionary.html#/s:SD8MixpanelE6equals3rhsSbAA0A4Type_p_tF":{"name":"equals(rhs:)","abstract":"Undocumented","parent_name":"Dictionary"},"Extensions/NSArray.html#/s:So7NSArrayC8MixpanelE25isValidNestedTypeAndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"Checks if this object has nested object types that Mixpanel supports.","parent_name":"NSArray"},"Extensions/NSArray.html#/s:So7NSArrayC8MixpanelE6equals3rhsSbAC0B4Type_p_tF":{"name":"equals(rhs:)","abstract":"Undocumented","parent_name":"NSArray"},"Extensions/NSNull.html#/s:So6NSNullC8MixpanelE25isValidNestedTypeAndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"Checks if this object has nested object types that Mixpanel supports.","parent_name":"NSNull"},"Extensions/NSNull.html#/s:So6NSNullC8MixpanelE6equals3rhsSbAC0B4Type_p_tF":{"name":"equals(rhs:)","abstract":"Undocumented","parent_name":"NSNull"},"Extensions/URL.html#/s:10Foundation3URLV8MixpanelE25isValidNestedTypeAndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"Checks if this object has nested object types that Mixpanel supports.","parent_name":"URL"},"Extensions/URL.html#/s:10Foundation3URLV8MixpanelE6equals3rhsSbAD0C4Type_p_tF":{"name":"equals(rhs:)","abstract":"Undocumented","parent_name":"URL"},"Extensions/Date.html#/s:10Foundation4DateV8MixpanelE25isValidNestedTypeAndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"Checks if this object has nested object types that Mixpanel supports.","parent_name":"Date"},"Extensions/Date.html#/s:10Foundation4DateV8MixpanelE6equals3rhsSbAD0C4Type_p_tF":{"name":"equals(rhs:)","abstract":"Undocumented","parent_name":"Date"},"Extensions/Bool.html#/s:Sb8MixpanelE25isValidNestedTypeAndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"Checks if this object has nested object types that Mixpanel supports.","parent_name":"Bool"},"Extensions/Bool.html#/s:Sb8MixpanelE6equals3rhsSbAA0A4Type_p_tF":{"name":"equals(rhs:)","abstract":"Undocumented","parent_name":"Bool"},"Extensions/Bool.html#/s:Sb8MixpanelE17tweakViewDataTypeAA05TweakcdE0OvpZ":{"name":"tweakViewDataType","abstract":"TweakableType supports the boolean type","parent_name":"Bool"},"Extensions/Float.html#/s:Sf8MixpanelE25isValidNestedTypeAndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"Checks if this object has nested object types that Mixpanel supports.","parent_name":"Float"},"Extensions/Float.html#/s:Sf8MixpanelE6equals3rhsSbAA0A4Type_p_tF":{"name":"equals(rhs:)","abstract":"Undocumented","parent_name":"Float"},"Extensions/Double.html#/s:Sd8MixpanelE25isValidNestedTypeAndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"Checks if this object has nested object types that Mixpanel supports.","parent_name":"Double"},"Extensions/Double.html#/s:Sd8MixpanelE6equals3rhsSbAA0A4Type_p_tF":{"name":"equals(rhs:)","abstract":"Undocumented","parent_name":"Double"},"Extensions/Double.html#/s:Sd8MixpanelE17tweakViewDataTypeAA05TweakcdE0OvpZ":{"name":"tweakViewDataType","abstract":"TweakableType supports the double type","parent_name":"Double"},"Extensions/UInt.html#/s:Su8MixpanelE25isValidNestedTypeAndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"Checks if this object has nested object types that Mixpanel supports.","parent_name":"UInt"},"Extensions/UInt.html#/s:Su8MixpanelE6equals3rhsSbAA0A4Type_p_tF":{"name":"equals(rhs:)","abstract":"Undocumented","parent_name":"UInt"},"Extensions/Int.html#/s:Si8MixpanelE25isValidNestedTypeAndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"Checks if this object has nested object types that Mixpanel supports.","parent_name":"Int"},"Extensions/Int.html#/s:Si8MixpanelE6equals3rhsSbAA0A4Type_p_tF":{"name":"equals(rhs:)","abstract":"Undocumented","parent_name":"Int"},"Extensions/Int.html#/s:Si8MixpanelE17tweakViewDataTypeAA05TweakcdE0OvpZ":{"name":"tweakViewDataType","abstract":"TweakableType supports the integer type","parent_name":"Int"},"Extensions/NSNumber.html#/s:So8NSNumberC8MixpanelE25isValidNestedTypeAndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"Checks if this object has nested object types that Mixpanel supports.","parent_name":"NSNumber"},"Extensions/NSNumber.html#/s:So8NSNumberC8MixpanelE6equals3rhsSbAC0B4Type_p_tF":{"name":"equals(rhs:)","abstract":"Undocumented","parent_name":"NSNumber"},"Extensions/NSString.html#/s:So8NSStringC8MixpanelE25isValidNestedTypeAndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"Checks if this object has nested object types that Mixpanel supports.","parent_name":"NSString"},"Extensions/NSString.html#/s:So8NSStringC8MixpanelE6equals3rhsSbAC0B4Type_p_tF":{"name":"equals(rhs:)","abstract":"Undocumented","parent_name":"NSString"},"Extensions/String.html#/s:SS8MixpanelE25isValidNestedTypeAndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"Checks if this object has nested object types that Mixpanel supports.","parent_name":"String"},"Extensions/String.html#/s:SS8MixpanelE6equals3rhsSbAA0A4Type_p_tF":{"name":"equals(rhs:)","abstract":"Undocumented","parent_name":"String"},"Extensions/String.html#/s:SS8MixpanelE17tweakViewDataTypeAA05TweakcdE0OvpZ":{"name":"tweakViewDataType","abstract":"TweakableType supports the string type","parent_name":"String"},"Extensions/Optional.html#/s:Sq8MixpanelE25isValidNestedTypeAndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"Checks if this object has nested object types that Mixpanel supports.","parent_name":"Optional"},"Extensions/Optional.html#/s:Sq8MixpanelE6equals3rhsSbAA0A4Type_p_tF":{"name":"equals(rhs:)","abstract":"Undocumented","parent_name":"Optional"},"Extensions/Array.html#/s:Sa8MixpanelE25isValidNestedTypeAndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"Checks if this object has nested object types that Mixpanel supports.","parent_name":"Array"},"Extensions/Array.html#/s:Sa8MixpanelE6equals3rhsSbAA0A4Type_p_tF":{"name":"equals(rhs:)","abstract":"Undocumented","parent_name":"Array"},"Extensions/UIColor.html#/s:So7UIColorC8MixpanelE5MPHexABSu_tcfc":{"name":"init(MPHex:)","abstract":"The shorthand four-digit hexadecimal representation of color with alpha.","parent_name":"UIColor"},"Extensions/UIColor.html":{"name":"UIColor"},"Extensions/Array.html":{"name":"Array"},"Extensions/Optional.html":{"name":"Optional"},"Extensions/String.html":{"name":"String"},"Extensions/NSString.html":{"name":"NSString"},"Extensions/NSNumber.html":{"name":"NSNumber"},"Extensions/Int.html":{"name":"Int"},"Extensions/UInt.html":{"name":"UInt"},"Extensions/Double.html":{"name":"Double"},"Extensions/Float.html":{"name":"Float"},"Extensions/Bool.html":{"name":"Bool"},"Extensions/Date.html":{"name":"Date"},"Extensions/URL.html":{"name":"URL"},"Extensions/NSNull.html":{"name":"NSNull"},"Extensions/NSArray.html":{"name":"NSArray"},"Extensions/Dictionary.html":{"name":"Dictionary"},"Extensions/CGFloat.html":{"name":"CGFloat"},"Enums/TweakViewDataType.html#/s:8Mixpanel17TweakViewDataTypeO7booleanyA2CmF":{"name":"boolean","abstract":"TweakableType supports the boolean type","parent_name":"TweakViewDataType"},"Enums/TweakViewDataType.html#/s:8Mixpanel17TweakViewDataTypeO7integeryA2CmF":{"name":"integer","abstract":"TweakableType supports the integer type","parent_name":"TweakViewDataType"},"Enums/TweakViewDataType.html#/s:8Mixpanel17TweakViewDataTypeO7cgFloatyA2CmF":{"name":"cgFloat","abstract":"TweakableType supports the cgFloat type","parent_name":"TweakViewDataType"},"Enums/TweakViewDataType.html#/s:8Mixpanel17TweakViewDataTypeO6doubleyA2CmF":{"name":"double","abstract":"TweakableType supports the double type","parent_name":"TweakViewDataType"},"Enums/TweakViewDataType.html#/s:8Mixpanel17TweakViewDataTypeO6stringyA2CmF":{"name":"string","abstract":"TweakableType supports the string type","parent_name":"TweakViewDataType"},"Enums/TweakViewDataType.html":{"name":"TweakViewDataType","abstract":"The data types that are currently supported for SwiftTweaks."},"Classes/MixpanelPushNotifications.html#/s:8Mixpanel0A17PushNotificationsC02isaB12NotificationySbSo21UNNotificationContentCFZ":{"name":"isMixpanelPushNotification(_:)","abstract":"Undocumented","parent_name":"MixpanelPushNotifications"},"Classes/MixpanelPushNotifications.html#/s:8Mixpanel0A17PushNotificationsC10trackEvent_10properties7requestySS_SDySSAA0A4Type_pGSo21UNNotificationRequestCtFZ":{"name":"trackEvent(_:properties:request:)","abstract":"Undocumented","parent_name":"MixpanelPushNotifications"},"Classes/People.html#/s:8Mixpanel6PeopleC10ignoreTimeSbvp":{"name":"ignoreTime","abstract":"controls the $ignore_time property in any subsequent MixpanelPeople operation.","parent_name":"People"},"Classes/People.html#/s:8Mixpanel6PeopleC18addPushDeviceTokenyy10Foundation4DataVF":{"name":"addPushDeviceToken(_:)","abstract":"Register the given device to receive push notifications.","parent_name":"People"},"Classes/People.html#/s:8Mixpanel6PeopleC25removeAllPushDeviceTokensyyF":{"name":"removeAllPushDeviceTokens()","abstract":"Unregister the given device to receive push notifications.","parent_name":"People"},"Classes/People.html#/s:8Mixpanel6PeopleC21removePushDeviceTokenyy10Foundation4DataVF":{"name":"removePushDeviceToken(_:)","abstract":"Unregister a specific device token from the ability to receive push notifications.","parent_name":"People"},"Classes/People.html#/s:8Mixpanel6PeopleC3set10propertiesySDySSAA0A4Type_pG_tF":{"name":"set(properties:)","abstract":"Set properties on the current user in Mixpanel People.","parent_name":"People"},"Classes/People.html#/s:8Mixpanel6PeopleC3set8property2toySS_AA0A4Type_ptF":{"name":"set(property:to:)","abstract":"Convenience method for setting a single property in Mixpanel People.","parent_name":"People"},"Classes/People.html#/s:8Mixpanel6PeopleC7setOnce10propertiesySDySSAA0A4Type_pG_tF":{"name":"setOnce(properties:)","abstract":"Set properties on the current user in Mixpanel People, but doesn’t overwrite if","parent_name":"People"},"Classes/People.html#/s:8Mixpanel6PeopleC5unset10propertiesySaySSG_tF":{"name":"unset(properties:)","abstract":"Remove a list of properties and their values from the current user’s profile","parent_name":"People"},"Classes/People.html#/s:8Mixpanel6PeopleC9increment10propertiesySDySSAA0A4Type_pG_tF":{"name":"increment(properties:)","abstract":"Increment the given numeric properties by the given values.","parent_name":"People"},"Classes/People.html#/s:8Mixpanel6PeopleC9increment8property2byySS_SdtF":{"name":"increment(property:by:)","abstract":"Convenience method for incrementing a single numeric property by the specified","parent_name":"People"},"Classes/People.html#/s:8Mixpanel6PeopleC6append10propertiesySDySSAA0A4Type_pG_tF":{"name":"append(properties:)","abstract":"Append values to list properties.","parent_name":"People"},"Classes/People.html#/s:8Mixpanel6PeopleC6remove10propertiesySDySSAA0A4Type_pG_tF":{"name":"remove(properties:)","abstract":"Removes list properties.","parent_name":"People"},"Classes/People.html#/s:8Mixpanel6PeopleC5union10propertiesySDySSAA0A4Type_pG_tF":{"name":"union(properties:)","abstract":"Union list properties.","parent_name":"People"},"Classes/People.html#/s:8Mixpanel6PeopleC11trackCharge6amount10propertiesySd_SDySSAA0A4Type_pGSgtF":{"name":"trackCharge(amount:properties:)","abstract":"Track money spent by the current user for revenue analytics and associate","parent_name":"People"},"Classes/People.html#/s:8Mixpanel6PeopleC12clearChargesyyF":{"name":"clearCharges()","abstract":"Delete current user’s revenue history.","parent_name":"People"},"Classes/People.html#/s:8Mixpanel6PeopleC10deleteUseryyF":{"name":"deleteUser()","abstract":"Delete current user’s record from Mixpanel People.","parent_name":"People"},"Classes/MixpanelNotificationServiceExtension.html#/c:@M@Mixpanel@objc(cs)MixpanelNotificationServiceExtension(im)didReceiveNotificationRequest:withContentHandler:":{"name":"didReceive(_:withContentHandler:)","abstract":"Undocumented","parent_name":"MixpanelNotificationServiceExtension"},"Classes/MixpanelNotificationServiceExtension.html#/c:@M@Mixpanel@objc(cs)MixpanelNotificationServiceExtension(im)serviceExtensionTimeWillExpire":{"name":"serviceExtensionTimeWillExpire()","abstract":"Undocumented","parent_name":"MixpanelNotificationServiceExtension"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC8apiTokenSSvp":{"name":"apiToken","abstract":"apiToken string that identifies the project to track data to","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC8delegateAA0A8Delegate_pSgvp":{"name":"delegate","abstract":"The a MixpanelDelegate object that gives control over Mixpanel network activity.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC10distinctIdSSvp":{"name":"distinctId","abstract":"distinctId string that uniquely identifies the current user.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC11anonymousIdSSSgvp":{"name":"anonymousId","abstract":"anonymousId string that uniquely identifies the device.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC6userIdSSSgvp":{"name":"userId","abstract":"userId string that identify is called with.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC22hadPersistedDistinctIdSbSgvp":{"name":"hadPersistedDistinctId","abstract":"hadPersistedDistinctId is a boolean value which specifies that the stored distinct_id","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC5aliasSSSgvp":{"name":"alias","abstract":"alias string that uniquely identifies the current user.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC6peopleAA6PeopleCSgvp":{"name":"people","abstract":"Accessor to the Mixpanel People API object.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC28showNetworkActivityIndicatorSbvp":{"name":"showNetworkActivityIndicator","abstract":"Controls whether to show spinning network activity indicator when flushing","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC27trackAutomaticEventsEnabledSbSgvp":{"name":"trackAutomaticEventsEnabled","abstract":"This allows enabling or disabling collecting common mobile events","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC13flushIntervalSdvp":{"name":"flushInterval","abstract":"Flush timer’s interval.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC17flushOnBackgroundSbvp":{"name":"flushOnBackground","abstract":"Control whether the library should flush data to Mixpanel when the app","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC26useIPAddressForGeoLocationSbvp":{"name":"useIPAddressForGeoLocation","abstract":"Controls whether to automatically send the client IP Address as part of","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC9serverURLSSvp":{"name":"serverURL","abstract":"The base URL used for Mixpanel API requests.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:s28CustomDebugStringConvertibleP16debugDescriptionSSvp":{"name":"debugDescription","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC14loggingEnabledSbvp":{"name":"loggingEnabled","abstract":"This allows enabling or disabling of all Mixpanel logs at run time.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC4nameSSvp":{"name":"name","abstract":"A unique identifier for this MixpanelInstance","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC29enableVisualEditorForCodelessSbvp":{"name":"enableVisualEditorForCodeless","abstract":"Controls whether to enable the visual editor for codeless on mixpanel.com","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC24checkForVariantsOnActiveSbvp":{"name":"checkForVariantsOnActive","abstract":"Controls whether to automatically check for A/B test variants for the","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC28checkForNotificationOnActiveSbvp":{"name":"checkForNotificationOnActive","abstract":"Controls whether to automatically check for notifications for the","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC24showNotificationOnActiveSbvp":{"name":"showNotificationOnActive","abstract":"Controls whether to automatically check for and show in-app notifications","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC32miniNotificationPresentationTimeSdvp":{"name":"miniNotificationPresentationTime","abstract":"Determines the time, in seconds, that a mini notification will remain on","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC22minimumSessionDurations6UInt64Vvp":{"name":"minimumSessionDuration","abstract":"The minimum session duration (ms) that is tracked in automatic events.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC22maximumSessionDurations6UInt64Vvp":{"name":"maximumSessionDuration","abstract":"The maximum session duration (ms) that is tracked in automatic events.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC8identify10distinctId9usePeople10completionySS_SbyycSgtF":{"name":"identify(distinctId:usePeople:completion:)","abstract":"Sets the distinct ID of the current user.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC11createAlias_10distinctId9usePeople10completionySS_SSSbyycSgtF":{"name":"createAlias(_:distinctId:usePeople:completion:)","abstract":"The alias method creates an alias which Mixpanel will use to remap one id to another.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC5reset10completionyyycSg_tF":{"name":"reset(completion:)","abstract":"Clears all stored properties including the distinct Id.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC7archiveyyF":{"name":"archive()","abstract":"Writes current project info including the distinct Id, super properties,","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/archive()":{"name":"archive()","abstract":"Writes current project info including the distinct Id, super properties,","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC5flush10completionyyycSg_tF":{"name":"flush(completion:)","abstract":"Uploads queued data to the Mixpanel server.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC5track5event10propertiesySSSg_SDySSAA0A4Type_pGSgtF":{"name":"track(event:properties:)","abstract":"Tracks an event with properties.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC15trackWithGroups5event10properties6groupsySSSg_SDySSAA0A4Type_pGSgAKtF":{"name":"trackWithGroups(event:properties:groups:)","abstract":"Tracks an event with properties and to specific groups.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC8getGroup8groupKey0E2IDAA0D0CSS_AA0A4Type_ptF":{"name":"getGroup(groupKey:groupID:)","abstract":"Undocumented","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC4time5eventySS_tF":{"name":"time(event:)","abstract":"Starts a timer that will be stopped and added as a property when a","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC16eventElapsedTime0C0SdSS_tF":{"name":"eventElapsedTime(event:)","abstract":"Retrieves the time elapsed for the named event since time(event:) was called.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC16clearTimedEventsyyF":{"name":"clearTimedEvents()","abstract":"Clears all current event timers.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC15clearTimedEvent5eventySS_tF":{"name":"clearTimedEvent(event:)","abstract":"Clears the event timer for the named event.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC22currentSuperPropertiesSDySSypGyF":{"name":"currentSuperProperties()","abstract":"Returns the currently set super properties.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC20clearSuperPropertiesyyF":{"name":"clearSuperProperties()","abstract":"Clears all currently set super properties.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC23registerSuperPropertiesyySDySSAA0A4Type_pGF":{"name":"registerSuperProperties(_:)","abstract":"Registers super properties, overwriting ones that have already been set.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC27registerSuperPropertiesOnce_12defaultValueySDySSAA0A4Type_pG_AaF_pSgtF":{"name":"registerSuperPropertiesOnce(_:defaultValue:)","abstract":"Registers super properties without overwriting ones that have already been set,","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC23unregisterSuperPropertyyySSF":{"name":"unregisterSuperProperty(_:)","abstract":"Removes a previously registered super property.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC8setGroup8groupKey0E2IDySS_AA0A4Type_ptF":{"name":"setGroup(groupKey:groupID:)","abstract":"Convenience method to set a single group the user belongs to.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC8setGroup8groupKey0E3IDsySS_SayAA0A4Type_pGtF":{"name":"setGroup(groupKey:groupIDs:)","abstract":"Set the groups this user belongs to.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC8addGroup8groupKey0E2IDySS_AA0A4Type_ptF":{"name":"addGroup(groupKey:groupID:)","abstract":"Add a group to this user’s membership for a particular group key","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC11removeGroup8groupKey0E2IDySS_AA0A4Type_ptF":{"name":"removeGroup(groupKey:groupID:)","abstract":"Remove a group from this user’s membership for a particular group key","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC14optOutTrackingyyF":{"name":"optOutTracking()","abstract":"Opt out tracking.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC13optInTracking10distinctId10propertiesySSSg_SDySSAA0A4Type_pGSgtF":{"name":"optInTracking(distinctId:properties:)","abstract":"Opt in tracking.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC19hasOptedOutTrackingSbyF":{"name":"hasOptedOutTracking()","abstract":"Returns if the current user has opted out tracking.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC15joinExperiments8callbackyyycSg_tF":{"name":"joinExperiments(callback:)","abstract":"Join any experiments (A/B tests) that are available for the current user.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC16showNotificationyyF":{"name":"showNotification()","abstract":"Shows a notification if one is available.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC16showNotification4typeySS_tF":{"name":"showNotification(type:)","abstract":"Shows a notification with the given type if one is available.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC16showNotification2IDySi_tF":{"name":"showNotification(ID:)","abstract":"Shows a notification with the given ID","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC24fetchNotificationPayload10completionyySDySSyXlGSgc_tF":{"name":"fetchNotificationPayload(completion:)","abstract":"Returns the payload of a notification if available","parent_name":"MixpanelInstance"},"Classes/Mixpanel.html#/s:8MixpanelAAC10initialize5token13launchOptions13flushInterval12instanceName21automaticPushTracking06optOutL9ByDefaultAA0A8InstanceCSS_SDySo019UIApplicationLaunchE3KeyaypGSgSdSSS2btFZ":{"name":"initialize(token:launchOptions:flushInterval:instanceName:automaticPushTracking:optOutTrackingByDefault:)","abstract":"Initializes an instance of the API with the given project token.","parent_name":"Mixpanel"},"Classes/Mixpanel.html#/initialize(token:flushInterval:instanceName:optOutTrackingByDefault:)":{"name":"initialize(token:flushInterval:instanceName:optOutTrackingByDefault:)","abstract":"Initializes an instance of the API with the given project token (MAC OS ONLY).","parent_name":"Mixpanel"},"Classes/Mixpanel.html#/s:8MixpanelAAC11getInstance4nameAA0aC0CSgSS_tFZ":{"name":"getInstance(name:)","abstract":"Gets the mixpanel instance with the given name","parent_name":"Mixpanel"},"Classes/Mixpanel.html#/s:8MixpanelAAC12mainInstanceAA0aC0CyFZ":{"name":"mainInstance()","abstract":"Returns the main instance that was initialized.","parent_name":"Mixpanel"},"Classes/Mixpanel.html#/s:8MixpanelAAC15setMainInstance4nameySS_tFZ":{"name":"setMainInstance(name:)","abstract":"Sets the main instance based on the instance name","parent_name":"Mixpanel"},"Classes/Mixpanel.html#/s:8MixpanelAAC14removeInstance4nameySS_tFZ":{"name":"removeInstance(name:)","abstract":"Removes an unneeded Mixpanel instance based on its name","parent_name":"Mixpanel"},"Classes/Group.html#/s:8Mixpanel5GroupC3set10propertiesySDySSAA0A4Type_pG_tF":{"name":"set(properties:)","abstract":"Sets properties on this group.","parent_name":"Group"},"Classes/Group.html#/s:8Mixpanel5GroupC3set8property2toySS_AA0A4Type_ptF":{"name":"set(property:to:)","abstract":"Convenience method for setting a single property in Mixpanel Groups.","parent_name":"Group"},"Classes/Group.html#/s:8Mixpanel5GroupC7setOnce10propertiesySDySSAA0A4Type_pG_tF":{"name":"setOnce(properties:)","abstract":"Sets properties on the current Mixpanel Group, but doesn’t overwrite if","parent_name":"Group"},"Classes/Group.html#/s:8Mixpanel5GroupC5unset8propertyySS_tF":{"name":"unset(property:)","abstract":"Remove a property and its value from a group’s profile in Mixpanel Groups.","parent_name":"Group"},"Classes/Group.html#/s:8Mixpanel5GroupC6remove3key5valueySS_AA0A4Type_ptF":{"name":"remove(key:value:)","abstract":"Removes list properties.","parent_name":"Group"},"Classes/Group.html#/s:8Mixpanel5GroupC5union3key6valuesySS_SayAA0A4Type_pGtF":{"name":"union(key:values:)","abstract":"Union list properties.","parent_name":"Group"},"Classes/Group.html#/s:8Mixpanel5GroupC06deleteB0yyF":{"name":"deleteGroup()","abstract":"Delete group’s record from Mixpanel Groups.","parent_name":"Group"},"Classes/Group.html":{"name":"Group","abstract":"Access to the Mixpanel Groups API, available through the getGroup function from"},"Classes/Mixpanel.html":{"name":"Mixpanel","abstract":"The primary class for integrating Mixpanel with your app."},"Classes/MixpanelInstance.html":{"name":"MixpanelInstance","abstract":"The class that represents the Mixpanel Instance"},"Classes/MixpanelNotificationServiceExtension.html":{"name":"MixpanelNotificationServiceExtension","abstract":"Undocumented"},"Classes/People.html":{"name":"People","abstract":"Access to the Mixpanel People API, available as an accessible variable from"},"Classes/MixpanelPushNotifications.html":{"name":"MixpanelPushNotifications","abstract":"Undocumented"},"Classes.html#/s:8Mixpanel10TweakStoreC":{"name":"TweakStore","abstract":"Looks up the persisted state for tweaks."},"Classes.html":{"name":"Classes","abstract":"The following classes are available globally."},"Enums.html":{"name":"Enumerations","abstract":"The following enumerations are available globally."},"Extensions.html":{"name":"Extensions","abstract":"The following extensions are available globally."},"Functions.html":{"name":"Functions","abstract":"The following functions are available globally."},"Protocols.html":{"name":"Protocols","abstract":"The following protocols are available globally."},"Structs.html":{"name":"Structures","abstract":"The following structures are available globally."},"Typealiases.html":{"name":"Type Aliases","abstract":"The following type aliases are available globally."}} \ No newline at end of file diff --git a/docs/docsets/Mixpanel.docset/Contents/Resources/docSet.dsidx b/docs/docsets/Mixpanel.docset/Contents/Resources/docSet.dsidx index 527a2f16..360cfdea 100644 Binary files a/docs/docsets/Mixpanel.docset/Contents/Resources/docSet.dsidx and b/docs/docsets/Mixpanel.docset/Contents/Resources/docSet.dsidx differ diff --git a/docs/docsets/Mixpanel.tgz b/docs/docsets/Mixpanel.tgz index d376333f..8b9cbd2e 100644 Binary files a/docs/docsets/Mixpanel.tgz and b/docs/docsets/Mixpanel.tgz differ diff --git a/docs/index.html b/docs/index.html index 3fbf72db..e8aa8cd9 100644 --- a/docs/index.html +++ b/docs/index.html @@ -16,7 +16,7 @@ - Mixpanel 2.10.2 Docs (87% documented) + Mixpanel 2.10.3 Docs (87% documented) View on GitHub @@ -188,8 +188,7 @@ - - + @@ -201,196 +200,152 @@ Table of Contents -Introduction +Overview +Quick Start Guide -Current supported features - -Installation - - -CocoaPods -Carthage -Manual Installation - -Initializing and Usage - - -Integrate -Start tracking +Install Mixpanel +Initialize Mixpanel +Send Data +Check for Success +Complete Code Example +FAQ +I want to know more! -Introduction +Overview Welcome to the official Mixpanel Swift Library -The Mixpanel Swift library for iOS is an open-source project, and we’d love to see your contributions! +The Mixpanel Swift library for iOS is an open-source project, and we’d love to see your contributions! We’d also love for you to come and work with us! Check out Jobs for details. If you are using Objective-C, we recommend using our Objective-C Library. - -Current supported features - -Our master branch and our releases are now on Swift 5. - -If you wish to use our Swift 4.2 implementation, please point to the v2.6.1 release. For Swift 4/4.1 implementation, please point to the v2.4.5 release. For Swift 3 implementation, please point to the v2.2.3 release. For Swift 2.3 implementation, please point to the v1.0.1 release. +Check out our Advanced iOS Swift Guide for additional advanced configurations and use cases, like setting up your project with European Union data storage. +Quick Start Guide -Our Swift library fully supports all of the Mixpanel features and has full parity with the Objective-C Library. +Our master branch and our releases are on Swift 5. If you wish to use our Swift 4.2 implementation, please point to the v2.6.1 release. For Swift 4/4.1 implementation, please point to the v2.4.5 release. For Swift 3 implementation, please point to the v2.2.3 release. +1. Install Mixpanel - -Installation +You will need your project token for initializing your library. You can get your project token from project settings. +Installation Option 1: Swift Package Manager -On Jan 1, 2022, we’ll remove the Messages & Experiments feature from Mixpanel. For now, you can choose to opt in to our beta version without Messages & Experiments feature support. You can use Swift Package Manager to install the beta version: +The easiest way to get Mixpanel into your iOS project is to use Swift Package Manager(requires Xcode 12+). In Xcode, select File > Swift Packages > Add Package Dependency. -Follow the prompts using the URL for this repository and point to the branch 3.0.0.beta +Follow the prompts using the Github URL for Mixpanel Swift library and a minimum semantic version of v2.8.0. -Swift Package Manager -It requires Xcode 12+ and v2.8.0+ release - -Important: It only supports for iOS, if you need integrations for other platforms(tvOS or macOS), please use other integration methods instead or use our beta version by pointing to the branch 3.0.0.beta +On Jan 1, 2022, we’ll remove the Messages & Experiments feature from Mixpanel. For now, you can choose to opt in to our beta version without Messages & Experiments feature support. You can use Swift Package Manager to point to the branch 3.0.0.beta +Installation Option 2: CocoaPods -In Xcode, select File > Swift Packages > Add Package Dependency. -Follow the prompts using the URL for this repository and a minimum semantic version of v2.8.0 +If this is your first time using CocoaPods, Install CocoaPods using gem install cocoapods. Otherwise, continue to Step 3. +Run pod setup to create a local CocoaPods spec mirror. +Create a Podfile in your Xcode project directory by running pod init in your terminal, edit the Podfile generated, and add the following line: pod 'Mixpanel-swift'. +Run pod install in your Xcode project directory. CocoaPods should download and install the Mixpanel library, and create a new Xcode workspace. Open up this workspace in Xcode or typing open *.xcworkspace in your terminal. +Installation Option 3: Carthage -Check out our swift integration guide » for more info. -CocoaPods - -Our current release only supports CocoaPods version 1.4.0+ - -Mixpanel supports CocoaPods for easy installation. -To Install, see our swift integration guide » - -For iOS, tvOS, macOS, and App Extension integrations: - -pod 'Mixpanel-swift' - - -Carthage - -Mixpanel also supports Carthage to package your dependencies as a framework. Include the following dependency in your Cartfile: - -github "mixpanel/mixpanel-swift" - -Check out the Carthage docs » for more info. +Mixpanel supports Carthage to package your dependencies as a framework. Include the following dependency in your Cartfile: +github "mixpanel/mixpanel-swift" + - -Manual Installation +Check out the Carthage docs for more info. +2. Initialize Mixpanel -To help users stay up to date with the latest version of our Swift SDK, we always recommend integrating our SDK via CocoaPods, which simplifies version updates and dependency management. However, there are cases where users can’t use CocoaPods. Not to worry, just follow these manual installation steps and you’ll be all set. -Step 1: Add as a Submodule +Import Mixpanel into AppDelegate.swift, and initialize Mixpanel within application:didFinishLaunchingWithOptions: +import Mixpanel -Add Mixpanel as a submodule to your local git repo like so: -git submodule add git@github.com:mixpanel/mixpanel-swift.git +func application(_ application: UIApplication, + didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool { + ... + Mixpanel.initialize(token: "MIXPANEL_TOKEN") + ... +} -Now the Mixpanel project and its files should be in your project folder! -Step 2: Drag Mixpanel to your project +See all configuration options +3. Send Data -Drag the Mixpanel.xcodeproj inside your sample project under the main sample project file: - - -Step 3: Embed the framework +Let’s get started by sending event data. You can send an event from anywhere in your application. Better understand user behavior by storing details that are specific to the event (properties). After initializing the library, Mixpanel will automatically collect common mobile events. You can enable/disable automatic collection through your project settings. Also, Mixpanel automatically tracks some properties by default. learn more +Mixpanel.mainInstance().track(event: "Sign Up", properties: [ + "source": "Pat's affiliate site", + "Opted out of email": true +]) + -Select your app .xcodeproj file. Under “General”, add the Mixpanel framework as an embedded binary: +In addition to event data, you can also send user profile data. We recommend this after completing the quickstart guide. +4. Check for Success - +Open up Live View in Mixpanel to view incoming events. - -Initializing and Usage +Once data hits our API, it generally takes ~60 seconds for it to be processed, stored, and queryable in your project. +Complete Code Example - -Integrate +Here’s a runnable code example that covers everything in this quickstart guide. +import Mixpanel -Import Mixpanel into AppDelegate.swift, and initialize Mixpanel within application:didFinishLaunchingWithOptions: - -func application(_ application: UIApplication, +func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool { + ... Mixpanel.initialize(token: "MIXPANEL_TOKEN") + Mixpanel.mainInstance().track(event: "Sign Up", properties: [ + "source": "Pat's affiliate site", + "Opted out of email": true + ]) + ... } +FAQ -You initialize your Mixpanel instance with the token provided to you on mixpanel.com. - - -Start tracking - -After installing the library into your iOS app, Mixpanel will automatically collect common mobile events. You can enable/ disable automatic collection through your project settings. - -To interact with the instance and track additional events, you can either use the mixpanel instance given when initializing: -mixpanel.track(event: "Tracked Event!") - +I want to stop tracking an event/event property in Mixpanel. Is that possible? -or you can directly fetch the instance and use it from the Mixpanel object: -Mixpanel.mainInstance().track(event: "Tracked Event!") - +Yes, in Lexicon, you can intercept and drop incoming events or properties. Mixpanel won’t store any new data for the event or property you select to drop. See this article for more information. -You’re done! You’ve successfully integrated the Mixpanel Swift SDK into your app. To stay up to speed on important SDK releases and updates, star or watch our repository on Github. +I have a test user I would like to opt out of tracking. How do I do that? -Have any questions? Reach out to support@mixpanel.com to speak to someone smart, quickly. -Using Mixpanel Push Notifications +Mixpanel’s client-side tracking library contains the optOutTracking() method, which will set the user’s local opt-out state to “true” and will prevent data from being sent from a user’s device. More detailed instructions can be found in the section, Opting users out of tracking. -First enable Mixpanel push notifications in your app. Then for Rich Push Notifications, you’ll need to integrate your application with the MixpanelNotificationServiceExtension. -Integrating the MixpanelNotificationServiceExtension +Why aren’t my events showing up? -The Mixpanel SDK comes with a custom Notification Service Extension used to render rich media, custom action buttons, and track when push notifications are received. To enable these features, you will need to integrate it into your application. -1. Create a new Notification Service Extension Target +To preserve battery life and customer bandwidth, the Mixpanel library doesn’t send the events you record immediately. Instead, it sends batches to the Mixpanel servers every 60 seconds while your application is running, as well as when the application transitions to the background. You can call flush() manually if you want to force a flush at a particular moment. +Mixpanel.mainInstance().flush() + - - - -2. Add Mixpanel-swift as a dependency +If your events are still not showing up after 60 seconds, check if you have opted out of tracking. You can also enable Mixpanel debugging and logging, it allows you to see the debug output from the Mixpanel library. To enable it, set loggingEnabled to true. +Mixpanel.mainInstance().loggingEnabled = true + -Add the following to the end of your Podfile: -target 'NotificationService' do - use_frameworks! +Starting with iOS 14.5, do I need to request the user’s permission through the AppTrackingTransparency framework to use Mixpanel? - pod 'Mixpanel-swift' -end - +No, Mixpanel does not use IDFA so it does not require user permission through the AppTrackingTransparency(ATT) framework. -Then run pod install -3. Extend your NotificationService from MixpanelNotificationServiceExtension +If I use Mixpanel, how do I answer app privacy questions for the App Store? -Replace the contents of your NotificationService.swift file with the following: -import Mixpanel +Please refer to our Apple App Developer Privacy Guidance +I want to know more! -class NotificationService: MixpanelNotificationServiceExtension {} - -4. Delegate the handling of the notification response to the Mixpanel SDK - -In your AppDelegate.swift file, you need to call MixpanelPushNotifications.handleResponse when a push notification response is received: -@available(iOS 10.0, *) -func userNotificationCenter(_ center: UNUserNotificationCenter, didReceive response: UNNotificationResponse, withCompletionHandler completionHandler: @escaping () -> Void) { - if MixpanelPushNotifications.isMixpanelPushNotification(response.notification.request.content) { - debugPrint("Handling Mixpanel push notification response...") - MixpanelPushNotifications.handleResponse(response: response, withCompletionHandler: completionHandler) - } else { - // not a Mixpanel push notification - debugPrint("Not a Mixpanel push notification.") - completionHandler() - } -} - +No worries, here are some links that you will find useful: -This will make sure the tap actions are appropriately handled (open URL, deeplink, etc) as well as track whether a notification was tapped or dismissed. -5. Run the app and send a test push notification from Mixpanel that includes an image or buttons + +Advanced iOS - Swift Guide +Sample app +Full API Reference + -That’s it! Your app should now be able to receive rich push notifications from Mixpanel. +Have any questions? Reach out to Mixpanel Support to speak to someone smart, quickly. - © 2021 Mixpanel. All rights reserved. (Last updated: 2021-06-11) + © 2021 Mixpanel. All rights reserved. (Last updated: 2021-08-13) Generated by jazzy ♪♫ v0.13.6, a Realm project. diff --git a/docs/search.json b/docs/search.json index 040a3460..dc8e93ad 100644 --- a/docs/search.json +++ b/docs/search.json @@ -1 +1 @@ -{"Typealiases.html#/s:8Mixpanel10Propertiesa":{"name":"Properties","abstract":"Undocumented"},"Structs/MixpanelTweaks.html#/s:8Mixpanel0A6TweaksV12defaultStoreAA05TweakD0CvpZ":{"name":"defaultStore","abstract":"The default store that holds the Tweaks","parent_name":"MixpanelTweaks"},"Structs/MixpanelTweaks.html#/s:8Mixpanel0A6TweaksV03setB06tweaksySayAA16TweakClusterType_pG_tFZ":{"name":"setTweaks(tweaks:)","abstract":"setTweaks needs to be called to add the defined Tweaks into the environment.","parent_name":"MixpanelTweaks"},"Structs/Tweak.html#/s:8Mixpanel5TweakV9tweakName12defaultValueACyxGSS_xtcfc":{"name":"init(tweakName:defaultValue:)","abstract":"Initializer for a Tweak for A/B Testing","parent_name":"Tweak"},"Structs/Tweak.html#/s:8Mixpanel5TweakV4hash4intoys6HasherVz_tF":{"name":"hash(into:)","abstract":"Hashing for a Tweak for A/B Testing in order for it to be stored.","parent_name":"Tweak"},"Structs/Tweak.html#/s:8Mixpanel16TweakClusterTypeP05tweakC0SayAA03AnyB0VGvp":{"name":"tweakCluster","parent_name":"Tweak"},"Structs/Tweak.html#/s:8Mixpanel5TweakVAASLRzs13SignedNumericRzrlE9tweakName12defaultValue3min3max8stepSizeACyxGSS_xxSgA2Ktcfc":{"name":"init(tweakName:defaultValue:min:max:stepSize:)","abstract":"Creates a Tweak where T: SignedNumberType","parent_name":"Tweak"},"Structs/AnyTweak.html#/s:SH4hash4intoys6HasherVz_tF":{"name":"hash(into:)","parent_name":"AnyTweak"},"Structs/AnyTweak.html#/s:8Mixpanel8AnyTweakV12tweakClusterSayACGvp":{"name":"tweakCluster","abstract":"Allows easy tweak initialization by clustering tweaks together for A/B Testing","parent_name":"AnyTweak"},"Structs/AnyTweak.html":{"name":"AnyTweak","abstract":"A type-erasure around Tweak for A/B Testing."},"Structs/Tweak.html":{"name":"Tweak","abstract":"Tweaks let you adjust things on the fly."},"Structs/MixpanelTweaks.html":{"name":"MixpanelTweaks","abstract":"The MixpanelTweaks struct that needs to be extended to define new Tweaks for A/B testing"},"Protocols/TweakableType.html#/s:8Mixpanel13TweakableTypeP013tweakViewDataC0AA05TweakefC0OvpZ":{"name":"tweakViewDataType","abstract":"The data type of the TweakableType","parent_name":"TweakableType"},"Protocols/TweakLibraryType.html#/s:8Mixpanel16TweakLibraryTypeP12defaultStoreAA0bF0CvpZ":{"name":"defaultStore","abstract":"the default tweak store","parent_name":"TweakLibraryType"},"Protocols/TweakLibraryType.html#/s:8Mixpanel16TweakLibraryTypePAAE6assignyqd__AA0B0Vyqd__GAA09TweakableD0Rd__lFZ":{"name":"assign(_:)","abstract":"Returns the current value for a tweak from the TweakLibrary’s default store.","parent_name":"TweakLibraryType"},"Protocols/TweakLibraryType.html#/s:8Mixpanel16TweakLibraryTypePAAE4bind_7bindingyAA0B0Vyqd__G_yqd__ctAA09TweakableD0Rd__lFZ":{"name":"bind(_:binding:)","abstract":"Immediately binds the currentValue of a given tweak, and then continues to update whenever the tweak changes.","parent_name":"TweakLibraryType"},"Protocols/TweakClusterType.html#/s:8Mixpanel16TweakClusterTypeP05tweakC0SayAA03AnyB0VGvp":{"name":"tweakCluster","abstract":"The tweak cluster to allow easy initialization of Tweaks","parent_name":"TweakClusterType"},"Protocols/MixpanelType.html#/s:8Mixpanel0A4TypeP013isValidNestedB8AndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"Checks if this object has nested object types that Mixpanel supports.","parent_name":"MixpanelType"},"Protocols/MixpanelType.html#/s:8Mixpanel0A4TypeP6equals3rhsSbAaB_p_tF":{"name":"equals(rhs:)","abstract":"Undocumented","parent_name":"MixpanelType"},"Protocols/MixpanelDelegate.html#/s:8Mixpanel0A8DelegateP17mixpanelWillFlushySbAA0A8InstanceCF":{"name":"mixpanelWillFlush(_:)","abstract":"Asks the delegate if data should be uploaded to the server.","parent_name":"MixpanelDelegate"},"Protocols/MixpanelDelegate.html":{"name":"MixpanelDelegate","abstract":"Delegate protocol for controlling the Mixpanel API’s network behavior."},"Protocols/MixpanelType.html":{"name":"MixpanelType","abstract":"Property keys must be String objects and the supported value types need to conform to MixpanelType."},"Protocols/TweakClusterType.html":{"name":"TweakClusterType","abstract":"This protocol allows for easy initialization of TweakStore."},"Protocols/TweakLibraryType.html":{"name":"TweakLibraryType","abstract":"Create a public struct in your application that conforms to this protocol to declare your own tweaks!"},"Protocols/TweakableType.html":{"name":"TweakableType","abstract":"To add a new to our Tweak, make T conform to this protocol."},"Functions.html#/s:8Mixpanel2eeoiySbAA8AnyTweakV_ADtF":{"name":"==(_:_:)","abstract":"Comparator between two tweaks for A/B Testing."},"Functions.html#/s:8Mixpanel2eeoiySbAA5TweakVyxG_AEtAA13TweakableTypeRzlF":{"name":"==(_:_:)","abstract":"Comparator between two tweaks for A/B Testing."},"Extensions/CGFloat.html#/s:12CoreGraphics7CGFloatV8MixpanelE17tweakViewDataTypeAD05TweakfgH0OvpZ":{"name":"tweakViewDataType","abstract":"TweakableType supports the cgFloat type","parent_name":"CGFloat"},"Extensions/Dictionary.html#/s:SD8MixpanelE25isValidNestedTypeAndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"Checks if this object has nested object types that Mixpanel supports.","parent_name":"Dictionary"},"Extensions/Dictionary.html#/s:SD8MixpanelE6equals3rhsSbAA0A4Type_p_tF":{"name":"equals(rhs:)","abstract":"Undocumented","parent_name":"Dictionary"},"Extensions/NSArray.html#/s:So7NSArrayC8MixpanelE25isValidNestedTypeAndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"Checks if this object has nested object types that Mixpanel supports.","parent_name":"NSArray"},"Extensions/NSArray.html#/s:So7NSArrayC8MixpanelE6equals3rhsSbAC0B4Type_p_tF":{"name":"equals(rhs:)","abstract":"Undocumented","parent_name":"NSArray"},"Extensions/NSNull.html#/s:So6NSNullC8MixpanelE25isValidNestedTypeAndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"Checks if this object has nested object types that Mixpanel supports.","parent_name":"NSNull"},"Extensions/NSNull.html#/s:So6NSNullC8MixpanelE6equals3rhsSbAC0B4Type_p_tF":{"name":"equals(rhs:)","abstract":"Undocumented","parent_name":"NSNull"},"Extensions/URL.html#/s:10Foundation3URLV8MixpanelE25isValidNestedTypeAndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"Checks if this object has nested object types that Mixpanel supports.","parent_name":"URL"},"Extensions/URL.html#/s:10Foundation3URLV8MixpanelE6equals3rhsSbAD0C4Type_p_tF":{"name":"equals(rhs:)","abstract":"Undocumented","parent_name":"URL"},"Extensions/Date.html#/s:10Foundation4DateV8MixpanelE25isValidNestedTypeAndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"Checks if this object has nested object types that Mixpanel supports.","parent_name":"Date"},"Extensions/Date.html#/s:10Foundation4DateV8MixpanelE6equals3rhsSbAD0C4Type_p_tF":{"name":"equals(rhs:)","abstract":"Undocumented","parent_name":"Date"},"Extensions/Bool.html#/s:Sb8MixpanelE25isValidNestedTypeAndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"Checks if this object has nested object types that Mixpanel supports.","parent_name":"Bool"},"Extensions/Bool.html#/s:Sb8MixpanelE6equals3rhsSbAA0A4Type_p_tF":{"name":"equals(rhs:)","abstract":"Undocumented","parent_name":"Bool"},"Extensions/Bool.html#/s:Sb8MixpanelE17tweakViewDataTypeAA05TweakcdE0OvpZ":{"name":"tweakViewDataType","abstract":"TweakableType supports the boolean type","parent_name":"Bool"},"Extensions/Float.html#/s:Sf8MixpanelE25isValidNestedTypeAndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"Checks if this object has nested object types that Mixpanel supports.","parent_name":"Float"},"Extensions/Float.html#/s:Sf8MixpanelE6equals3rhsSbAA0A4Type_p_tF":{"name":"equals(rhs:)","abstract":"Undocumented","parent_name":"Float"},"Extensions/Double.html#/s:Sd8MixpanelE25isValidNestedTypeAndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"Checks if this object has nested object types that Mixpanel supports.","parent_name":"Double"},"Extensions/Double.html#/s:Sd8MixpanelE6equals3rhsSbAA0A4Type_p_tF":{"name":"equals(rhs:)","abstract":"Undocumented","parent_name":"Double"},"Extensions/Double.html#/s:Sd8MixpanelE17tweakViewDataTypeAA05TweakcdE0OvpZ":{"name":"tweakViewDataType","abstract":"TweakableType supports the double type","parent_name":"Double"},"Extensions/UInt.html#/s:Su8MixpanelE25isValidNestedTypeAndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"Checks if this object has nested object types that Mixpanel supports.","parent_name":"UInt"},"Extensions/UInt.html#/s:Su8MixpanelE6equals3rhsSbAA0A4Type_p_tF":{"name":"equals(rhs:)","abstract":"Undocumented","parent_name":"UInt"},"Extensions/Int.html#/s:Si8MixpanelE25isValidNestedTypeAndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"Checks if this object has nested object types that Mixpanel supports.","parent_name":"Int"},"Extensions/Int.html#/s:Si8MixpanelE6equals3rhsSbAA0A4Type_p_tF":{"name":"equals(rhs:)","abstract":"Undocumented","parent_name":"Int"},"Extensions/Int.html#/s:Si8MixpanelE17tweakViewDataTypeAA05TweakcdE0OvpZ":{"name":"tweakViewDataType","abstract":"TweakableType supports the integer type","parent_name":"Int"},"Extensions/NSNumber.html#/s:So8NSNumberC8MixpanelE25isValidNestedTypeAndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"Checks if this object has nested object types that Mixpanel supports.","parent_name":"NSNumber"},"Extensions/NSNumber.html#/s:So8NSNumberC8MixpanelE6equals3rhsSbAC0B4Type_p_tF":{"name":"equals(rhs:)","abstract":"Undocumented","parent_name":"NSNumber"},"Extensions/NSString.html#/s:So8NSStringC8MixpanelE25isValidNestedTypeAndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"Checks if this object has nested object types that Mixpanel supports.","parent_name":"NSString"},"Extensions/NSString.html#/s:So8NSStringC8MixpanelE6equals3rhsSbAC0B4Type_p_tF":{"name":"equals(rhs:)","abstract":"Undocumented","parent_name":"NSString"},"Extensions/String.html#/s:SS8MixpanelE25isValidNestedTypeAndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"Checks if this object has nested object types that Mixpanel supports.","parent_name":"String"},"Extensions/String.html#/s:SS8MixpanelE6equals3rhsSbAA0A4Type_p_tF":{"name":"equals(rhs:)","abstract":"Undocumented","parent_name":"String"},"Extensions/String.html#/s:SS8MixpanelE17tweakViewDataTypeAA05TweakcdE0OvpZ":{"name":"tweakViewDataType","abstract":"TweakableType supports the string type","parent_name":"String"},"Extensions/Optional.html#/s:Sq8MixpanelE25isValidNestedTypeAndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"Checks if this object has nested object types that Mixpanel supports.","parent_name":"Optional"},"Extensions/Optional.html#/s:Sq8MixpanelE6equals3rhsSbAA0A4Type_p_tF":{"name":"equals(rhs:)","abstract":"Undocumented","parent_name":"Optional"},"Extensions/Array.html#/s:Sa8MixpanelE25isValidNestedTypeAndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"Checks if this object has nested object types that Mixpanel supports.","parent_name":"Array"},"Extensions/Array.html#/s:Sa8MixpanelE6equals3rhsSbAA0A4Type_p_tF":{"name":"equals(rhs:)","abstract":"Undocumented","parent_name":"Array"},"Extensions/UIColor.html#/s:So7UIColorC8MixpanelE5MPHexABSu_tcfc":{"name":"init(MPHex:)","abstract":"The shorthand four-digit hexadecimal representation of color with alpha.","parent_name":"UIColor"},"Extensions/UIColor.html":{"name":"UIColor"},"Extensions/Array.html":{"name":"Array"},"Extensions/Optional.html":{"name":"Optional"},"Extensions/String.html":{"name":"String"},"Extensions/NSString.html":{"name":"NSString"},"Extensions/NSNumber.html":{"name":"NSNumber"},"Extensions/Int.html":{"name":"Int"},"Extensions/UInt.html":{"name":"UInt"},"Extensions/Double.html":{"name":"Double"},"Extensions/Float.html":{"name":"Float"},"Extensions/Bool.html":{"name":"Bool"},"Extensions/Date.html":{"name":"Date"},"Extensions/URL.html":{"name":"URL"},"Extensions/NSNull.html":{"name":"NSNull"},"Extensions/NSArray.html":{"name":"NSArray"},"Extensions/Dictionary.html":{"name":"Dictionary"},"Extensions/CGFloat.html":{"name":"CGFloat"},"Enums/TweakViewDataType.html#/s:8Mixpanel17TweakViewDataTypeO7booleanyA2CmF":{"name":"boolean","abstract":"TweakableType supports the boolean type","parent_name":"TweakViewDataType"},"Enums/TweakViewDataType.html#/s:8Mixpanel17TweakViewDataTypeO7integeryA2CmF":{"name":"integer","abstract":"TweakableType supports the integer type","parent_name":"TweakViewDataType"},"Enums/TweakViewDataType.html#/s:8Mixpanel17TweakViewDataTypeO7cgFloatyA2CmF":{"name":"cgFloat","abstract":"TweakableType supports the cgFloat type","parent_name":"TweakViewDataType"},"Enums/TweakViewDataType.html#/s:8Mixpanel17TweakViewDataTypeO6doubleyA2CmF":{"name":"double","abstract":"TweakableType supports the double type","parent_name":"TweakViewDataType"},"Enums/TweakViewDataType.html#/s:8Mixpanel17TweakViewDataTypeO6stringyA2CmF":{"name":"string","abstract":"TweakableType supports the string type","parent_name":"TweakViewDataType"},"Enums/TweakViewDataType.html":{"name":"TweakViewDataType","abstract":"The data types that are currently supported for SwiftTweaks."},"Classes/MixpanelPushNotifications.html#/s:8Mixpanel0A17PushNotificationsC02isaB12NotificationySbSo21UNNotificationContentCFZ":{"name":"isMixpanelPushNotification(_:)","abstract":"Undocumented","parent_name":"MixpanelPushNotifications"},"Classes/MixpanelPushNotifications.html#/s:8Mixpanel0A17PushNotificationsC10trackEvent_10properties7requestySS_SDySSAA0A4Type_pGSo21UNNotificationRequestCtFZ":{"name":"trackEvent(_:properties:request:)","abstract":"Undocumented","parent_name":"MixpanelPushNotifications"},"Classes/People.html#/s:8Mixpanel6PeopleC10ignoreTimeSbvp":{"name":"ignoreTime","abstract":"controls the $ignore_time property in any subsequent MixpanelPeople operation.","parent_name":"People"},"Classes/People.html#/s:8Mixpanel6PeopleC18addPushDeviceTokenyy10Foundation4DataVF":{"name":"addPushDeviceToken(_:)","abstract":"Register the given device to receive push notifications.","parent_name":"People"},"Classes/People.html#/s:8Mixpanel6PeopleC25removeAllPushDeviceTokensyyF":{"name":"removeAllPushDeviceTokens()","abstract":"Unregister the given device to receive push notifications.","parent_name":"People"},"Classes/People.html#/s:8Mixpanel6PeopleC21removePushDeviceTokenyy10Foundation4DataVF":{"name":"removePushDeviceToken(_:)","abstract":"Unregister a specific device token from the ability to receive push notifications.","parent_name":"People"},"Classes/People.html#/s:8Mixpanel6PeopleC3set10propertiesySDySSAA0A4Type_pG_tF":{"name":"set(properties:)","abstract":"Set properties on the current user in Mixpanel People.","parent_name":"People"},"Classes/People.html#/s:8Mixpanel6PeopleC3set8property2toySS_AA0A4Type_ptF":{"name":"set(property:to:)","abstract":"Convenience method for setting a single property in Mixpanel People.","parent_name":"People"},"Classes/People.html#/s:8Mixpanel6PeopleC7setOnce10propertiesySDySSAA0A4Type_pG_tF":{"name":"setOnce(properties:)","abstract":"Set properties on the current user in Mixpanel People, but doesn’t overwrite if","parent_name":"People"},"Classes/People.html#/s:8Mixpanel6PeopleC5unset10propertiesySaySSG_tF":{"name":"unset(properties:)","abstract":"Remove a list of properties and their values from the current user’s profile","parent_name":"People"},"Classes/People.html#/s:8Mixpanel6PeopleC9increment10propertiesySDySSAA0A4Type_pG_tF":{"name":"increment(properties:)","abstract":"Increment the given numeric properties by the given values.","parent_name":"People"},"Classes/People.html#/s:8Mixpanel6PeopleC9increment8property2byySS_SdtF":{"name":"increment(property:by:)","abstract":"Convenience method for incrementing a single numeric property by the specified","parent_name":"People"},"Classes/People.html#/s:8Mixpanel6PeopleC6append10propertiesySDySSAA0A4Type_pG_tF":{"name":"append(properties:)","abstract":"Append values to list properties.","parent_name":"People"},"Classes/People.html#/s:8Mixpanel6PeopleC6remove10propertiesySDySSAA0A4Type_pG_tF":{"name":"remove(properties:)","abstract":"Removes list properties.","parent_name":"People"},"Classes/People.html#/s:8Mixpanel6PeopleC5union10propertiesySDySSAA0A4Type_pG_tF":{"name":"union(properties:)","abstract":"Union list properties.","parent_name":"People"},"Classes/People.html#/s:8Mixpanel6PeopleC11trackCharge6amount10propertiesySd_SDySSAA0A4Type_pGSgtF":{"name":"trackCharge(amount:properties:)","abstract":"Track money spent by the current user for revenue analytics and associate","parent_name":"People"},"Classes/People.html#/s:8Mixpanel6PeopleC12clearChargesyyF":{"name":"clearCharges()","abstract":"Delete current user’s revenue history.","parent_name":"People"},"Classes/People.html#/s:8Mixpanel6PeopleC10deleteUseryyF":{"name":"deleteUser()","abstract":"Delete current user’s record from Mixpanel People.","parent_name":"People"},"Classes/MixpanelNotificationServiceExtension.html#/c:@M@Mixpanel@objc(cs)MixpanelNotificationServiceExtension(im)didReceiveNotificationRequest:withContentHandler:":{"name":"didReceive(_:withContentHandler:)","abstract":"Undocumented","parent_name":"MixpanelNotificationServiceExtension"},"Classes/MixpanelNotificationServiceExtension.html#/c:@M@Mixpanel@objc(cs)MixpanelNotificationServiceExtension(im)serviceExtensionTimeWillExpire":{"name":"serviceExtensionTimeWillExpire()","abstract":"Undocumented","parent_name":"MixpanelNotificationServiceExtension"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC8apiTokenSSvp":{"name":"apiToken","abstract":"apiToken string that identifies the project to track data to","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC8delegateAA0A8Delegate_pSgvp":{"name":"delegate","abstract":"The a MixpanelDelegate object that gives control over Mixpanel network activity.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC10distinctIdSSvp":{"name":"distinctId","abstract":"distinctId string that uniquely identifies the current user.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC11anonymousIdSSSgvp":{"name":"anonymousId","abstract":"anonymousId string that uniquely identifies the device.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC6userIdSSSgvp":{"name":"userId","abstract":"userId string that identify is called with.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC22hadPersistedDistinctIdSbSgvp":{"name":"hadPersistedDistinctId","abstract":"hadPersistedDistinctId is a boolean value which specifies that the stored distinct_id","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC5aliasSSSgvp":{"name":"alias","abstract":"alias string that uniquely identifies the current user.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC6peopleAA6PeopleCSgvp":{"name":"people","abstract":"Accessor to the Mixpanel People API object.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC28showNetworkActivityIndicatorSbvp":{"name":"showNetworkActivityIndicator","abstract":"Controls whether to show spinning network activity indicator when flushing","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC27trackAutomaticEventsEnabledSbSgvp":{"name":"trackAutomaticEventsEnabled","abstract":"This allows enabling or disabling collecting common mobile events","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC13flushIntervalSdvp":{"name":"flushInterval","abstract":"Flush timer’s interval.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC17flushOnBackgroundSbvp":{"name":"flushOnBackground","abstract":"Control whether the library should flush data to Mixpanel when the app","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC26useIPAddressForGeoLocationSbvp":{"name":"useIPAddressForGeoLocation","abstract":"Controls whether to automatically send the client IP Address as part of","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC9serverURLSSvp":{"name":"serverURL","abstract":"The base URL used for Mixpanel API requests.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:s28CustomDebugStringConvertibleP16debugDescriptionSSvp":{"name":"debugDescription","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC14loggingEnabledSbvp":{"name":"loggingEnabled","abstract":"This allows enabling or disabling of all Mixpanel logs at run time.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC4nameSSvp":{"name":"name","abstract":"A unique identifier for this MixpanelInstance","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC29enableVisualEditorForCodelessSbvp":{"name":"enableVisualEditorForCodeless","abstract":"Controls whether to enable the visual editor for codeless on mixpanel.com","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC24checkForVariantsOnActiveSbvp":{"name":"checkForVariantsOnActive","abstract":"Controls whether to automatically check for A/B test variants for the","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC28checkForNotificationOnActiveSbvp":{"name":"checkForNotificationOnActive","abstract":"Controls whether to automatically check for notifications for the","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC24showNotificationOnActiveSbvp":{"name":"showNotificationOnActive","abstract":"Controls whether to automatically check for and show in-app notifications","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC32miniNotificationPresentationTimeSdvp":{"name":"miniNotificationPresentationTime","abstract":"Determines the time, in seconds, that a mini notification will remain on","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC22minimumSessionDurations6UInt64Vvp":{"name":"minimumSessionDuration","abstract":"The minimum session duration (ms) that is tracked in automatic events.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC22maximumSessionDurations6UInt64Vvp":{"name":"maximumSessionDuration","abstract":"The maximum session duration (ms) that is tracked in automatic events.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC8identify10distinctId9usePeopleySS_SbtF":{"name":"identify(distinctId:usePeople:)","abstract":"Sets the distinct ID of the current user.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC11createAlias_10distinctId9usePeopleySS_SSSbtF":{"name":"createAlias(_:distinctId:usePeople:)","abstract":"The alias method creates an alias which Mixpanel will use to remap one id to another.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC5resetyyF":{"name":"reset()","abstract":"Clears all stored properties including the distinct Id.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC7archiveyyF":{"name":"archive()","abstract":"Writes current project info including the distinct Id, super properties,","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/archive()":{"name":"archive()","abstract":"Writes current project info including the distinct Id, super properties,","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC5flush10completionyyycSg_tF":{"name":"flush(completion:)","abstract":"Uploads queued data to the Mixpanel server.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC5track5event10propertiesySSSg_SDySSAA0A4Type_pGSgtF":{"name":"track(event:properties:)","abstract":"Tracks an event with properties.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC15trackWithGroups5event10properties6groupsySSSg_SDySSAA0A4Type_pGSgAKtF":{"name":"trackWithGroups(event:properties:groups:)","abstract":"Tracks an event with properties and to specific groups.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC8getGroup8groupKey0E2IDAA0D0CSS_AA0A4Type_ptF":{"name":"getGroup(groupKey:groupID:)","abstract":"Undocumented","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC4time5eventySS_tF":{"name":"time(event:)","abstract":"Starts a timer that will be stopped and added as a property when a","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC16eventElapsedTime0C0SdSS_tF":{"name":"eventElapsedTime(event:)","abstract":"Retrieves the time elapsed for the named event since time(event:) was called.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC16clearTimedEventsyyF":{"name":"clearTimedEvents()","abstract":"Clears all current event timers.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC15clearTimedEvent5eventySS_tF":{"name":"clearTimedEvent(event:)","abstract":"Clears the event timer for the named event.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC22currentSuperPropertiesSDySSypGyF":{"name":"currentSuperProperties()","abstract":"Returns the currently set super properties.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC20clearSuperPropertiesyyF":{"name":"clearSuperProperties()","abstract":"Clears all currently set super properties.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC23registerSuperPropertiesyySDySSAA0A4Type_pGF":{"name":"registerSuperProperties(_:)","abstract":"Registers super properties, overwriting ones that have already been set.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC27registerSuperPropertiesOnce_12defaultValueySDySSAA0A4Type_pG_AaF_pSgtF":{"name":"registerSuperPropertiesOnce(_:defaultValue:)","abstract":"Registers super properties without overwriting ones that have already been set,","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC23unregisterSuperPropertyyySSF":{"name":"unregisterSuperProperty(_:)","abstract":"Removes a previously registered super property.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC8setGroup8groupKey0E2IDySS_AA0A4Type_ptF":{"name":"setGroup(groupKey:groupID:)","abstract":"Convenience method to set a single group the user belongs to.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC8setGroup8groupKey0E3IDsySS_SayAA0A4Type_pGtF":{"name":"setGroup(groupKey:groupIDs:)","abstract":"Set the groups this user belongs to.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC8addGroup8groupKey0E2IDySS_AA0A4Type_ptF":{"name":"addGroup(groupKey:groupID:)","abstract":"Add a group to this user’s membership for a particular group key","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC11removeGroup8groupKey0E2IDySS_AA0A4Type_ptF":{"name":"removeGroup(groupKey:groupID:)","abstract":"Remove a group from this user’s membership for a particular group key","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC14optOutTrackingyyF":{"name":"optOutTracking()","abstract":"Opt out tracking.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC13optInTracking10distinctId10propertiesySSSg_SDySSAA0A4Type_pGSgtF":{"name":"optInTracking(distinctId:properties:)","abstract":"Opt in tracking.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC19hasOptedOutTrackingSbyF":{"name":"hasOptedOutTracking()","abstract":"Returns if the current user has opted out tracking.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC15joinExperiments8callbackyyycSg_tF":{"name":"joinExperiments(callback:)","abstract":"Join any experiments (A/B tests) that are available for the current user.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC16showNotificationyyF":{"name":"showNotification()","abstract":"Shows a notification if one is available.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC16showNotification4typeySS_tF":{"name":"showNotification(type:)","abstract":"Shows a notification with the given type if one is available.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC16showNotification2IDySi_tF":{"name":"showNotification(ID:)","abstract":"Shows a notification with the given ID","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC24fetchNotificationPayload10completionyySDySSyXlGSgc_tF":{"name":"fetchNotificationPayload(completion:)","abstract":"Returns the payload of a notification if available","parent_name":"MixpanelInstance"},"Classes/Mixpanel.html#/s:8MixpanelAAC10initialize5token13launchOptions13flushInterval12instanceName21automaticPushTracking06optOutL9ByDefaultAA0A8InstanceCSS_SDySo019UIApplicationLaunchE3KeyaypGSgSdSSS2btFZ":{"name":"initialize(token:launchOptions:flushInterval:instanceName:automaticPushTracking:optOutTrackingByDefault:)","abstract":"Initializes an instance of the API with the given project token.","parent_name":"Mixpanel"},"Classes/Mixpanel.html#/initialize(token:flushInterval:instanceName:optOutTrackingByDefault:)":{"name":"initialize(token:flushInterval:instanceName:optOutTrackingByDefault:)","abstract":"Initializes an instance of the API with the given project token (MAC OS ONLY).","parent_name":"Mixpanel"},"Classes/Mixpanel.html#/s:8MixpanelAAC11getInstance4nameAA0aC0CSgSS_tFZ":{"name":"getInstance(name:)","abstract":"Gets the mixpanel instance with the given name","parent_name":"Mixpanel"},"Classes/Mixpanel.html#/s:8MixpanelAAC12mainInstanceAA0aC0CyFZ":{"name":"mainInstance()","abstract":"Returns the main instance that was initialized.","parent_name":"Mixpanel"},"Classes/Mixpanel.html#/s:8MixpanelAAC15setMainInstance4nameySS_tFZ":{"name":"setMainInstance(name:)","abstract":"Sets the main instance based on the instance name","parent_name":"Mixpanel"},"Classes/Mixpanel.html#/s:8MixpanelAAC14removeInstance4nameySS_tFZ":{"name":"removeInstance(name:)","abstract":"Removes an unneeded Mixpanel instance based on its name","parent_name":"Mixpanel"},"Classes/Group.html#/s:8Mixpanel5GroupC3set10propertiesySDySSAA0A4Type_pG_tF":{"name":"set(properties:)","abstract":"Sets properties on this group.","parent_name":"Group"},"Classes/Group.html#/s:8Mixpanel5GroupC3set8property2toySS_AA0A4Type_ptF":{"name":"set(property:to:)","abstract":"Convenience method for setting a single property in Mixpanel Groups.","parent_name":"Group"},"Classes/Group.html#/s:8Mixpanel5GroupC7setOnce10propertiesySDySSAA0A4Type_pG_tF":{"name":"setOnce(properties:)","abstract":"Sets properties on the current Mixpanel Group, but doesn’t overwrite if","parent_name":"Group"},"Classes/Group.html#/s:8Mixpanel5GroupC5unset8propertyySS_tF":{"name":"unset(property:)","abstract":"Remove a property and its value from a group’s profile in Mixpanel Groups.","parent_name":"Group"},"Classes/Group.html#/s:8Mixpanel5GroupC6remove3key5valueySS_AA0A4Type_ptF":{"name":"remove(key:value:)","abstract":"Removes list properties.","parent_name":"Group"},"Classes/Group.html#/s:8Mixpanel5GroupC5union3key6valuesySS_SayAA0A4Type_pGtF":{"name":"union(key:values:)","abstract":"Union list properties.","parent_name":"Group"},"Classes/Group.html#/s:8Mixpanel5GroupC06deleteB0yyF":{"name":"deleteGroup()","abstract":"Delete group’s record from Mixpanel Groups.","parent_name":"Group"},"Classes/Group.html":{"name":"Group","abstract":"Access to the Mixpanel Groups API, available through the getGroup function from"},"Classes/Mixpanel.html":{"name":"Mixpanel","abstract":"The primary class for integrating Mixpanel with your app."},"Classes/MixpanelInstance.html":{"name":"MixpanelInstance","abstract":"The class that represents the Mixpanel Instance"},"Classes/MixpanelNotificationServiceExtension.html":{"name":"MixpanelNotificationServiceExtension","abstract":"Undocumented"},"Classes/People.html":{"name":"People","abstract":"Access to the Mixpanel People API, available as an accessible variable from"},"Classes/MixpanelPushNotifications.html":{"name":"MixpanelPushNotifications","abstract":"Undocumented"},"Classes.html#/s:8Mixpanel10TweakStoreC":{"name":"TweakStore","abstract":"Looks up the persisted state for tweaks."},"Classes.html":{"name":"Classes","abstract":"The following classes are available globally."},"Enums.html":{"name":"Enumerations","abstract":"The following enumerations are available globally."},"Extensions.html":{"name":"Extensions","abstract":"The following extensions are available globally."},"Functions.html":{"name":"Functions","abstract":"The following functions are available globally."},"Protocols.html":{"name":"Protocols","abstract":"The following protocols are available globally."},"Structs.html":{"name":"Structures","abstract":"The following structures are available globally."},"Typealiases.html":{"name":"Type Aliases","abstract":"The following type aliases are available globally."}} \ No newline at end of file +{"Typealiases.html#/s:8Mixpanel10Propertiesa":{"name":"Properties","abstract":"Undocumented"},"Structs/MixpanelTweaks.html#/s:8Mixpanel0A6TweaksV12defaultStoreAA05TweakD0CvpZ":{"name":"defaultStore","abstract":"The default store that holds the Tweaks","parent_name":"MixpanelTweaks"},"Structs/MixpanelTweaks.html#/s:8Mixpanel0A6TweaksV03setB06tweaksySayAA16TweakClusterType_pG_tFZ":{"name":"setTweaks(tweaks:)","abstract":"setTweaks needs to be called to add the defined Tweaks into the environment.","parent_name":"MixpanelTweaks"},"Structs/Tweak.html#/s:8Mixpanel5TweakV9tweakName12defaultValueACyxGSS_xtcfc":{"name":"init(tweakName:defaultValue:)","abstract":"Initializer for a Tweak for A/B Testing","parent_name":"Tweak"},"Structs/Tweak.html#/s:8Mixpanel5TweakV4hash4intoys6HasherVz_tF":{"name":"hash(into:)","abstract":"Hashing for a Tweak for A/B Testing in order for it to be stored.","parent_name":"Tweak"},"Structs/Tweak.html#/s:8Mixpanel16TweakClusterTypeP05tweakC0SayAA03AnyB0VGvp":{"name":"tweakCluster","parent_name":"Tweak"},"Structs/Tweak.html#/s:8Mixpanel5TweakVAASLRzs13SignedNumericRzrlE9tweakName12defaultValue3min3max8stepSizeACyxGSS_xxSgA2Ktcfc":{"name":"init(tweakName:defaultValue:min:max:stepSize:)","abstract":"Creates a Tweak where T: SignedNumberType","parent_name":"Tweak"},"Structs/AnyTweak.html#/s:SH4hash4intoys6HasherVz_tF":{"name":"hash(into:)","parent_name":"AnyTweak"},"Structs/AnyTweak.html#/s:8Mixpanel8AnyTweakV12tweakClusterSayACGvp":{"name":"tweakCluster","abstract":"Allows easy tweak initialization by clustering tweaks together for A/B Testing","parent_name":"AnyTweak"},"Structs/AnyTweak.html":{"name":"AnyTweak","abstract":"A type-erasure around Tweak for A/B Testing."},"Structs/Tweak.html":{"name":"Tweak","abstract":"Tweaks let you adjust things on the fly."},"Structs/MixpanelTweaks.html":{"name":"MixpanelTweaks","abstract":"The MixpanelTweaks struct that needs to be extended to define new Tweaks for A/B testing"},"Protocols/TweakableType.html#/s:8Mixpanel13TweakableTypeP013tweakViewDataC0AA05TweakefC0OvpZ":{"name":"tweakViewDataType","abstract":"The data type of the TweakableType","parent_name":"TweakableType"},"Protocols/TweakLibraryType.html#/s:8Mixpanel16TweakLibraryTypeP12defaultStoreAA0bF0CvpZ":{"name":"defaultStore","abstract":"the default tweak store","parent_name":"TweakLibraryType"},"Protocols/TweakLibraryType.html#/s:8Mixpanel16TweakLibraryTypePAAE6assignyqd__AA0B0Vyqd__GAA09TweakableD0Rd__lFZ":{"name":"assign(_:)","abstract":"Returns the current value for a tweak from the TweakLibrary’s default store.","parent_name":"TweakLibraryType"},"Protocols/TweakLibraryType.html#/s:8Mixpanel16TweakLibraryTypePAAE4bind_7bindingyAA0B0Vyqd__G_yqd__ctAA09TweakableD0Rd__lFZ":{"name":"bind(_:binding:)","abstract":"Immediately binds the currentValue of a given tweak, and then continues to update whenever the tweak changes.","parent_name":"TweakLibraryType"},"Protocols/TweakClusterType.html#/s:8Mixpanel16TweakClusterTypeP05tweakC0SayAA03AnyB0VGvp":{"name":"tweakCluster","abstract":"The tweak cluster to allow easy initialization of Tweaks","parent_name":"TweakClusterType"},"Protocols/MixpanelType.html#/s:8Mixpanel0A4TypeP013isValidNestedB8AndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"Checks if this object has nested object types that Mixpanel supports.","parent_name":"MixpanelType"},"Protocols/MixpanelType.html#/s:8Mixpanel0A4TypeP6equals3rhsSbAaB_p_tF":{"name":"equals(rhs:)","abstract":"Undocumented","parent_name":"MixpanelType"},"Protocols/MixpanelDelegate.html#/s:8Mixpanel0A8DelegateP17mixpanelWillFlushySbAA0A8InstanceCF":{"name":"mixpanelWillFlush(_:)","abstract":"Asks the delegate if data should be uploaded to the server.","parent_name":"MixpanelDelegate"},"Protocols/MixpanelDelegate.html":{"name":"MixpanelDelegate","abstract":"Delegate protocol for controlling the Mixpanel API’s network behavior."},"Protocols/MixpanelType.html":{"name":"MixpanelType","abstract":"Property keys must be String objects and the supported value types need to conform to MixpanelType."},"Protocols/TweakClusterType.html":{"name":"TweakClusterType","abstract":"This protocol allows for easy initialization of TweakStore."},"Protocols/TweakLibraryType.html":{"name":"TweakLibraryType","abstract":"Create a public struct in your application that conforms to this protocol to declare your own tweaks!"},"Protocols/TweakableType.html":{"name":"TweakableType","abstract":"To add a new to our Tweak, make T conform to this protocol."},"Functions.html#/s:8Mixpanel2eeoiySbAA8AnyTweakV_ADtF":{"name":"==(_:_:)","abstract":"Comparator between two tweaks for A/B Testing."},"Functions.html#/s:8Mixpanel2eeoiySbAA5TweakVyxG_AEtAA13TweakableTypeRzlF":{"name":"==(_:_:)","abstract":"Comparator between two tweaks for A/B Testing."},"Extensions/CGFloat.html#/s:12CoreGraphics7CGFloatV8MixpanelE17tweakViewDataTypeAD05TweakfgH0OvpZ":{"name":"tweakViewDataType","abstract":"TweakableType supports the cgFloat type","parent_name":"CGFloat"},"Extensions/Dictionary.html#/s:SD8MixpanelE25isValidNestedTypeAndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"Checks if this object has nested object types that Mixpanel supports.","parent_name":"Dictionary"},"Extensions/Dictionary.html#/s:SD8MixpanelE6equals3rhsSbAA0A4Type_p_tF":{"name":"equals(rhs:)","abstract":"Undocumented","parent_name":"Dictionary"},"Extensions/NSArray.html#/s:So7NSArrayC8MixpanelE25isValidNestedTypeAndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"Checks if this object has nested object types that Mixpanel supports.","parent_name":"NSArray"},"Extensions/NSArray.html#/s:So7NSArrayC8MixpanelE6equals3rhsSbAC0B4Type_p_tF":{"name":"equals(rhs:)","abstract":"Undocumented","parent_name":"NSArray"},"Extensions/NSNull.html#/s:So6NSNullC8MixpanelE25isValidNestedTypeAndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"Checks if this object has nested object types that Mixpanel supports.","parent_name":"NSNull"},"Extensions/NSNull.html#/s:So6NSNullC8MixpanelE6equals3rhsSbAC0B4Type_p_tF":{"name":"equals(rhs:)","abstract":"Undocumented","parent_name":"NSNull"},"Extensions/URL.html#/s:10Foundation3URLV8MixpanelE25isValidNestedTypeAndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"Checks if this object has nested object types that Mixpanel supports.","parent_name":"URL"},"Extensions/URL.html#/s:10Foundation3URLV8MixpanelE6equals3rhsSbAD0C4Type_p_tF":{"name":"equals(rhs:)","abstract":"Undocumented","parent_name":"URL"},"Extensions/Date.html#/s:10Foundation4DateV8MixpanelE25isValidNestedTypeAndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"Checks if this object has nested object types that Mixpanel supports.","parent_name":"Date"},"Extensions/Date.html#/s:10Foundation4DateV8MixpanelE6equals3rhsSbAD0C4Type_p_tF":{"name":"equals(rhs:)","abstract":"Undocumented","parent_name":"Date"},"Extensions/Bool.html#/s:Sb8MixpanelE25isValidNestedTypeAndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"Checks if this object has nested object types that Mixpanel supports.","parent_name":"Bool"},"Extensions/Bool.html#/s:Sb8MixpanelE6equals3rhsSbAA0A4Type_p_tF":{"name":"equals(rhs:)","abstract":"Undocumented","parent_name":"Bool"},"Extensions/Bool.html#/s:Sb8MixpanelE17tweakViewDataTypeAA05TweakcdE0OvpZ":{"name":"tweakViewDataType","abstract":"TweakableType supports the boolean type","parent_name":"Bool"},"Extensions/Float.html#/s:Sf8MixpanelE25isValidNestedTypeAndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"Checks if this object has nested object types that Mixpanel supports.","parent_name":"Float"},"Extensions/Float.html#/s:Sf8MixpanelE6equals3rhsSbAA0A4Type_p_tF":{"name":"equals(rhs:)","abstract":"Undocumented","parent_name":"Float"},"Extensions/Double.html#/s:Sd8MixpanelE25isValidNestedTypeAndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"Checks if this object has nested object types that Mixpanel supports.","parent_name":"Double"},"Extensions/Double.html#/s:Sd8MixpanelE6equals3rhsSbAA0A4Type_p_tF":{"name":"equals(rhs:)","abstract":"Undocumented","parent_name":"Double"},"Extensions/Double.html#/s:Sd8MixpanelE17tweakViewDataTypeAA05TweakcdE0OvpZ":{"name":"tweakViewDataType","abstract":"TweakableType supports the double type","parent_name":"Double"},"Extensions/UInt.html#/s:Su8MixpanelE25isValidNestedTypeAndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"Checks if this object has nested object types that Mixpanel supports.","parent_name":"UInt"},"Extensions/UInt.html#/s:Su8MixpanelE6equals3rhsSbAA0A4Type_p_tF":{"name":"equals(rhs:)","abstract":"Undocumented","parent_name":"UInt"},"Extensions/Int.html#/s:Si8MixpanelE25isValidNestedTypeAndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"Checks if this object has nested object types that Mixpanel supports.","parent_name":"Int"},"Extensions/Int.html#/s:Si8MixpanelE6equals3rhsSbAA0A4Type_p_tF":{"name":"equals(rhs:)","abstract":"Undocumented","parent_name":"Int"},"Extensions/Int.html#/s:Si8MixpanelE17tweakViewDataTypeAA05TweakcdE0OvpZ":{"name":"tweakViewDataType","abstract":"TweakableType supports the integer type","parent_name":"Int"},"Extensions/NSNumber.html#/s:So8NSNumberC8MixpanelE25isValidNestedTypeAndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"Checks if this object has nested object types that Mixpanel supports.","parent_name":"NSNumber"},"Extensions/NSNumber.html#/s:So8NSNumberC8MixpanelE6equals3rhsSbAC0B4Type_p_tF":{"name":"equals(rhs:)","abstract":"Undocumented","parent_name":"NSNumber"},"Extensions/NSString.html#/s:So8NSStringC8MixpanelE25isValidNestedTypeAndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"Checks if this object has nested object types that Mixpanel supports.","parent_name":"NSString"},"Extensions/NSString.html#/s:So8NSStringC8MixpanelE6equals3rhsSbAC0B4Type_p_tF":{"name":"equals(rhs:)","abstract":"Undocumented","parent_name":"NSString"},"Extensions/String.html#/s:SS8MixpanelE25isValidNestedTypeAndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"Checks if this object has nested object types that Mixpanel supports.","parent_name":"String"},"Extensions/String.html#/s:SS8MixpanelE6equals3rhsSbAA0A4Type_p_tF":{"name":"equals(rhs:)","abstract":"Undocumented","parent_name":"String"},"Extensions/String.html#/s:SS8MixpanelE17tweakViewDataTypeAA05TweakcdE0OvpZ":{"name":"tweakViewDataType","abstract":"TweakableType supports the string type","parent_name":"String"},"Extensions/Optional.html#/s:Sq8MixpanelE25isValidNestedTypeAndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"Checks if this object has nested object types that Mixpanel supports.","parent_name":"Optional"},"Extensions/Optional.html#/s:Sq8MixpanelE6equals3rhsSbAA0A4Type_p_tF":{"name":"equals(rhs:)","abstract":"Undocumented","parent_name":"Optional"},"Extensions/Array.html#/s:Sa8MixpanelE25isValidNestedTypeAndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"Checks if this object has nested object types that Mixpanel supports.","parent_name":"Array"},"Extensions/Array.html#/s:Sa8MixpanelE6equals3rhsSbAA0A4Type_p_tF":{"name":"equals(rhs:)","abstract":"Undocumented","parent_name":"Array"},"Extensions/UIColor.html#/s:So7UIColorC8MixpanelE5MPHexABSu_tcfc":{"name":"init(MPHex:)","abstract":"The shorthand four-digit hexadecimal representation of color with alpha.","parent_name":"UIColor"},"Extensions/UIColor.html":{"name":"UIColor"},"Extensions/Array.html":{"name":"Array"},"Extensions/Optional.html":{"name":"Optional"},"Extensions/String.html":{"name":"String"},"Extensions/NSString.html":{"name":"NSString"},"Extensions/NSNumber.html":{"name":"NSNumber"},"Extensions/Int.html":{"name":"Int"},"Extensions/UInt.html":{"name":"UInt"},"Extensions/Double.html":{"name":"Double"},"Extensions/Float.html":{"name":"Float"},"Extensions/Bool.html":{"name":"Bool"},"Extensions/Date.html":{"name":"Date"},"Extensions/URL.html":{"name":"URL"},"Extensions/NSNull.html":{"name":"NSNull"},"Extensions/NSArray.html":{"name":"NSArray"},"Extensions/Dictionary.html":{"name":"Dictionary"},"Extensions/CGFloat.html":{"name":"CGFloat"},"Enums/TweakViewDataType.html#/s:8Mixpanel17TweakViewDataTypeO7booleanyA2CmF":{"name":"boolean","abstract":"TweakableType supports the boolean type","parent_name":"TweakViewDataType"},"Enums/TweakViewDataType.html#/s:8Mixpanel17TweakViewDataTypeO7integeryA2CmF":{"name":"integer","abstract":"TweakableType supports the integer type","parent_name":"TweakViewDataType"},"Enums/TweakViewDataType.html#/s:8Mixpanel17TweakViewDataTypeO7cgFloatyA2CmF":{"name":"cgFloat","abstract":"TweakableType supports the cgFloat type","parent_name":"TweakViewDataType"},"Enums/TweakViewDataType.html#/s:8Mixpanel17TweakViewDataTypeO6doubleyA2CmF":{"name":"double","abstract":"TweakableType supports the double type","parent_name":"TweakViewDataType"},"Enums/TweakViewDataType.html#/s:8Mixpanel17TweakViewDataTypeO6stringyA2CmF":{"name":"string","abstract":"TweakableType supports the string type","parent_name":"TweakViewDataType"},"Enums/TweakViewDataType.html":{"name":"TweakViewDataType","abstract":"The data types that are currently supported for SwiftTweaks."},"Classes/MixpanelPushNotifications.html#/s:8Mixpanel0A17PushNotificationsC02isaB12NotificationySbSo21UNNotificationContentCFZ":{"name":"isMixpanelPushNotification(_:)","abstract":"Undocumented","parent_name":"MixpanelPushNotifications"},"Classes/MixpanelPushNotifications.html#/s:8Mixpanel0A17PushNotificationsC10trackEvent_10properties7requestySS_SDySSAA0A4Type_pGSo21UNNotificationRequestCtFZ":{"name":"trackEvent(_:properties:request:)","abstract":"Undocumented","parent_name":"MixpanelPushNotifications"},"Classes/People.html#/s:8Mixpanel6PeopleC10ignoreTimeSbvp":{"name":"ignoreTime","abstract":"controls the $ignore_time property in any subsequent MixpanelPeople operation.","parent_name":"People"},"Classes/People.html#/s:8Mixpanel6PeopleC18addPushDeviceTokenyy10Foundation4DataVF":{"name":"addPushDeviceToken(_:)","abstract":"Register the given device to receive push notifications.","parent_name":"People"},"Classes/People.html#/s:8Mixpanel6PeopleC25removeAllPushDeviceTokensyyF":{"name":"removeAllPushDeviceTokens()","abstract":"Unregister the given device to receive push notifications.","parent_name":"People"},"Classes/People.html#/s:8Mixpanel6PeopleC21removePushDeviceTokenyy10Foundation4DataVF":{"name":"removePushDeviceToken(_:)","abstract":"Unregister a specific device token from the ability to receive push notifications.","parent_name":"People"},"Classes/People.html#/s:8Mixpanel6PeopleC3set10propertiesySDySSAA0A4Type_pG_tF":{"name":"set(properties:)","abstract":"Set properties on the current user in Mixpanel People.","parent_name":"People"},"Classes/People.html#/s:8Mixpanel6PeopleC3set8property2toySS_AA0A4Type_ptF":{"name":"set(property:to:)","abstract":"Convenience method for setting a single property in Mixpanel People.","parent_name":"People"},"Classes/People.html#/s:8Mixpanel6PeopleC7setOnce10propertiesySDySSAA0A4Type_pG_tF":{"name":"setOnce(properties:)","abstract":"Set properties on the current user in Mixpanel People, but doesn’t overwrite if","parent_name":"People"},"Classes/People.html#/s:8Mixpanel6PeopleC5unset10propertiesySaySSG_tF":{"name":"unset(properties:)","abstract":"Remove a list of properties and their values from the current user’s profile","parent_name":"People"},"Classes/People.html#/s:8Mixpanel6PeopleC9increment10propertiesySDySSAA0A4Type_pG_tF":{"name":"increment(properties:)","abstract":"Increment the given numeric properties by the given values.","parent_name":"People"},"Classes/People.html#/s:8Mixpanel6PeopleC9increment8property2byySS_SdtF":{"name":"increment(property:by:)","abstract":"Convenience method for incrementing a single numeric property by the specified","parent_name":"People"},"Classes/People.html#/s:8Mixpanel6PeopleC6append10propertiesySDySSAA0A4Type_pG_tF":{"name":"append(properties:)","abstract":"Append values to list properties.","parent_name":"People"},"Classes/People.html#/s:8Mixpanel6PeopleC6remove10propertiesySDySSAA0A4Type_pG_tF":{"name":"remove(properties:)","abstract":"Removes list properties.","parent_name":"People"},"Classes/People.html#/s:8Mixpanel6PeopleC5union10propertiesySDySSAA0A4Type_pG_tF":{"name":"union(properties:)","abstract":"Union list properties.","parent_name":"People"},"Classes/People.html#/s:8Mixpanel6PeopleC11trackCharge6amount10propertiesySd_SDySSAA0A4Type_pGSgtF":{"name":"trackCharge(amount:properties:)","abstract":"Track money spent by the current user for revenue analytics and associate","parent_name":"People"},"Classes/People.html#/s:8Mixpanel6PeopleC12clearChargesyyF":{"name":"clearCharges()","abstract":"Delete current user’s revenue history.","parent_name":"People"},"Classes/People.html#/s:8Mixpanel6PeopleC10deleteUseryyF":{"name":"deleteUser()","abstract":"Delete current user’s record from Mixpanel People.","parent_name":"People"},"Classes/MixpanelNotificationServiceExtension.html#/c:@M@Mixpanel@objc(cs)MixpanelNotificationServiceExtension(im)didReceiveNotificationRequest:withContentHandler:":{"name":"didReceive(_:withContentHandler:)","abstract":"Undocumented","parent_name":"MixpanelNotificationServiceExtension"},"Classes/MixpanelNotificationServiceExtension.html#/c:@M@Mixpanel@objc(cs)MixpanelNotificationServiceExtension(im)serviceExtensionTimeWillExpire":{"name":"serviceExtensionTimeWillExpire()","abstract":"Undocumented","parent_name":"MixpanelNotificationServiceExtension"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC8apiTokenSSvp":{"name":"apiToken","abstract":"apiToken string that identifies the project to track data to","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC8delegateAA0A8Delegate_pSgvp":{"name":"delegate","abstract":"The a MixpanelDelegate object that gives control over Mixpanel network activity.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC10distinctIdSSvp":{"name":"distinctId","abstract":"distinctId string that uniquely identifies the current user.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC11anonymousIdSSSgvp":{"name":"anonymousId","abstract":"anonymousId string that uniquely identifies the device.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC6userIdSSSgvp":{"name":"userId","abstract":"userId string that identify is called with.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC22hadPersistedDistinctIdSbSgvp":{"name":"hadPersistedDistinctId","abstract":"hadPersistedDistinctId is a boolean value which specifies that the stored distinct_id","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC5aliasSSSgvp":{"name":"alias","abstract":"alias string that uniquely identifies the current user.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC6peopleAA6PeopleCSgvp":{"name":"people","abstract":"Accessor to the Mixpanel People API object.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC28showNetworkActivityIndicatorSbvp":{"name":"showNetworkActivityIndicator","abstract":"Controls whether to show spinning network activity indicator when flushing","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC27trackAutomaticEventsEnabledSbSgvp":{"name":"trackAutomaticEventsEnabled","abstract":"This allows enabling or disabling collecting common mobile events","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC13flushIntervalSdvp":{"name":"flushInterval","abstract":"Flush timer’s interval.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC17flushOnBackgroundSbvp":{"name":"flushOnBackground","abstract":"Control whether the library should flush data to Mixpanel when the app","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC26useIPAddressForGeoLocationSbvp":{"name":"useIPAddressForGeoLocation","abstract":"Controls whether to automatically send the client IP Address as part of","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC9serverURLSSvp":{"name":"serverURL","abstract":"The base URL used for Mixpanel API requests.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:s28CustomDebugStringConvertibleP16debugDescriptionSSvp":{"name":"debugDescription","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC14loggingEnabledSbvp":{"name":"loggingEnabled","abstract":"This allows enabling or disabling of all Mixpanel logs at run time.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC4nameSSvp":{"name":"name","abstract":"A unique identifier for this MixpanelInstance","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC29enableVisualEditorForCodelessSbvp":{"name":"enableVisualEditorForCodeless","abstract":"Controls whether to enable the visual editor for codeless on mixpanel.com","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC24checkForVariantsOnActiveSbvp":{"name":"checkForVariantsOnActive","abstract":"Controls whether to automatically check for A/B test variants for the","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC28checkForNotificationOnActiveSbvp":{"name":"checkForNotificationOnActive","abstract":"Controls whether to automatically check for notifications for the","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC24showNotificationOnActiveSbvp":{"name":"showNotificationOnActive","abstract":"Controls whether to automatically check for and show in-app notifications","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC32miniNotificationPresentationTimeSdvp":{"name":"miniNotificationPresentationTime","abstract":"Determines the time, in seconds, that a mini notification will remain on","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC22minimumSessionDurations6UInt64Vvp":{"name":"minimumSessionDuration","abstract":"The minimum session duration (ms) that is tracked in automatic events.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC22maximumSessionDurations6UInt64Vvp":{"name":"maximumSessionDuration","abstract":"The maximum session duration (ms) that is tracked in automatic events.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC8identify10distinctId9usePeople10completionySS_SbyycSgtF":{"name":"identify(distinctId:usePeople:completion:)","abstract":"Sets the distinct ID of the current user.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC11createAlias_10distinctId9usePeople10completionySS_SSSbyycSgtF":{"name":"createAlias(_:distinctId:usePeople:completion:)","abstract":"The alias method creates an alias which Mixpanel will use to remap one id to another.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC5reset10completionyyycSg_tF":{"name":"reset(completion:)","abstract":"Clears all stored properties including the distinct Id.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC7archiveyyF":{"name":"archive()","abstract":"Writes current project info including the distinct Id, super properties,","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/archive()":{"name":"archive()","abstract":"Writes current project info including the distinct Id, super properties,","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC5flush10completionyyycSg_tF":{"name":"flush(completion:)","abstract":"Uploads queued data to the Mixpanel server.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC5track5event10propertiesySSSg_SDySSAA0A4Type_pGSgtF":{"name":"track(event:properties:)","abstract":"Tracks an event with properties.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC15trackWithGroups5event10properties6groupsySSSg_SDySSAA0A4Type_pGSgAKtF":{"name":"trackWithGroups(event:properties:groups:)","abstract":"Tracks an event with properties and to specific groups.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC8getGroup8groupKey0E2IDAA0D0CSS_AA0A4Type_ptF":{"name":"getGroup(groupKey:groupID:)","abstract":"Undocumented","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC4time5eventySS_tF":{"name":"time(event:)","abstract":"Starts a timer that will be stopped and added as a property when a","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC16eventElapsedTime0C0SdSS_tF":{"name":"eventElapsedTime(event:)","abstract":"Retrieves the time elapsed for the named event since time(event:) was called.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC16clearTimedEventsyyF":{"name":"clearTimedEvents()","abstract":"Clears all current event timers.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC15clearTimedEvent5eventySS_tF":{"name":"clearTimedEvent(event:)","abstract":"Clears the event timer for the named event.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC22currentSuperPropertiesSDySSypGyF":{"name":"currentSuperProperties()","abstract":"Returns the currently set super properties.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC20clearSuperPropertiesyyF":{"name":"clearSuperProperties()","abstract":"Clears all currently set super properties.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC23registerSuperPropertiesyySDySSAA0A4Type_pGF":{"name":"registerSuperProperties(_:)","abstract":"Registers super properties, overwriting ones that have already been set.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC27registerSuperPropertiesOnce_12defaultValueySDySSAA0A4Type_pG_AaF_pSgtF":{"name":"registerSuperPropertiesOnce(_:defaultValue:)","abstract":"Registers super properties without overwriting ones that have already been set,","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC23unregisterSuperPropertyyySSF":{"name":"unregisterSuperProperty(_:)","abstract":"Removes a previously registered super property.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC8setGroup8groupKey0E2IDySS_AA0A4Type_ptF":{"name":"setGroup(groupKey:groupID:)","abstract":"Convenience method to set a single group the user belongs to.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC8setGroup8groupKey0E3IDsySS_SayAA0A4Type_pGtF":{"name":"setGroup(groupKey:groupIDs:)","abstract":"Set the groups this user belongs to.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC8addGroup8groupKey0E2IDySS_AA0A4Type_ptF":{"name":"addGroup(groupKey:groupID:)","abstract":"Add a group to this user’s membership for a particular group key","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC11removeGroup8groupKey0E2IDySS_AA0A4Type_ptF":{"name":"removeGroup(groupKey:groupID:)","abstract":"Remove a group from this user’s membership for a particular group key","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC14optOutTrackingyyF":{"name":"optOutTracking()","abstract":"Opt out tracking.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC13optInTracking10distinctId10propertiesySSSg_SDySSAA0A4Type_pGSgtF":{"name":"optInTracking(distinctId:properties:)","abstract":"Opt in tracking.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC19hasOptedOutTrackingSbyF":{"name":"hasOptedOutTracking()","abstract":"Returns if the current user has opted out tracking.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC15joinExperiments8callbackyyycSg_tF":{"name":"joinExperiments(callback:)","abstract":"Join any experiments (A/B tests) that are available for the current user.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC16showNotificationyyF":{"name":"showNotification()","abstract":"Shows a notification if one is available.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC16showNotification4typeySS_tF":{"name":"showNotification(type:)","abstract":"Shows a notification with the given type if one is available.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC16showNotification2IDySi_tF":{"name":"showNotification(ID:)","abstract":"Shows a notification with the given ID","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC24fetchNotificationPayload10completionyySDySSyXlGSgc_tF":{"name":"fetchNotificationPayload(completion:)","abstract":"Returns the payload of a notification if available","parent_name":"MixpanelInstance"},"Classes/Mixpanel.html#/s:8MixpanelAAC10initialize5token13launchOptions13flushInterval12instanceName21automaticPushTracking06optOutL9ByDefaultAA0A8InstanceCSS_SDySo019UIApplicationLaunchE3KeyaypGSgSdSSS2btFZ":{"name":"initialize(token:launchOptions:flushInterval:instanceName:automaticPushTracking:optOutTrackingByDefault:)","abstract":"Initializes an instance of the API with the given project token.","parent_name":"Mixpanel"},"Classes/Mixpanel.html#/initialize(token:flushInterval:instanceName:optOutTrackingByDefault:)":{"name":"initialize(token:flushInterval:instanceName:optOutTrackingByDefault:)","abstract":"Initializes an instance of the API with the given project token (MAC OS ONLY).","parent_name":"Mixpanel"},"Classes/Mixpanel.html#/s:8MixpanelAAC11getInstance4nameAA0aC0CSgSS_tFZ":{"name":"getInstance(name:)","abstract":"Gets the mixpanel instance with the given name","parent_name":"Mixpanel"},"Classes/Mixpanel.html#/s:8MixpanelAAC12mainInstanceAA0aC0CyFZ":{"name":"mainInstance()","abstract":"Returns the main instance that was initialized.","parent_name":"Mixpanel"},"Classes/Mixpanel.html#/s:8MixpanelAAC15setMainInstance4nameySS_tFZ":{"name":"setMainInstance(name:)","abstract":"Sets the main instance based on the instance name","parent_name":"Mixpanel"},"Classes/Mixpanel.html#/s:8MixpanelAAC14removeInstance4nameySS_tFZ":{"name":"removeInstance(name:)","abstract":"Removes an unneeded Mixpanel instance based on its name","parent_name":"Mixpanel"},"Classes/Group.html#/s:8Mixpanel5GroupC3set10propertiesySDySSAA0A4Type_pG_tF":{"name":"set(properties:)","abstract":"Sets properties on this group.","parent_name":"Group"},"Classes/Group.html#/s:8Mixpanel5GroupC3set8property2toySS_AA0A4Type_ptF":{"name":"set(property:to:)","abstract":"Convenience method for setting a single property in Mixpanel Groups.","parent_name":"Group"},"Classes/Group.html#/s:8Mixpanel5GroupC7setOnce10propertiesySDySSAA0A4Type_pG_tF":{"name":"setOnce(properties:)","abstract":"Sets properties on the current Mixpanel Group, but doesn’t overwrite if","parent_name":"Group"},"Classes/Group.html#/s:8Mixpanel5GroupC5unset8propertyySS_tF":{"name":"unset(property:)","abstract":"Remove a property and its value from a group’s profile in Mixpanel Groups.","parent_name":"Group"},"Classes/Group.html#/s:8Mixpanel5GroupC6remove3key5valueySS_AA0A4Type_ptF":{"name":"remove(key:value:)","abstract":"Removes list properties.","parent_name":"Group"},"Classes/Group.html#/s:8Mixpanel5GroupC5union3key6valuesySS_SayAA0A4Type_pGtF":{"name":"union(key:values:)","abstract":"Union list properties.","parent_name":"Group"},"Classes/Group.html#/s:8Mixpanel5GroupC06deleteB0yyF":{"name":"deleteGroup()","abstract":"Delete group’s record from Mixpanel Groups.","parent_name":"Group"},"Classes/Group.html":{"name":"Group","abstract":"Access to the Mixpanel Groups API, available through the getGroup function from"},"Classes/Mixpanel.html":{"name":"Mixpanel","abstract":"The primary class for integrating Mixpanel with your app."},"Classes/MixpanelInstance.html":{"name":"MixpanelInstance","abstract":"The class that represents the Mixpanel Instance"},"Classes/MixpanelNotificationServiceExtension.html":{"name":"MixpanelNotificationServiceExtension","abstract":"Undocumented"},"Classes/People.html":{"name":"People","abstract":"Access to the Mixpanel People API, available as an accessible variable from"},"Classes/MixpanelPushNotifications.html":{"name":"MixpanelPushNotifications","abstract":"Undocumented"},"Classes.html#/s:8Mixpanel10TweakStoreC":{"name":"TweakStore","abstract":"Looks up the persisted state for tweaks."},"Classes.html":{"name":"Classes","abstract":"The following classes are available globally."},"Enums.html":{"name":"Enumerations","abstract":"The following enumerations are available globally."},"Extensions.html":{"name":"Extensions","abstract":"The following extensions are available globally."},"Functions.html":{"name":"Functions","abstract":"The following functions are available globally."},"Protocols.html":{"name":"Protocols","abstract":"The following protocols are available globally."},"Structs.html":{"name":"Structures","abstract":"The following structures are available globally."},"Typealiases.html":{"name":"Type Aliases","abstract":"The following type aliases are available globally."}} \ No newline at end of file diff --git a/docs/undocumented.json b/docs/undocumented.json index 1e31bd6a..75baf9b9 100644 --- a/docs/undocumented.json +++ b/docs/undocumented.json @@ -9,7 +9,7 @@ }, { "file": "/Users/zihejia/Documents/Projects/Develop/mixpanel-swift/Sources/MixpanelInstance.swift", - "line": 1296, + "line": 1335, "symbol": "MixpanelInstance.getGroup(groupKey:groupID:)", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented"
The maximum session duration (ms) that is tracked in automatic events.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC8identify10distinctId9usePeople10completionySS_SbyycSgtF":{"name":"identify(distinctId:usePeople:completion:)","abstract":"
The alias method creates an alias which Mixpanel will use to remap one id to another.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC5reset10completionyyycSg_tF":{"name":"reset(completion:)","abstract":"
import Mixpanel -Add Mixpanel as a submodule to your local git repo like so: -git submodule add git@github.com:mixpanel/mixpanel-swift.git +func application(_ application: UIApplication, + didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool { + ... + Mixpanel.initialize(token: "MIXPANEL_TOKEN") + ... +} -Now the Mixpanel project and its files should be in your project folder! -Step 2: Drag Mixpanel to your project +See all configuration options +3. Send Data -Drag the Mixpanel.xcodeproj inside your sample project under the main sample project file: - - -Step 3: Embed the framework +Let’s get started by sending event data. You can send an event from anywhere in your application. Better understand user behavior by storing details that are specific to the event (properties). After initializing the library, Mixpanel will automatically collect common mobile events. You can enable/disable automatic collection through your project settings. Also, Mixpanel automatically tracks some properties by default. learn more +Mixpanel.mainInstance().track(event: "Sign Up", properties: [ + "source": "Pat's affiliate site", + "Opted out of email": true +]) + -Select your app .xcodeproj file. Under “General”, add the Mixpanel framework as an embedded binary: +In addition to event data, you can also send user profile data. We recommend this after completing the quickstart guide. +4. Check for Success - +Open up Live View in Mixpanel to view incoming events. - -Initializing and Usage +Once data hits our API, it generally takes ~60 seconds for it to be processed, stored, and queryable in your project. +Complete Code Example - -Integrate +Here’s a runnable code example that covers everything in this quickstart guide. +import Mixpanel -Import Mixpanel into AppDelegate.swift, and initialize Mixpanel within application:didFinishLaunchingWithOptions: - -func application(_ application: UIApplication, +func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool { + ... Mixpanel.initialize(token: "MIXPANEL_TOKEN") + Mixpanel.mainInstance().track(event: "Sign Up", properties: [ + "source": "Pat's affiliate site", + "Opted out of email": true + ]) + ... } +FAQ -You initialize your Mixpanel instance with the token provided to you on mixpanel.com. - - -Start tracking - -After installing the library into your iOS app, Mixpanel will automatically collect common mobile events. You can enable/ disable automatic collection through your project settings. - -To interact with the instance and track additional events, you can either use the mixpanel instance given when initializing: -mixpanel.track(event: "Tracked Event!") - +I want to stop tracking an event/event property in Mixpanel. Is that possible? -or you can directly fetch the instance and use it from the Mixpanel object: -Mixpanel.mainInstance().track(event: "Tracked Event!") - +Yes, in Lexicon, you can intercept and drop incoming events or properties. Mixpanel won’t store any new data for the event or property you select to drop. See this article for more information. -You’re done! You’ve successfully integrated the Mixpanel Swift SDK into your app. To stay up to speed on important SDK releases and updates, star or watch our repository on Github. +I have a test user I would like to opt out of tracking. How do I do that? -Have any questions? Reach out to support@mixpanel.com to speak to someone smart, quickly. -Using Mixpanel Push Notifications +Mixpanel’s client-side tracking library contains the optOutTracking() method, which will set the user’s local opt-out state to “true” and will prevent data from being sent from a user’s device. More detailed instructions can be found in the section, Opting users out of tracking. -First enable Mixpanel push notifications in your app. Then for Rich Push Notifications, you’ll need to integrate your application with the MixpanelNotificationServiceExtension. -Integrating the MixpanelNotificationServiceExtension +Why aren’t my events showing up? -The Mixpanel SDK comes with a custom Notification Service Extension used to render rich media, custom action buttons, and track when push notifications are received. To enable these features, you will need to integrate it into your application. -1. Create a new Notification Service Extension Target +To preserve battery life and customer bandwidth, the Mixpanel library doesn’t send the events you record immediately. Instead, it sends batches to the Mixpanel servers every 60 seconds while your application is running, as well as when the application transitions to the background. You can call flush() manually if you want to force a flush at a particular moment. +Mixpanel.mainInstance().flush() + - - - -2. Add Mixpanel-swift as a dependency +If your events are still not showing up after 60 seconds, check if you have opted out of tracking. You can also enable Mixpanel debugging and logging, it allows you to see the debug output from the Mixpanel library. To enable it, set loggingEnabled to true. +Mixpanel.mainInstance().loggingEnabled = true + -Add the following to the end of your Podfile: -target 'NotificationService' do - use_frameworks! +Starting with iOS 14.5, do I need to request the user’s permission through the AppTrackingTransparency framework to use Mixpanel? - pod 'Mixpanel-swift' -end - +No, Mixpanel does not use IDFA so it does not require user permission through the AppTrackingTransparency(ATT) framework. -Then run pod install -3. Extend your NotificationService from MixpanelNotificationServiceExtension +If I use Mixpanel, how do I answer app privacy questions for the App Store? -Replace the contents of your NotificationService.swift file with the following: -import Mixpanel +Please refer to our Apple App Developer Privacy Guidance +I want to know more! -class NotificationService: MixpanelNotificationServiceExtension {} - -4. Delegate the handling of the notification response to the Mixpanel SDK - -In your AppDelegate.swift file, you need to call MixpanelPushNotifications.handleResponse when a push notification response is received: -@available(iOS 10.0, *) -func userNotificationCenter(_ center: UNUserNotificationCenter, didReceive response: UNNotificationResponse, withCompletionHandler completionHandler: @escaping () -> Void) { - if MixpanelPushNotifications.isMixpanelPushNotification(response.notification.request.content) { - debugPrint("Handling Mixpanel push notification response...") - MixpanelPushNotifications.handleResponse(response: response, withCompletionHandler: completionHandler) - } else { - // not a Mixpanel push notification - debugPrint("Not a Mixpanel push notification.") - completionHandler() - } -} - +No worries, here are some links that you will find useful: -This will make sure the tap actions are appropriately handled (open URL, deeplink, etc) as well as track whether a notification was tapped or dismissed. -5. Run the app and send a test push notification from Mixpanel that includes an image or buttons + +Advanced iOS - Swift Guide +Sample app +Full API Reference + -That’s it! Your app should now be able to receive rich push notifications from Mixpanel. +Have any questions? Reach out to Mixpanel Support to speak to someone smart, quickly. - © 2021 Mixpanel. All rights reserved. (Last updated: 2021-06-11) + © 2021 Mixpanel. All rights reserved. (Last updated: 2021-08-13) Generated by jazzy ♪♫ v0.13.6, a Realm project. diff --git a/docs/search.json b/docs/search.json index 040a3460..dc8e93ad 100644 --- a/docs/search.json +++ b/docs/search.json @@ -1 +1 @@ -{"Typealiases.html#/s:8Mixpanel10Propertiesa":{"name":"Properties","abstract":"Undocumented"},"Structs/MixpanelTweaks.html#/s:8Mixpanel0A6TweaksV12defaultStoreAA05TweakD0CvpZ":{"name":"defaultStore","abstract":"The default store that holds the Tweaks","parent_name":"MixpanelTweaks"},"Structs/MixpanelTweaks.html#/s:8Mixpanel0A6TweaksV03setB06tweaksySayAA16TweakClusterType_pG_tFZ":{"name":"setTweaks(tweaks:)","abstract":"setTweaks needs to be called to add the defined Tweaks into the environment.","parent_name":"MixpanelTweaks"},"Structs/Tweak.html#/s:8Mixpanel5TweakV9tweakName12defaultValueACyxGSS_xtcfc":{"name":"init(tweakName:defaultValue:)","abstract":"Initializer for a Tweak for A/B Testing","parent_name":"Tweak"},"Structs/Tweak.html#/s:8Mixpanel5TweakV4hash4intoys6HasherVz_tF":{"name":"hash(into:)","abstract":"Hashing for a Tweak for A/B Testing in order for it to be stored.","parent_name":"Tweak"},"Structs/Tweak.html#/s:8Mixpanel16TweakClusterTypeP05tweakC0SayAA03AnyB0VGvp":{"name":"tweakCluster","parent_name":"Tweak"},"Structs/Tweak.html#/s:8Mixpanel5TweakVAASLRzs13SignedNumericRzrlE9tweakName12defaultValue3min3max8stepSizeACyxGSS_xxSgA2Ktcfc":{"name":"init(tweakName:defaultValue:min:max:stepSize:)","abstract":"Creates a Tweak where T: SignedNumberType","parent_name":"Tweak"},"Structs/AnyTweak.html#/s:SH4hash4intoys6HasherVz_tF":{"name":"hash(into:)","parent_name":"AnyTweak"},"Structs/AnyTweak.html#/s:8Mixpanel8AnyTweakV12tweakClusterSayACGvp":{"name":"tweakCluster","abstract":"Allows easy tweak initialization by clustering tweaks together for A/B Testing","parent_name":"AnyTweak"},"Structs/AnyTweak.html":{"name":"AnyTweak","abstract":"A type-erasure around Tweak for A/B Testing."},"Structs/Tweak.html":{"name":"Tweak","abstract":"Tweaks let you adjust things on the fly."},"Structs/MixpanelTweaks.html":{"name":"MixpanelTweaks","abstract":"The MixpanelTweaks struct that needs to be extended to define new Tweaks for A/B testing"},"Protocols/TweakableType.html#/s:8Mixpanel13TweakableTypeP013tweakViewDataC0AA05TweakefC0OvpZ":{"name":"tweakViewDataType","abstract":"The data type of the TweakableType","parent_name":"TweakableType"},"Protocols/TweakLibraryType.html#/s:8Mixpanel16TweakLibraryTypeP12defaultStoreAA0bF0CvpZ":{"name":"defaultStore","abstract":"the default tweak store","parent_name":"TweakLibraryType"},"Protocols/TweakLibraryType.html#/s:8Mixpanel16TweakLibraryTypePAAE6assignyqd__AA0B0Vyqd__GAA09TweakableD0Rd__lFZ":{"name":"assign(_:)","abstract":"Returns the current value for a tweak from the TweakLibrary’s default store.","parent_name":"TweakLibraryType"},"Protocols/TweakLibraryType.html#/s:8Mixpanel16TweakLibraryTypePAAE4bind_7bindingyAA0B0Vyqd__G_yqd__ctAA09TweakableD0Rd__lFZ":{"name":"bind(_:binding:)","abstract":"Immediately binds the currentValue of a given tweak, and then continues to update whenever the tweak changes.","parent_name":"TweakLibraryType"},"Protocols/TweakClusterType.html#/s:8Mixpanel16TweakClusterTypeP05tweakC0SayAA03AnyB0VGvp":{"name":"tweakCluster","abstract":"The tweak cluster to allow easy initialization of Tweaks","parent_name":"TweakClusterType"},"Protocols/MixpanelType.html#/s:8Mixpanel0A4TypeP013isValidNestedB8AndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"Checks if this object has nested object types that Mixpanel supports.","parent_name":"MixpanelType"},"Protocols/MixpanelType.html#/s:8Mixpanel0A4TypeP6equals3rhsSbAaB_p_tF":{"name":"equals(rhs:)","abstract":"Undocumented","parent_name":"MixpanelType"},"Protocols/MixpanelDelegate.html#/s:8Mixpanel0A8DelegateP17mixpanelWillFlushySbAA0A8InstanceCF":{"name":"mixpanelWillFlush(_:)","abstract":"Asks the delegate if data should be uploaded to the server.","parent_name":"MixpanelDelegate"},"Protocols/MixpanelDelegate.html":{"name":"MixpanelDelegate","abstract":"Delegate protocol for controlling the Mixpanel API’s network behavior."},"Protocols/MixpanelType.html":{"name":"MixpanelType","abstract":"Property keys must be String objects and the supported value types need to conform to MixpanelType."},"Protocols/TweakClusterType.html":{"name":"TweakClusterType","abstract":"This protocol allows for easy initialization of TweakStore."},"Protocols/TweakLibraryType.html":{"name":"TweakLibraryType","abstract":"Create a public struct in your application that conforms to this protocol to declare your own tweaks!"},"Protocols/TweakableType.html":{"name":"TweakableType","abstract":"To add a new to our Tweak, make T conform to this protocol."},"Functions.html#/s:8Mixpanel2eeoiySbAA8AnyTweakV_ADtF":{"name":"==(_:_:)","abstract":"Comparator between two tweaks for A/B Testing."},"Functions.html#/s:8Mixpanel2eeoiySbAA5TweakVyxG_AEtAA13TweakableTypeRzlF":{"name":"==(_:_:)","abstract":"Comparator between two tweaks for A/B Testing."},"Extensions/CGFloat.html#/s:12CoreGraphics7CGFloatV8MixpanelE17tweakViewDataTypeAD05TweakfgH0OvpZ":{"name":"tweakViewDataType","abstract":"TweakableType supports the cgFloat type","parent_name":"CGFloat"},"Extensions/Dictionary.html#/s:SD8MixpanelE25isValidNestedTypeAndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"Checks if this object has nested object types that Mixpanel supports.","parent_name":"Dictionary"},"Extensions/Dictionary.html#/s:SD8MixpanelE6equals3rhsSbAA0A4Type_p_tF":{"name":"equals(rhs:)","abstract":"Undocumented","parent_name":"Dictionary"},"Extensions/NSArray.html#/s:So7NSArrayC8MixpanelE25isValidNestedTypeAndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"Checks if this object has nested object types that Mixpanel supports.","parent_name":"NSArray"},"Extensions/NSArray.html#/s:So7NSArrayC8MixpanelE6equals3rhsSbAC0B4Type_p_tF":{"name":"equals(rhs:)","abstract":"Undocumented","parent_name":"NSArray"},"Extensions/NSNull.html#/s:So6NSNullC8MixpanelE25isValidNestedTypeAndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"Checks if this object has nested object types that Mixpanel supports.","parent_name":"NSNull"},"Extensions/NSNull.html#/s:So6NSNullC8MixpanelE6equals3rhsSbAC0B4Type_p_tF":{"name":"equals(rhs:)","abstract":"Undocumented","parent_name":"NSNull"},"Extensions/URL.html#/s:10Foundation3URLV8MixpanelE25isValidNestedTypeAndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"Checks if this object has nested object types that Mixpanel supports.","parent_name":"URL"},"Extensions/URL.html#/s:10Foundation3URLV8MixpanelE6equals3rhsSbAD0C4Type_p_tF":{"name":"equals(rhs:)","abstract":"Undocumented","parent_name":"URL"},"Extensions/Date.html#/s:10Foundation4DateV8MixpanelE25isValidNestedTypeAndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"Checks if this object has nested object types that Mixpanel supports.","parent_name":"Date"},"Extensions/Date.html#/s:10Foundation4DateV8MixpanelE6equals3rhsSbAD0C4Type_p_tF":{"name":"equals(rhs:)","abstract":"Undocumented","parent_name":"Date"},"Extensions/Bool.html#/s:Sb8MixpanelE25isValidNestedTypeAndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"Checks if this object has nested object types that Mixpanel supports.","parent_name":"Bool"},"Extensions/Bool.html#/s:Sb8MixpanelE6equals3rhsSbAA0A4Type_p_tF":{"name":"equals(rhs:)","abstract":"Undocumented","parent_name":"Bool"},"Extensions/Bool.html#/s:Sb8MixpanelE17tweakViewDataTypeAA05TweakcdE0OvpZ":{"name":"tweakViewDataType","abstract":"TweakableType supports the boolean type","parent_name":"Bool"},"Extensions/Float.html#/s:Sf8MixpanelE25isValidNestedTypeAndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"Checks if this object has nested object types that Mixpanel supports.","parent_name":"Float"},"Extensions/Float.html#/s:Sf8MixpanelE6equals3rhsSbAA0A4Type_p_tF":{"name":"equals(rhs:)","abstract":"Undocumented","parent_name":"Float"},"Extensions/Double.html#/s:Sd8MixpanelE25isValidNestedTypeAndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"Checks if this object has nested object types that Mixpanel supports.","parent_name":"Double"},"Extensions/Double.html#/s:Sd8MixpanelE6equals3rhsSbAA0A4Type_p_tF":{"name":"equals(rhs:)","abstract":"Undocumented","parent_name":"Double"},"Extensions/Double.html#/s:Sd8MixpanelE17tweakViewDataTypeAA05TweakcdE0OvpZ":{"name":"tweakViewDataType","abstract":"TweakableType supports the double type","parent_name":"Double"},"Extensions/UInt.html#/s:Su8MixpanelE25isValidNestedTypeAndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"Checks if this object has nested object types that Mixpanel supports.","parent_name":"UInt"},"Extensions/UInt.html#/s:Su8MixpanelE6equals3rhsSbAA0A4Type_p_tF":{"name":"equals(rhs:)","abstract":"Undocumented","parent_name":"UInt"},"Extensions/Int.html#/s:Si8MixpanelE25isValidNestedTypeAndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"Checks if this object has nested object types that Mixpanel supports.","parent_name":"Int"},"Extensions/Int.html#/s:Si8MixpanelE6equals3rhsSbAA0A4Type_p_tF":{"name":"equals(rhs:)","abstract":"Undocumented","parent_name":"Int"},"Extensions/Int.html#/s:Si8MixpanelE17tweakViewDataTypeAA05TweakcdE0OvpZ":{"name":"tweakViewDataType","abstract":"TweakableType supports the integer type","parent_name":"Int"},"Extensions/NSNumber.html#/s:So8NSNumberC8MixpanelE25isValidNestedTypeAndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"Checks if this object has nested object types that Mixpanel supports.","parent_name":"NSNumber"},"Extensions/NSNumber.html#/s:So8NSNumberC8MixpanelE6equals3rhsSbAC0B4Type_p_tF":{"name":"equals(rhs:)","abstract":"Undocumented","parent_name":"NSNumber"},"Extensions/NSString.html#/s:So8NSStringC8MixpanelE25isValidNestedTypeAndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"Checks if this object has nested object types that Mixpanel supports.","parent_name":"NSString"},"Extensions/NSString.html#/s:So8NSStringC8MixpanelE6equals3rhsSbAC0B4Type_p_tF":{"name":"equals(rhs:)","abstract":"Undocumented","parent_name":"NSString"},"Extensions/String.html#/s:SS8MixpanelE25isValidNestedTypeAndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"Checks if this object has nested object types that Mixpanel supports.","parent_name":"String"},"Extensions/String.html#/s:SS8MixpanelE6equals3rhsSbAA0A4Type_p_tF":{"name":"equals(rhs:)","abstract":"Undocumented","parent_name":"String"},"Extensions/String.html#/s:SS8MixpanelE17tweakViewDataTypeAA05TweakcdE0OvpZ":{"name":"tweakViewDataType","abstract":"TweakableType supports the string type","parent_name":"String"},"Extensions/Optional.html#/s:Sq8MixpanelE25isValidNestedTypeAndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"Checks if this object has nested object types that Mixpanel supports.","parent_name":"Optional"},"Extensions/Optional.html#/s:Sq8MixpanelE6equals3rhsSbAA0A4Type_p_tF":{"name":"equals(rhs:)","abstract":"Undocumented","parent_name":"Optional"},"Extensions/Array.html#/s:Sa8MixpanelE25isValidNestedTypeAndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"Checks if this object has nested object types that Mixpanel supports.","parent_name":"Array"},"Extensions/Array.html#/s:Sa8MixpanelE6equals3rhsSbAA0A4Type_p_tF":{"name":"equals(rhs:)","abstract":"Undocumented","parent_name":"Array"},"Extensions/UIColor.html#/s:So7UIColorC8MixpanelE5MPHexABSu_tcfc":{"name":"init(MPHex:)","abstract":"The shorthand four-digit hexadecimal representation of color with alpha.","parent_name":"UIColor"},"Extensions/UIColor.html":{"name":"UIColor"},"Extensions/Array.html":{"name":"Array"},"Extensions/Optional.html":{"name":"Optional"},"Extensions/String.html":{"name":"String"},"Extensions/NSString.html":{"name":"NSString"},"Extensions/NSNumber.html":{"name":"NSNumber"},"Extensions/Int.html":{"name":"Int"},"Extensions/UInt.html":{"name":"UInt"},"Extensions/Double.html":{"name":"Double"},"Extensions/Float.html":{"name":"Float"},"Extensions/Bool.html":{"name":"Bool"},"Extensions/Date.html":{"name":"Date"},"Extensions/URL.html":{"name":"URL"},"Extensions/NSNull.html":{"name":"NSNull"},"Extensions/NSArray.html":{"name":"NSArray"},"Extensions/Dictionary.html":{"name":"Dictionary"},"Extensions/CGFloat.html":{"name":"CGFloat"},"Enums/TweakViewDataType.html#/s:8Mixpanel17TweakViewDataTypeO7booleanyA2CmF":{"name":"boolean","abstract":"TweakableType supports the boolean type","parent_name":"TweakViewDataType"},"Enums/TweakViewDataType.html#/s:8Mixpanel17TweakViewDataTypeO7integeryA2CmF":{"name":"integer","abstract":"TweakableType supports the integer type","parent_name":"TweakViewDataType"},"Enums/TweakViewDataType.html#/s:8Mixpanel17TweakViewDataTypeO7cgFloatyA2CmF":{"name":"cgFloat","abstract":"TweakableType supports the cgFloat type","parent_name":"TweakViewDataType"},"Enums/TweakViewDataType.html#/s:8Mixpanel17TweakViewDataTypeO6doubleyA2CmF":{"name":"double","abstract":"TweakableType supports the double type","parent_name":"TweakViewDataType"},"Enums/TweakViewDataType.html#/s:8Mixpanel17TweakViewDataTypeO6stringyA2CmF":{"name":"string","abstract":"TweakableType supports the string type","parent_name":"TweakViewDataType"},"Enums/TweakViewDataType.html":{"name":"TweakViewDataType","abstract":"The data types that are currently supported for SwiftTweaks."},"Classes/MixpanelPushNotifications.html#/s:8Mixpanel0A17PushNotificationsC02isaB12NotificationySbSo21UNNotificationContentCFZ":{"name":"isMixpanelPushNotification(_:)","abstract":"Undocumented","parent_name":"MixpanelPushNotifications"},"Classes/MixpanelPushNotifications.html#/s:8Mixpanel0A17PushNotificationsC10trackEvent_10properties7requestySS_SDySSAA0A4Type_pGSo21UNNotificationRequestCtFZ":{"name":"trackEvent(_:properties:request:)","abstract":"Undocumented","parent_name":"MixpanelPushNotifications"},"Classes/People.html#/s:8Mixpanel6PeopleC10ignoreTimeSbvp":{"name":"ignoreTime","abstract":"controls the $ignore_time property in any subsequent MixpanelPeople operation.","parent_name":"People"},"Classes/People.html#/s:8Mixpanel6PeopleC18addPushDeviceTokenyy10Foundation4DataVF":{"name":"addPushDeviceToken(_:)","abstract":"Register the given device to receive push notifications.","parent_name":"People"},"Classes/People.html#/s:8Mixpanel6PeopleC25removeAllPushDeviceTokensyyF":{"name":"removeAllPushDeviceTokens()","abstract":"Unregister the given device to receive push notifications.","parent_name":"People"},"Classes/People.html#/s:8Mixpanel6PeopleC21removePushDeviceTokenyy10Foundation4DataVF":{"name":"removePushDeviceToken(_:)","abstract":"Unregister a specific device token from the ability to receive push notifications.","parent_name":"People"},"Classes/People.html#/s:8Mixpanel6PeopleC3set10propertiesySDySSAA0A4Type_pG_tF":{"name":"set(properties:)","abstract":"Set properties on the current user in Mixpanel People.","parent_name":"People"},"Classes/People.html#/s:8Mixpanel6PeopleC3set8property2toySS_AA0A4Type_ptF":{"name":"set(property:to:)","abstract":"Convenience method for setting a single property in Mixpanel People.","parent_name":"People"},"Classes/People.html#/s:8Mixpanel6PeopleC7setOnce10propertiesySDySSAA0A4Type_pG_tF":{"name":"setOnce(properties:)","abstract":"Set properties on the current user in Mixpanel People, but doesn’t overwrite if","parent_name":"People"},"Classes/People.html#/s:8Mixpanel6PeopleC5unset10propertiesySaySSG_tF":{"name":"unset(properties:)","abstract":"Remove a list of properties and their values from the current user’s profile","parent_name":"People"},"Classes/People.html#/s:8Mixpanel6PeopleC9increment10propertiesySDySSAA0A4Type_pG_tF":{"name":"increment(properties:)","abstract":"Increment the given numeric properties by the given values.","parent_name":"People"},"Classes/People.html#/s:8Mixpanel6PeopleC9increment8property2byySS_SdtF":{"name":"increment(property:by:)","abstract":"Convenience method for incrementing a single numeric property by the specified","parent_name":"People"},"Classes/People.html#/s:8Mixpanel6PeopleC6append10propertiesySDySSAA0A4Type_pG_tF":{"name":"append(properties:)","abstract":"Append values to list properties.","parent_name":"People"},"Classes/People.html#/s:8Mixpanel6PeopleC6remove10propertiesySDySSAA0A4Type_pG_tF":{"name":"remove(properties:)","abstract":"Removes list properties.","parent_name":"People"},"Classes/People.html#/s:8Mixpanel6PeopleC5union10propertiesySDySSAA0A4Type_pG_tF":{"name":"union(properties:)","abstract":"Union list properties.","parent_name":"People"},"Classes/People.html#/s:8Mixpanel6PeopleC11trackCharge6amount10propertiesySd_SDySSAA0A4Type_pGSgtF":{"name":"trackCharge(amount:properties:)","abstract":"Track money spent by the current user for revenue analytics and associate","parent_name":"People"},"Classes/People.html#/s:8Mixpanel6PeopleC12clearChargesyyF":{"name":"clearCharges()","abstract":"Delete current user’s revenue history.","parent_name":"People"},"Classes/People.html#/s:8Mixpanel6PeopleC10deleteUseryyF":{"name":"deleteUser()","abstract":"Delete current user’s record from Mixpanel People.","parent_name":"People"},"Classes/MixpanelNotificationServiceExtension.html#/c:@M@Mixpanel@objc(cs)MixpanelNotificationServiceExtension(im)didReceiveNotificationRequest:withContentHandler:":{"name":"didReceive(_:withContentHandler:)","abstract":"Undocumented","parent_name":"MixpanelNotificationServiceExtension"},"Classes/MixpanelNotificationServiceExtension.html#/c:@M@Mixpanel@objc(cs)MixpanelNotificationServiceExtension(im)serviceExtensionTimeWillExpire":{"name":"serviceExtensionTimeWillExpire()","abstract":"Undocumented","parent_name":"MixpanelNotificationServiceExtension"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC8apiTokenSSvp":{"name":"apiToken","abstract":"apiToken string that identifies the project to track data to","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC8delegateAA0A8Delegate_pSgvp":{"name":"delegate","abstract":"The a MixpanelDelegate object that gives control over Mixpanel network activity.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC10distinctIdSSvp":{"name":"distinctId","abstract":"distinctId string that uniquely identifies the current user.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC11anonymousIdSSSgvp":{"name":"anonymousId","abstract":"anonymousId string that uniquely identifies the device.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC6userIdSSSgvp":{"name":"userId","abstract":"userId string that identify is called with.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC22hadPersistedDistinctIdSbSgvp":{"name":"hadPersistedDistinctId","abstract":"hadPersistedDistinctId is a boolean value which specifies that the stored distinct_id","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC5aliasSSSgvp":{"name":"alias","abstract":"alias string that uniquely identifies the current user.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC6peopleAA6PeopleCSgvp":{"name":"people","abstract":"Accessor to the Mixpanel People API object.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC28showNetworkActivityIndicatorSbvp":{"name":"showNetworkActivityIndicator","abstract":"Controls whether to show spinning network activity indicator when flushing","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC27trackAutomaticEventsEnabledSbSgvp":{"name":"trackAutomaticEventsEnabled","abstract":"This allows enabling or disabling collecting common mobile events","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC13flushIntervalSdvp":{"name":"flushInterval","abstract":"Flush timer’s interval.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC17flushOnBackgroundSbvp":{"name":"flushOnBackground","abstract":"Control whether the library should flush data to Mixpanel when the app","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC26useIPAddressForGeoLocationSbvp":{"name":"useIPAddressForGeoLocation","abstract":"Controls whether to automatically send the client IP Address as part of","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC9serverURLSSvp":{"name":"serverURL","abstract":"The base URL used for Mixpanel API requests.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:s28CustomDebugStringConvertibleP16debugDescriptionSSvp":{"name":"debugDescription","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC14loggingEnabledSbvp":{"name":"loggingEnabled","abstract":"This allows enabling or disabling of all Mixpanel logs at run time.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC4nameSSvp":{"name":"name","abstract":"A unique identifier for this MixpanelInstance","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC29enableVisualEditorForCodelessSbvp":{"name":"enableVisualEditorForCodeless","abstract":"Controls whether to enable the visual editor for codeless on mixpanel.com","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC24checkForVariantsOnActiveSbvp":{"name":"checkForVariantsOnActive","abstract":"Controls whether to automatically check for A/B test variants for the","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC28checkForNotificationOnActiveSbvp":{"name":"checkForNotificationOnActive","abstract":"Controls whether to automatically check for notifications for the","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC24showNotificationOnActiveSbvp":{"name":"showNotificationOnActive","abstract":"Controls whether to automatically check for and show in-app notifications","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC32miniNotificationPresentationTimeSdvp":{"name":"miniNotificationPresentationTime","abstract":"Determines the time, in seconds, that a mini notification will remain on","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC22minimumSessionDurations6UInt64Vvp":{"name":"minimumSessionDuration","abstract":"The minimum session duration (ms) that is tracked in automatic events.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC22maximumSessionDurations6UInt64Vvp":{"name":"maximumSessionDuration","abstract":"The maximum session duration (ms) that is tracked in automatic events.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC8identify10distinctId9usePeopleySS_SbtF":{"name":"identify(distinctId:usePeople:)","abstract":"Sets the distinct ID of the current user.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC11createAlias_10distinctId9usePeopleySS_SSSbtF":{"name":"createAlias(_:distinctId:usePeople:)","abstract":"The alias method creates an alias which Mixpanel will use to remap one id to another.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC5resetyyF":{"name":"reset()","abstract":"Clears all stored properties including the distinct Id.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC7archiveyyF":{"name":"archive()","abstract":"Writes current project info including the distinct Id, super properties,","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/archive()":{"name":"archive()","abstract":"Writes current project info including the distinct Id, super properties,","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC5flush10completionyyycSg_tF":{"name":"flush(completion:)","abstract":"Uploads queued data to the Mixpanel server.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC5track5event10propertiesySSSg_SDySSAA0A4Type_pGSgtF":{"name":"track(event:properties:)","abstract":"Tracks an event with properties.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC15trackWithGroups5event10properties6groupsySSSg_SDySSAA0A4Type_pGSgAKtF":{"name":"trackWithGroups(event:properties:groups:)","abstract":"Tracks an event with properties and to specific groups.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC8getGroup8groupKey0E2IDAA0D0CSS_AA0A4Type_ptF":{"name":"getGroup(groupKey:groupID:)","abstract":"Undocumented","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC4time5eventySS_tF":{"name":"time(event:)","abstract":"Starts a timer that will be stopped and added as a property when a","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC16eventElapsedTime0C0SdSS_tF":{"name":"eventElapsedTime(event:)","abstract":"Retrieves the time elapsed for the named event since time(event:) was called.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC16clearTimedEventsyyF":{"name":"clearTimedEvents()","abstract":"Clears all current event timers.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC15clearTimedEvent5eventySS_tF":{"name":"clearTimedEvent(event:)","abstract":"Clears the event timer for the named event.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC22currentSuperPropertiesSDySSypGyF":{"name":"currentSuperProperties()","abstract":"Returns the currently set super properties.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC20clearSuperPropertiesyyF":{"name":"clearSuperProperties()","abstract":"Clears all currently set super properties.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC23registerSuperPropertiesyySDySSAA0A4Type_pGF":{"name":"registerSuperProperties(_:)","abstract":"Registers super properties, overwriting ones that have already been set.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC27registerSuperPropertiesOnce_12defaultValueySDySSAA0A4Type_pG_AaF_pSgtF":{"name":"registerSuperPropertiesOnce(_:defaultValue:)","abstract":"Registers super properties without overwriting ones that have already been set,","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC23unregisterSuperPropertyyySSF":{"name":"unregisterSuperProperty(_:)","abstract":"Removes a previously registered super property.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC8setGroup8groupKey0E2IDySS_AA0A4Type_ptF":{"name":"setGroup(groupKey:groupID:)","abstract":"Convenience method to set a single group the user belongs to.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC8setGroup8groupKey0E3IDsySS_SayAA0A4Type_pGtF":{"name":"setGroup(groupKey:groupIDs:)","abstract":"Set the groups this user belongs to.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC8addGroup8groupKey0E2IDySS_AA0A4Type_ptF":{"name":"addGroup(groupKey:groupID:)","abstract":"Add a group to this user’s membership for a particular group key","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC11removeGroup8groupKey0E2IDySS_AA0A4Type_ptF":{"name":"removeGroup(groupKey:groupID:)","abstract":"Remove a group from this user’s membership for a particular group key","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC14optOutTrackingyyF":{"name":"optOutTracking()","abstract":"Opt out tracking.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC13optInTracking10distinctId10propertiesySSSg_SDySSAA0A4Type_pGSgtF":{"name":"optInTracking(distinctId:properties:)","abstract":"Opt in tracking.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC19hasOptedOutTrackingSbyF":{"name":"hasOptedOutTracking()","abstract":"Returns if the current user has opted out tracking.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC15joinExperiments8callbackyyycSg_tF":{"name":"joinExperiments(callback:)","abstract":"Join any experiments (A/B tests) that are available for the current user.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC16showNotificationyyF":{"name":"showNotification()","abstract":"Shows a notification if one is available.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC16showNotification4typeySS_tF":{"name":"showNotification(type:)","abstract":"Shows a notification with the given type if one is available.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC16showNotification2IDySi_tF":{"name":"showNotification(ID:)","abstract":"Shows a notification with the given ID","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC24fetchNotificationPayload10completionyySDySSyXlGSgc_tF":{"name":"fetchNotificationPayload(completion:)","abstract":"Returns the payload of a notification if available","parent_name":"MixpanelInstance"},"Classes/Mixpanel.html#/s:8MixpanelAAC10initialize5token13launchOptions13flushInterval12instanceName21automaticPushTracking06optOutL9ByDefaultAA0A8InstanceCSS_SDySo019UIApplicationLaunchE3KeyaypGSgSdSSS2btFZ":{"name":"initialize(token:launchOptions:flushInterval:instanceName:automaticPushTracking:optOutTrackingByDefault:)","abstract":"Initializes an instance of the API with the given project token.","parent_name":"Mixpanel"},"Classes/Mixpanel.html#/initialize(token:flushInterval:instanceName:optOutTrackingByDefault:)":{"name":"initialize(token:flushInterval:instanceName:optOutTrackingByDefault:)","abstract":"Initializes an instance of the API with the given project token (MAC OS ONLY).","parent_name":"Mixpanel"},"Classes/Mixpanel.html#/s:8MixpanelAAC11getInstance4nameAA0aC0CSgSS_tFZ":{"name":"getInstance(name:)","abstract":"Gets the mixpanel instance with the given name","parent_name":"Mixpanel"},"Classes/Mixpanel.html#/s:8MixpanelAAC12mainInstanceAA0aC0CyFZ":{"name":"mainInstance()","abstract":"Returns the main instance that was initialized.","parent_name":"Mixpanel"},"Classes/Mixpanel.html#/s:8MixpanelAAC15setMainInstance4nameySS_tFZ":{"name":"setMainInstance(name:)","abstract":"Sets the main instance based on the instance name","parent_name":"Mixpanel"},"Classes/Mixpanel.html#/s:8MixpanelAAC14removeInstance4nameySS_tFZ":{"name":"removeInstance(name:)","abstract":"Removes an unneeded Mixpanel instance based on its name","parent_name":"Mixpanel"},"Classes/Group.html#/s:8Mixpanel5GroupC3set10propertiesySDySSAA0A4Type_pG_tF":{"name":"set(properties:)","abstract":"Sets properties on this group.","parent_name":"Group"},"Classes/Group.html#/s:8Mixpanel5GroupC3set8property2toySS_AA0A4Type_ptF":{"name":"set(property:to:)","abstract":"Convenience method for setting a single property in Mixpanel Groups.","parent_name":"Group"},"Classes/Group.html#/s:8Mixpanel5GroupC7setOnce10propertiesySDySSAA0A4Type_pG_tF":{"name":"setOnce(properties:)","abstract":"Sets properties on the current Mixpanel Group, but doesn’t overwrite if","parent_name":"Group"},"Classes/Group.html#/s:8Mixpanel5GroupC5unset8propertyySS_tF":{"name":"unset(property:)","abstract":"Remove a property and its value from a group’s profile in Mixpanel Groups.","parent_name":"Group"},"Classes/Group.html#/s:8Mixpanel5GroupC6remove3key5valueySS_AA0A4Type_ptF":{"name":"remove(key:value:)","abstract":"Removes list properties.","parent_name":"Group"},"Classes/Group.html#/s:8Mixpanel5GroupC5union3key6valuesySS_SayAA0A4Type_pGtF":{"name":"union(key:values:)","abstract":"Union list properties.","parent_name":"Group"},"Classes/Group.html#/s:8Mixpanel5GroupC06deleteB0yyF":{"name":"deleteGroup()","abstract":"Delete group’s record from Mixpanel Groups.","parent_name":"Group"},"Classes/Group.html":{"name":"Group","abstract":"Access to the Mixpanel Groups API, available through the getGroup function from"},"Classes/Mixpanel.html":{"name":"Mixpanel","abstract":"The primary class for integrating Mixpanel with your app."},"Classes/MixpanelInstance.html":{"name":"MixpanelInstance","abstract":"The class that represents the Mixpanel Instance"},"Classes/MixpanelNotificationServiceExtension.html":{"name":"MixpanelNotificationServiceExtension","abstract":"Undocumented"},"Classes/People.html":{"name":"People","abstract":"Access to the Mixpanel People API, available as an accessible variable from"},"Classes/MixpanelPushNotifications.html":{"name":"MixpanelPushNotifications","abstract":"Undocumented"},"Classes.html#/s:8Mixpanel10TweakStoreC":{"name":"TweakStore","abstract":"Looks up the persisted state for tweaks."},"Classes.html":{"name":"Classes","abstract":"The following classes are available globally."},"Enums.html":{"name":"Enumerations","abstract":"The following enumerations are available globally."},"Extensions.html":{"name":"Extensions","abstract":"The following extensions are available globally."},"Functions.html":{"name":"Functions","abstract":"The following functions are available globally."},"Protocols.html":{"name":"Protocols","abstract":"The following protocols are available globally."},"Structs.html":{"name":"Structures","abstract":"The following structures are available globally."},"Typealiases.html":{"name":"Type Aliases","abstract":"The following type aliases are available globally."}} \ No newline at end of file +{"Typealiases.html#/s:8Mixpanel10Propertiesa":{"name":"Properties","abstract":"Undocumented"},"Structs/MixpanelTweaks.html#/s:8Mixpanel0A6TweaksV12defaultStoreAA05TweakD0CvpZ":{"name":"defaultStore","abstract":"The default store that holds the Tweaks","parent_name":"MixpanelTweaks"},"Structs/MixpanelTweaks.html#/s:8Mixpanel0A6TweaksV03setB06tweaksySayAA16TweakClusterType_pG_tFZ":{"name":"setTweaks(tweaks:)","abstract":"setTweaks needs to be called to add the defined Tweaks into the environment.","parent_name":"MixpanelTweaks"},"Structs/Tweak.html#/s:8Mixpanel5TweakV9tweakName12defaultValueACyxGSS_xtcfc":{"name":"init(tweakName:defaultValue:)","abstract":"Initializer for a Tweak for A/B Testing","parent_name":"Tweak"},"Structs/Tweak.html#/s:8Mixpanel5TweakV4hash4intoys6HasherVz_tF":{"name":"hash(into:)","abstract":"Hashing for a Tweak for A/B Testing in order for it to be stored.","parent_name":"Tweak"},"Structs/Tweak.html#/s:8Mixpanel16TweakClusterTypeP05tweakC0SayAA03AnyB0VGvp":{"name":"tweakCluster","parent_name":"Tweak"},"Structs/Tweak.html#/s:8Mixpanel5TweakVAASLRzs13SignedNumericRzrlE9tweakName12defaultValue3min3max8stepSizeACyxGSS_xxSgA2Ktcfc":{"name":"init(tweakName:defaultValue:min:max:stepSize:)","abstract":"Creates a Tweak where T: SignedNumberType","parent_name":"Tweak"},"Structs/AnyTweak.html#/s:SH4hash4intoys6HasherVz_tF":{"name":"hash(into:)","parent_name":"AnyTweak"},"Structs/AnyTweak.html#/s:8Mixpanel8AnyTweakV12tweakClusterSayACGvp":{"name":"tweakCluster","abstract":"Allows easy tweak initialization by clustering tweaks together for A/B Testing","parent_name":"AnyTweak"},"Structs/AnyTweak.html":{"name":"AnyTweak","abstract":"A type-erasure around Tweak for A/B Testing."},"Structs/Tweak.html":{"name":"Tweak","abstract":"Tweaks let you adjust things on the fly."},"Structs/MixpanelTweaks.html":{"name":"MixpanelTweaks","abstract":"The MixpanelTweaks struct that needs to be extended to define new Tweaks for A/B testing"},"Protocols/TweakableType.html#/s:8Mixpanel13TweakableTypeP013tweakViewDataC0AA05TweakefC0OvpZ":{"name":"tweakViewDataType","abstract":"The data type of the TweakableType","parent_name":"TweakableType"},"Protocols/TweakLibraryType.html#/s:8Mixpanel16TweakLibraryTypeP12defaultStoreAA0bF0CvpZ":{"name":"defaultStore","abstract":"the default tweak store","parent_name":"TweakLibraryType"},"Protocols/TweakLibraryType.html#/s:8Mixpanel16TweakLibraryTypePAAE6assignyqd__AA0B0Vyqd__GAA09TweakableD0Rd__lFZ":{"name":"assign(_:)","abstract":"Returns the current value for a tweak from the TweakLibrary’s default store.","parent_name":"TweakLibraryType"},"Protocols/TweakLibraryType.html#/s:8Mixpanel16TweakLibraryTypePAAE4bind_7bindingyAA0B0Vyqd__G_yqd__ctAA09TweakableD0Rd__lFZ":{"name":"bind(_:binding:)","abstract":"Immediately binds the currentValue of a given tweak, and then continues to update whenever the tweak changes.","parent_name":"TweakLibraryType"},"Protocols/TweakClusterType.html#/s:8Mixpanel16TweakClusterTypeP05tweakC0SayAA03AnyB0VGvp":{"name":"tweakCluster","abstract":"The tweak cluster to allow easy initialization of Tweaks","parent_name":"TweakClusterType"},"Protocols/MixpanelType.html#/s:8Mixpanel0A4TypeP013isValidNestedB8AndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"Checks if this object has nested object types that Mixpanel supports.","parent_name":"MixpanelType"},"Protocols/MixpanelType.html#/s:8Mixpanel0A4TypeP6equals3rhsSbAaB_p_tF":{"name":"equals(rhs:)","abstract":"Undocumented","parent_name":"MixpanelType"},"Protocols/MixpanelDelegate.html#/s:8Mixpanel0A8DelegateP17mixpanelWillFlushySbAA0A8InstanceCF":{"name":"mixpanelWillFlush(_:)","abstract":"Asks the delegate if data should be uploaded to the server.","parent_name":"MixpanelDelegate"},"Protocols/MixpanelDelegate.html":{"name":"MixpanelDelegate","abstract":"Delegate protocol for controlling the Mixpanel API’s network behavior."},"Protocols/MixpanelType.html":{"name":"MixpanelType","abstract":"Property keys must be String objects and the supported value types need to conform to MixpanelType."},"Protocols/TweakClusterType.html":{"name":"TweakClusterType","abstract":"This protocol allows for easy initialization of TweakStore."},"Protocols/TweakLibraryType.html":{"name":"TweakLibraryType","abstract":"Create a public struct in your application that conforms to this protocol to declare your own tweaks!"},"Protocols/TweakableType.html":{"name":"TweakableType","abstract":"To add a new to our Tweak, make T conform to this protocol."},"Functions.html#/s:8Mixpanel2eeoiySbAA8AnyTweakV_ADtF":{"name":"==(_:_:)","abstract":"Comparator between two tweaks for A/B Testing."},"Functions.html#/s:8Mixpanel2eeoiySbAA5TweakVyxG_AEtAA13TweakableTypeRzlF":{"name":"==(_:_:)","abstract":"Comparator between two tweaks for A/B Testing."},"Extensions/CGFloat.html#/s:12CoreGraphics7CGFloatV8MixpanelE17tweakViewDataTypeAD05TweakfgH0OvpZ":{"name":"tweakViewDataType","abstract":"TweakableType supports the cgFloat type","parent_name":"CGFloat"},"Extensions/Dictionary.html#/s:SD8MixpanelE25isValidNestedTypeAndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"Checks if this object has nested object types that Mixpanel supports.","parent_name":"Dictionary"},"Extensions/Dictionary.html#/s:SD8MixpanelE6equals3rhsSbAA0A4Type_p_tF":{"name":"equals(rhs:)","abstract":"Undocumented","parent_name":"Dictionary"},"Extensions/NSArray.html#/s:So7NSArrayC8MixpanelE25isValidNestedTypeAndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"Checks if this object has nested object types that Mixpanel supports.","parent_name":"NSArray"},"Extensions/NSArray.html#/s:So7NSArrayC8MixpanelE6equals3rhsSbAC0B4Type_p_tF":{"name":"equals(rhs:)","abstract":"Undocumented","parent_name":"NSArray"},"Extensions/NSNull.html#/s:So6NSNullC8MixpanelE25isValidNestedTypeAndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"Checks if this object has nested object types that Mixpanel supports.","parent_name":"NSNull"},"Extensions/NSNull.html#/s:So6NSNullC8MixpanelE6equals3rhsSbAC0B4Type_p_tF":{"name":"equals(rhs:)","abstract":"Undocumented","parent_name":"NSNull"},"Extensions/URL.html#/s:10Foundation3URLV8MixpanelE25isValidNestedTypeAndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"Checks if this object has nested object types that Mixpanel supports.","parent_name":"URL"},"Extensions/URL.html#/s:10Foundation3URLV8MixpanelE6equals3rhsSbAD0C4Type_p_tF":{"name":"equals(rhs:)","abstract":"Undocumented","parent_name":"URL"},"Extensions/Date.html#/s:10Foundation4DateV8MixpanelE25isValidNestedTypeAndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"Checks if this object has nested object types that Mixpanel supports.","parent_name":"Date"},"Extensions/Date.html#/s:10Foundation4DateV8MixpanelE6equals3rhsSbAD0C4Type_p_tF":{"name":"equals(rhs:)","abstract":"Undocumented","parent_name":"Date"},"Extensions/Bool.html#/s:Sb8MixpanelE25isValidNestedTypeAndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"Checks if this object has nested object types that Mixpanel supports.","parent_name":"Bool"},"Extensions/Bool.html#/s:Sb8MixpanelE6equals3rhsSbAA0A4Type_p_tF":{"name":"equals(rhs:)","abstract":"Undocumented","parent_name":"Bool"},"Extensions/Bool.html#/s:Sb8MixpanelE17tweakViewDataTypeAA05TweakcdE0OvpZ":{"name":"tweakViewDataType","abstract":"TweakableType supports the boolean type","parent_name":"Bool"},"Extensions/Float.html#/s:Sf8MixpanelE25isValidNestedTypeAndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"Checks if this object has nested object types that Mixpanel supports.","parent_name":"Float"},"Extensions/Float.html#/s:Sf8MixpanelE6equals3rhsSbAA0A4Type_p_tF":{"name":"equals(rhs:)","abstract":"Undocumented","parent_name":"Float"},"Extensions/Double.html#/s:Sd8MixpanelE25isValidNestedTypeAndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"Checks if this object has nested object types that Mixpanel supports.","parent_name":"Double"},"Extensions/Double.html#/s:Sd8MixpanelE6equals3rhsSbAA0A4Type_p_tF":{"name":"equals(rhs:)","abstract":"Undocumented","parent_name":"Double"},"Extensions/Double.html#/s:Sd8MixpanelE17tweakViewDataTypeAA05TweakcdE0OvpZ":{"name":"tweakViewDataType","abstract":"TweakableType supports the double type","parent_name":"Double"},"Extensions/UInt.html#/s:Su8MixpanelE25isValidNestedTypeAndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"Checks if this object has nested object types that Mixpanel supports.","parent_name":"UInt"},"Extensions/UInt.html#/s:Su8MixpanelE6equals3rhsSbAA0A4Type_p_tF":{"name":"equals(rhs:)","abstract":"Undocumented","parent_name":"UInt"},"Extensions/Int.html#/s:Si8MixpanelE25isValidNestedTypeAndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"Checks if this object has nested object types that Mixpanel supports.","parent_name":"Int"},"Extensions/Int.html#/s:Si8MixpanelE6equals3rhsSbAA0A4Type_p_tF":{"name":"equals(rhs:)","abstract":"Undocumented","parent_name":"Int"},"Extensions/Int.html#/s:Si8MixpanelE17tweakViewDataTypeAA05TweakcdE0OvpZ":{"name":"tweakViewDataType","abstract":"TweakableType supports the integer type","parent_name":"Int"},"Extensions/NSNumber.html#/s:So8NSNumberC8MixpanelE25isValidNestedTypeAndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"Checks if this object has nested object types that Mixpanel supports.","parent_name":"NSNumber"},"Extensions/NSNumber.html#/s:So8NSNumberC8MixpanelE6equals3rhsSbAC0B4Type_p_tF":{"name":"equals(rhs:)","abstract":"Undocumented","parent_name":"NSNumber"},"Extensions/NSString.html#/s:So8NSStringC8MixpanelE25isValidNestedTypeAndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"Checks if this object has nested object types that Mixpanel supports.","parent_name":"NSString"},"Extensions/NSString.html#/s:So8NSStringC8MixpanelE6equals3rhsSbAC0B4Type_p_tF":{"name":"equals(rhs:)","abstract":"Undocumented","parent_name":"NSString"},"Extensions/String.html#/s:SS8MixpanelE25isValidNestedTypeAndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"Checks if this object has nested object types that Mixpanel supports.","parent_name":"String"},"Extensions/String.html#/s:SS8MixpanelE6equals3rhsSbAA0A4Type_p_tF":{"name":"equals(rhs:)","abstract":"Undocumented","parent_name":"String"},"Extensions/String.html#/s:SS8MixpanelE17tweakViewDataTypeAA05TweakcdE0OvpZ":{"name":"tweakViewDataType","abstract":"TweakableType supports the string type","parent_name":"String"},"Extensions/Optional.html#/s:Sq8MixpanelE25isValidNestedTypeAndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"Checks if this object has nested object types that Mixpanel supports.","parent_name":"Optional"},"Extensions/Optional.html#/s:Sq8MixpanelE6equals3rhsSbAA0A4Type_p_tF":{"name":"equals(rhs:)","abstract":"Undocumented","parent_name":"Optional"},"Extensions/Array.html#/s:Sa8MixpanelE25isValidNestedTypeAndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"Checks if this object has nested object types that Mixpanel supports.","parent_name":"Array"},"Extensions/Array.html#/s:Sa8MixpanelE6equals3rhsSbAA0A4Type_p_tF":{"name":"equals(rhs:)","abstract":"Undocumented","parent_name":"Array"},"Extensions/UIColor.html#/s:So7UIColorC8MixpanelE5MPHexABSu_tcfc":{"name":"init(MPHex:)","abstract":"The shorthand four-digit hexadecimal representation of color with alpha.","parent_name":"UIColor"},"Extensions/UIColor.html":{"name":"UIColor"},"Extensions/Array.html":{"name":"Array"},"Extensions/Optional.html":{"name":"Optional"},"Extensions/String.html":{"name":"String"},"Extensions/NSString.html":{"name":"NSString"},"Extensions/NSNumber.html":{"name":"NSNumber"},"Extensions/Int.html":{"name":"Int"},"Extensions/UInt.html":{"name":"UInt"},"Extensions/Double.html":{"name":"Double"},"Extensions/Float.html":{"name":"Float"},"Extensions/Bool.html":{"name":"Bool"},"Extensions/Date.html":{"name":"Date"},"Extensions/URL.html":{"name":"URL"},"Extensions/NSNull.html":{"name":"NSNull"},"Extensions/NSArray.html":{"name":"NSArray"},"Extensions/Dictionary.html":{"name":"Dictionary"},"Extensions/CGFloat.html":{"name":"CGFloat"},"Enums/TweakViewDataType.html#/s:8Mixpanel17TweakViewDataTypeO7booleanyA2CmF":{"name":"boolean","abstract":"TweakableType supports the boolean type","parent_name":"TweakViewDataType"},"Enums/TweakViewDataType.html#/s:8Mixpanel17TweakViewDataTypeO7integeryA2CmF":{"name":"integer","abstract":"TweakableType supports the integer type","parent_name":"TweakViewDataType"},"Enums/TweakViewDataType.html#/s:8Mixpanel17TweakViewDataTypeO7cgFloatyA2CmF":{"name":"cgFloat","abstract":"TweakableType supports the cgFloat type","parent_name":"TweakViewDataType"},"Enums/TweakViewDataType.html#/s:8Mixpanel17TweakViewDataTypeO6doubleyA2CmF":{"name":"double","abstract":"TweakableType supports the double type","parent_name":"TweakViewDataType"},"Enums/TweakViewDataType.html#/s:8Mixpanel17TweakViewDataTypeO6stringyA2CmF":{"name":"string","abstract":"TweakableType supports the string type","parent_name":"TweakViewDataType"},"Enums/TweakViewDataType.html":{"name":"TweakViewDataType","abstract":"The data types that are currently supported for SwiftTweaks."},"Classes/MixpanelPushNotifications.html#/s:8Mixpanel0A17PushNotificationsC02isaB12NotificationySbSo21UNNotificationContentCFZ":{"name":"isMixpanelPushNotification(_:)","abstract":"Undocumented","parent_name":"MixpanelPushNotifications"},"Classes/MixpanelPushNotifications.html#/s:8Mixpanel0A17PushNotificationsC10trackEvent_10properties7requestySS_SDySSAA0A4Type_pGSo21UNNotificationRequestCtFZ":{"name":"trackEvent(_:properties:request:)","abstract":"Undocumented","parent_name":"MixpanelPushNotifications"},"Classes/People.html#/s:8Mixpanel6PeopleC10ignoreTimeSbvp":{"name":"ignoreTime","abstract":"controls the $ignore_time property in any subsequent MixpanelPeople operation.","parent_name":"People"},"Classes/People.html#/s:8Mixpanel6PeopleC18addPushDeviceTokenyy10Foundation4DataVF":{"name":"addPushDeviceToken(_:)","abstract":"Register the given device to receive push notifications.","parent_name":"People"},"Classes/People.html#/s:8Mixpanel6PeopleC25removeAllPushDeviceTokensyyF":{"name":"removeAllPushDeviceTokens()","abstract":"Unregister the given device to receive push notifications.","parent_name":"People"},"Classes/People.html#/s:8Mixpanel6PeopleC21removePushDeviceTokenyy10Foundation4DataVF":{"name":"removePushDeviceToken(_:)","abstract":"Unregister a specific device token from the ability to receive push notifications.","parent_name":"People"},"Classes/People.html#/s:8Mixpanel6PeopleC3set10propertiesySDySSAA0A4Type_pG_tF":{"name":"set(properties:)","abstract":"Set properties on the current user in Mixpanel People.","parent_name":"People"},"Classes/People.html#/s:8Mixpanel6PeopleC3set8property2toySS_AA0A4Type_ptF":{"name":"set(property:to:)","abstract":"Convenience method for setting a single property in Mixpanel People.","parent_name":"People"},"Classes/People.html#/s:8Mixpanel6PeopleC7setOnce10propertiesySDySSAA0A4Type_pG_tF":{"name":"setOnce(properties:)","abstract":"Set properties on the current user in Mixpanel People, but doesn’t overwrite if","parent_name":"People"},"Classes/People.html#/s:8Mixpanel6PeopleC5unset10propertiesySaySSG_tF":{"name":"unset(properties:)","abstract":"Remove a list of properties and their values from the current user’s profile","parent_name":"People"},"Classes/People.html#/s:8Mixpanel6PeopleC9increment10propertiesySDySSAA0A4Type_pG_tF":{"name":"increment(properties:)","abstract":"Increment the given numeric properties by the given values.","parent_name":"People"},"Classes/People.html#/s:8Mixpanel6PeopleC9increment8property2byySS_SdtF":{"name":"increment(property:by:)","abstract":"Convenience method for incrementing a single numeric property by the specified","parent_name":"People"},"Classes/People.html#/s:8Mixpanel6PeopleC6append10propertiesySDySSAA0A4Type_pG_tF":{"name":"append(properties:)","abstract":"Append values to list properties.","parent_name":"People"},"Classes/People.html#/s:8Mixpanel6PeopleC6remove10propertiesySDySSAA0A4Type_pG_tF":{"name":"remove(properties:)","abstract":"Removes list properties.","parent_name":"People"},"Classes/People.html#/s:8Mixpanel6PeopleC5union10propertiesySDySSAA0A4Type_pG_tF":{"name":"union(properties:)","abstract":"Union list properties.","parent_name":"People"},"Classes/People.html#/s:8Mixpanel6PeopleC11trackCharge6amount10propertiesySd_SDySSAA0A4Type_pGSgtF":{"name":"trackCharge(amount:properties:)","abstract":"Track money spent by the current user for revenue analytics and associate","parent_name":"People"},"Classes/People.html#/s:8Mixpanel6PeopleC12clearChargesyyF":{"name":"clearCharges()","abstract":"Delete current user’s revenue history.","parent_name":"People"},"Classes/People.html#/s:8Mixpanel6PeopleC10deleteUseryyF":{"name":"deleteUser()","abstract":"Delete current user’s record from Mixpanel People.","parent_name":"People"},"Classes/MixpanelNotificationServiceExtension.html#/c:@M@Mixpanel@objc(cs)MixpanelNotificationServiceExtension(im)didReceiveNotificationRequest:withContentHandler:":{"name":"didReceive(_:withContentHandler:)","abstract":"Undocumented","parent_name":"MixpanelNotificationServiceExtension"},"Classes/MixpanelNotificationServiceExtension.html#/c:@M@Mixpanel@objc(cs)MixpanelNotificationServiceExtension(im)serviceExtensionTimeWillExpire":{"name":"serviceExtensionTimeWillExpire()","abstract":"Undocumented","parent_name":"MixpanelNotificationServiceExtension"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC8apiTokenSSvp":{"name":"apiToken","abstract":"apiToken string that identifies the project to track data to","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC8delegateAA0A8Delegate_pSgvp":{"name":"delegate","abstract":"The a MixpanelDelegate object that gives control over Mixpanel network activity.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC10distinctIdSSvp":{"name":"distinctId","abstract":"distinctId string that uniquely identifies the current user.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC11anonymousIdSSSgvp":{"name":"anonymousId","abstract":"anonymousId string that uniquely identifies the device.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC6userIdSSSgvp":{"name":"userId","abstract":"userId string that identify is called with.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC22hadPersistedDistinctIdSbSgvp":{"name":"hadPersistedDistinctId","abstract":"hadPersistedDistinctId is a boolean value which specifies that the stored distinct_id","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC5aliasSSSgvp":{"name":"alias","abstract":"alias string that uniquely identifies the current user.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC6peopleAA6PeopleCSgvp":{"name":"people","abstract":"Accessor to the Mixpanel People API object.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC28showNetworkActivityIndicatorSbvp":{"name":"showNetworkActivityIndicator","abstract":"Controls whether to show spinning network activity indicator when flushing","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC27trackAutomaticEventsEnabledSbSgvp":{"name":"trackAutomaticEventsEnabled","abstract":"This allows enabling or disabling collecting common mobile events","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC13flushIntervalSdvp":{"name":"flushInterval","abstract":"Flush timer’s interval.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC17flushOnBackgroundSbvp":{"name":"flushOnBackground","abstract":"Control whether the library should flush data to Mixpanel when the app","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC26useIPAddressForGeoLocationSbvp":{"name":"useIPAddressForGeoLocation","abstract":"Controls whether to automatically send the client IP Address as part of","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC9serverURLSSvp":{"name":"serverURL","abstract":"The base URL used for Mixpanel API requests.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:s28CustomDebugStringConvertibleP16debugDescriptionSSvp":{"name":"debugDescription","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC14loggingEnabledSbvp":{"name":"loggingEnabled","abstract":"This allows enabling or disabling of all Mixpanel logs at run time.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC4nameSSvp":{"name":"name","abstract":"A unique identifier for this MixpanelInstance","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC29enableVisualEditorForCodelessSbvp":{"name":"enableVisualEditorForCodeless","abstract":"Controls whether to enable the visual editor for codeless on mixpanel.com","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC24checkForVariantsOnActiveSbvp":{"name":"checkForVariantsOnActive","abstract":"Controls whether to automatically check for A/B test variants for the","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC28checkForNotificationOnActiveSbvp":{"name":"checkForNotificationOnActive","abstract":"Controls whether to automatically check for notifications for the","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC24showNotificationOnActiveSbvp":{"name":"showNotificationOnActive","abstract":"Controls whether to automatically check for and show in-app notifications","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC32miniNotificationPresentationTimeSdvp":{"name":"miniNotificationPresentationTime","abstract":"Determines the time, in seconds, that a mini notification will remain on","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC22minimumSessionDurations6UInt64Vvp":{"name":"minimumSessionDuration","abstract":"The minimum session duration (ms) that is tracked in automatic events.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC22maximumSessionDurations6UInt64Vvp":{"name":"maximumSessionDuration","abstract":"The maximum session duration (ms) that is tracked in automatic events.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC8identify10distinctId9usePeople10completionySS_SbyycSgtF":{"name":"identify(distinctId:usePeople:completion:)","abstract":"Sets the distinct ID of the current user.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC11createAlias_10distinctId9usePeople10completionySS_SSSbyycSgtF":{"name":"createAlias(_:distinctId:usePeople:completion:)","abstract":"The alias method creates an alias which Mixpanel will use to remap one id to another.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC5reset10completionyyycSg_tF":{"name":"reset(completion:)","abstract":"Clears all stored properties including the distinct Id.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC7archiveyyF":{"name":"archive()","abstract":"Writes current project info including the distinct Id, super properties,","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/archive()":{"name":"archive()","abstract":"Writes current project info including the distinct Id, super properties,","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC5flush10completionyyycSg_tF":{"name":"flush(completion:)","abstract":"Uploads queued data to the Mixpanel server.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC5track5event10propertiesySSSg_SDySSAA0A4Type_pGSgtF":{"name":"track(event:properties:)","abstract":"Tracks an event with properties.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC15trackWithGroups5event10properties6groupsySSSg_SDySSAA0A4Type_pGSgAKtF":{"name":"trackWithGroups(event:properties:groups:)","abstract":"Tracks an event with properties and to specific groups.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC8getGroup8groupKey0E2IDAA0D0CSS_AA0A4Type_ptF":{"name":"getGroup(groupKey:groupID:)","abstract":"Undocumented","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC4time5eventySS_tF":{"name":"time(event:)","abstract":"Starts a timer that will be stopped and added as a property when a","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC16eventElapsedTime0C0SdSS_tF":{"name":"eventElapsedTime(event:)","abstract":"Retrieves the time elapsed for the named event since time(event:) was called.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC16clearTimedEventsyyF":{"name":"clearTimedEvents()","abstract":"Clears all current event timers.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC15clearTimedEvent5eventySS_tF":{"name":"clearTimedEvent(event:)","abstract":"Clears the event timer for the named event.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC22currentSuperPropertiesSDySSypGyF":{"name":"currentSuperProperties()","abstract":"Returns the currently set super properties.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC20clearSuperPropertiesyyF":{"name":"clearSuperProperties()","abstract":"Clears all currently set super properties.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC23registerSuperPropertiesyySDySSAA0A4Type_pGF":{"name":"registerSuperProperties(_:)","abstract":"Registers super properties, overwriting ones that have already been set.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC27registerSuperPropertiesOnce_12defaultValueySDySSAA0A4Type_pG_AaF_pSgtF":{"name":"registerSuperPropertiesOnce(_:defaultValue:)","abstract":"Registers super properties without overwriting ones that have already been set,","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC23unregisterSuperPropertyyySSF":{"name":"unregisterSuperProperty(_:)","abstract":"Removes a previously registered super property.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC8setGroup8groupKey0E2IDySS_AA0A4Type_ptF":{"name":"setGroup(groupKey:groupID:)","abstract":"Convenience method to set a single group the user belongs to.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC8setGroup8groupKey0E3IDsySS_SayAA0A4Type_pGtF":{"name":"setGroup(groupKey:groupIDs:)","abstract":"Set the groups this user belongs to.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC8addGroup8groupKey0E2IDySS_AA0A4Type_ptF":{"name":"addGroup(groupKey:groupID:)","abstract":"Add a group to this user’s membership for a particular group key","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC11removeGroup8groupKey0E2IDySS_AA0A4Type_ptF":{"name":"removeGroup(groupKey:groupID:)","abstract":"Remove a group from this user’s membership for a particular group key","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC14optOutTrackingyyF":{"name":"optOutTracking()","abstract":"Opt out tracking.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC13optInTracking10distinctId10propertiesySSSg_SDySSAA0A4Type_pGSgtF":{"name":"optInTracking(distinctId:properties:)","abstract":"Opt in tracking.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC19hasOptedOutTrackingSbyF":{"name":"hasOptedOutTracking()","abstract":"Returns if the current user has opted out tracking.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC15joinExperiments8callbackyyycSg_tF":{"name":"joinExperiments(callback:)","abstract":"Join any experiments (A/B tests) that are available for the current user.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC16showNotificationyyF":{"name":"showNotification()","abstract":"Shows a notification if one is available.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC16showNotification4typeySS_tF":{"name":"showNotification(type:)","abstract":"Shows a notification with the given type if one is available.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC16showNotification2IDySi_tF":{"name":"showNotification(ID:)","abstract":"Shows a notification with the given ID","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC24fetchNotificationPayload10completionyySDySSyXlGSgc_tF":{"name":"fetchNotificationPayload(completion:)","abstract":"Returns the payload of a notification if available","parent_name":"MixpanelInstance"},"Classes/Mixpanel.html#/s:8MixpanelAAC10initialize5token13launchOptions13flushInterval12instanceName21automaticPushTracking06optOutL9ByDefaultAA0A8InstanceCSS_SDySo019UIApplicationLaunchE3KeyaypGSgSdSSS2btFZ":{"name":"initialize(token:launchOptions:flushInterval:instanceName:automaticPushTracking:optOutTrackingByDefault:)","abstract":"Initializes an instance of the API with the given project token.","parent_name":"Mixpanel"},"Classes/Mixpanel.html#/initialize(token:flushInterval:instanceName:optOutTrackingByDefault:)":{"name":"initialize(token:flushInterval:instanceName:optOutTrackingByDefault:)","abstract":"Initializes an instance of the API with the given project token (MAC OS ONLY).","parent_name":"Mixpanel"},"Classes/Mixpanel.html#/s:8MixpanelAAC11getInstance4nameAA0aC0CSgSS_tFZ":{"name":"getInstance(name:)","abstract":"Gets the mixpanel instance with the given name","parent_name":"Mixpanel"},"Classes/Mixpanel.html#/s:8MixpanelAAC12mainInstanceAA0aC0CyFZ":{"name":"mainInstance()","abstract":"Returns the main instance that was initialized.","parent_name":"Mixpanel"},"Classes/Mixpanel.html#/s:8MixpanelAAC15setMainInstance4nameySS_tFZ":{"name":"setMainInstance(name:)","abstract":"Sets the main instance based on the instance name","parent_name":"Mixpanel"},"Classes/Mixpanel.html#/s:8MixpanelAAC14removeInstance4nameySS_tFZ":{"name":"removeInstance(name:)","abstract":"Removes an unneeded Mixpanel instance based on its name","parent_name":"Mixpanel"},"Classes/Group.html#/s:8Mixpanel5GroupC3set10propertiesySDySSAA0A4Type_pG_tF":{"name":"set(properties:)","abstract":"Sets properties on this group.","parent_name":"Group"},"Classes/Group.html#/s:8Mixpanel5GroupC3set8property2toySS_AA0A4Type_ptF":{"name":"set(property:to:)","abstract":"Convenience method for setting a single property in Mixpanel Groups.","parent_name":"Group"},"Classes/Group.html#/s:8Mixpanel5GroupC7setOnce10propertiesySDySSAA0A4Type_pG_tF":{"name":"setOnce(properties:)","abstract":"Sets properties on the current Mixpanel Group, but doesn’t overwrite if","parent_name":"Group"},"Classes/Group.html#/s:8Mixpanel5GroupC5unset8propertyySS_tF":{"name":"unset(property:)","abstract":"Remove a property and its value from a group’s profile in Mixpanel Groups.","parent_name":"Group"},"Classes/Group.html#/s:8Mixpanel5GroupC6remove3key5valueySS_AA0A4Type_ptF":{"name":"remove(key:value:)","abstract":"Removes list properties.","parent_name":"Group"},"Classes/Group.html#/s:8Mixpanel5GroupC5union3key6valuesySS_SayAA0A4Type_pGtF":{"name":"union(key:values:)","abstract":"Union list properties.","parent_name":"Group"},"Classes/Group.html#/s:8Mixpanel5GroupC06deleteB0yyF":{"name":"deleteGroup()","abstract":"Delete group’s record from Mixpanel Groups.","parent_name":"Group"},"Classes/Group.html":{"name":"Group","abstract":"Access to the Mixpanel Groups API, available through the getGroup function from"},"Classes/Mixpanel.html":{"name":"Mixpanel","abstract":"The primary class for integrating Mixpanel with your app."},"Classes/MixpanelInstance.html":{"name":"MixpanelInstance","abstract":"The class that represents the Mixpanel Instance"},"Classes/MixpanelNotificationServiceExtension.html":{"name":"MixpanelNotificationServiceExtension","abstract":"Undocumented"},"Classes/People.html":{"name":"People","abstract":"Access to the Mixpanel People API, available as an accessible variable from"},"Classes/MixpanelPushNotifications.html":{"name":"MixpanelPushNotifications","abstract":"Undocumented"},"Classes.html#/s:8Mixpanel10TweakStoreC":{"name":"TweakStore","abstract":"Looks up the persisted state for tweaks."},"Classes.html":{"name":"Classes","abstract":"The following classes are available globally."},"Enums.html":{"name":"Enumerations","abstract":"The following enumerations are available globally."},"Extensions.html":{"name":"Extensions","abstract":"The following extensions are available globally."},"Functions.html":{"name":"Functions","abstract":"The following functions are available globally."},"Protocols.html":{"name":"Protocols","abstract":"The following protocols are available globally."},"Structs.html":{"name":"Structures","abstract":"The following structures are available globally."},"Typealiases.html":{"name":"Type Aliases","abstract":"The following type aliases are available globally."}} \ No newline at end of file diff --git a/docs/undocumented.json b/docs/undocumented.json index 1e31bd6a..75baf9b9 100644 --- a/docs/undocumented.json +++ b/docs/undocumented.json @@ -9,7 +9,7 @@ }, { "file": "/Users/zihejia/Documents/Projects/Develop/mixpanel-swift/Sources/MixpanelInstance.swift", - "line": 1296, + "line": 1335, "symbol": "MixpanelInstance.getGroup(groupKey:groupID:)", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented"
import Mixpanel -Import Mixpanel into AppDelegate.swift, and initialize Mixpanel within application:didFinishLaunchingWithOptions: - -func application(_ application: UIApplication, +func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool { + ... Mixpanel.initialize(token: "MIXPANEL_TOKEN") + Mixpanel.mainInstance().track(event: "Sign Up", properties: [ + "source": "Pat's affiliate site", + "Opted out of email": true + ]) + ... } +FAQ -You initialize your Mixpanel instance with the token provided to you on mixpanel.com. - - -Start tracking - -After installing the library into your iOS app, Mixpanel will automatically collect common mobile events. You can enable/ disable automatic collection through your project settings. - -To interact with the instance and track additional events, you can either use the mixpanel instance given when initializing: -mixpanel.track(event: "Tracked Event!") - +I want to stop tracking an event/event property in Mixpanel. Is that possible? -or you can directly fetch the instance and use it from the Mixpanel object: -Mixpanel.mainInstance().track(event: "Tracked Event!") - +Yes, in Lexicon, you can intercept and drop incoming events or properties. Mixpanel won’t store any new data for the event or property you select to drop. See this article for more information. -You’re done! You’ve successfully integrated the Mixpanel Swift SDK into your app. To stay up to speed on important SDK releases and updates, star or watch our repository on Github. +I have a test user I would like to opt out of tracking. How do I do that? -Have any questions? Reach out to support@mixpanel.com to speak to someone smart, quickly. -Using Mixpanel Push Notifications +Mixpanel’s client-side tracking library contains the optOutTracking() method, which will set the user’s local opt-out state to “true” and will prevent data from being sent from a user’s device. More detailed instructions can be found in the section, Opting users out of tracking. -First enable Mixpanel push notifications in your app. Then for Rich Push Notifications, you’ll need to integrate your application with the MixpanelNotificationServiceExtension. -Integrating the MixpanelNotificationServiceExtension +Why aren’t my events showing up? -The Mixpanel SDK comes with a custom Notification Service Extension used to render rich media, custom action buttons, and track when push notifications are received. To enable these features, you will need to integrate it into your application. -1. Create a new Notification Service Extension Target +To preserve battery life and customer bandwidth, the Mixpanel library doesn’t send the events you record immediately. Instead, it sends batches to the Mixpanel servers every 60 seconds while your application is running, as well as when the application transitions to the background. You can call flush() manually if you want to force a flush at a particular moment. +Mixpanel.mainInstance().flush() + - - - -2. Add Mixpanel-swift as a dependency +If your events are still not showing up after 60 seconds, check if you have opted out of tracking. You can also enable Mixpanel debugging and logging, it allows you to see the debug output from the Mixpanel library. To enable it, set loggingEnabled to true. +Mixpanel.mainInstance().loggingEnabled = true + -Add the following to the end of your Podfile: -target 'NotificationService' do - use_frameworks! +Starting with iOS 14.5, do I need to request the user’s permission through the AppTrackingTransparency framework to use Mixpanel? - pod 'Mixpanel-swift' -end - +No, Mixpanel does not use IDFA so it does not require user permission through the AppTrackingTransparency(ATT) framework. -Then run pod install -3. Extend your NotificationService from MixpanelNotificationServiceExtension +If I use Mixpanel, how do I answer app privacy questions for the App Store? -Replace the contents of your NotificationService.swift file with the following: -import Mixpanel +Please refer to our Apple App Developer Privacy Guidance +I want to know more! -class NotificationService: MixpanelNotificationServiceExtension {} - -4. Delegate the handling of the notification response to the Mixpanel SDK - -In your AppDelegate.swift file, you need to call MixpanelPushNotifications.handleResponse when a push notification response is received: -@available(iOS 10.0, *) -func userNotificationCenter(_ center: UNUserNotificationCenter, didReceive response: UNNotificationResponse, withCompletionHandler completionHandler: @escaping () -> Void) { - if MixpanelPushNotifications.isMixpanelPushNotification(response.notification.request.content) { - debugPrint("Handling Mixpanel push notification response...") - MixpanelPushNotifications.handleResponse(response: response, withCompletionHandler: completionHandler) - } else { - // not a Mixpanel push notification - debugPrint("Not a Mixpanel push notification.") - completionHandler() - } -} - +No worries, here are some links that you will find useful: -This will make sure the tap actions are appropriately handled (open URL, deeplink, etc) as well as track whether a notification was tapped or dismissed. -5. Run the app and send a test push notification from Mixpanel that includes an image or buttons + +Advanced iOS - Swift Guide +Sample app +Full API Reference + -That’s it! Your app should now be able to receive rich push notifications from Mixpanel. +Have any questions? Reach out to Mixpanel Support to speak to someone smart, quickly. - © 2021 Mixpanel. All rights reserved. (Last updated: 2021-06-11) + © 2021 Mixpanel. All rights reserved. (Last updated: 2021-08-13) Generated by jazzy ♪♫ v0.13.6, a Realm project. diff --git a/docs/search.json b/docs/search.json index 040a3460..dc8e93ad 100644 --- a/docs/search.json +++ b/docs/search.json @@ -1 +1 @@ -{"Typealiases.html#/s:8Mixpanel10Propertiesa":{"name":"Properties","abstract":"Undocumented"},"Structs/MixpanelTweaks.html#/s:8Mixpanel0A6TweaksV12defaultStoreAA05TweakD0CvpZ":{"name":"defaultStore","abstract":"The default store that holds the Tweaks","parent_name":"MixpanelTweaks"},"Structs/MixpanelTweaks.html#/s:8Mixpanel0A6TweaksV03setB06tweaksySayAA16TweakClusterType_pG_tFZ":{"name":"setTweaks(tweaks:)","abstract":"setTweaks needs to be called to add the defined Tweaks into the environment.","parent_name":"MixpanelTweaks"},"Structs/Tweak.html#/s:8Mixpanel5TweakV9tweakName12defaultValueACyxGSS_xtcfc":{"name":"init(tweakName:defaultValue:)","abstract":"Initializer for a Tweak for A/B Testing","parent_name":"Tweak"},"Structs/Tweak.html#/s:8Mixpanel5TweakV4hash4intoys6HasherVz_tF":{"name":"hash(into:)","abstract":"Hashing for a Tweak for A/B Testing in order for it to be stored.","parent_name":"Tweak"},"Structs/Tweak.html#/s:8Mixpanel16TweakClusterTypeP05tweakC0SayAA03AnyB0VGvp":{"name":"tweakCluster","parent_name":"Tweak"},"Structs/Tweak.html#/s:8Mixpanel5TweakVAASLRzs13SignedNumericRzrlE9tweakName12defaultValue3min3max8stepSizeACyxGSS_xxSgA2Ktcfc":{"name":"init(tweakName:defaultValue:min:max:stepSize:)","abstract":"Creates a Tweak where T: SignedNumberType","parent_name":"Tweak"},"Structs/AnyTweak.html#/s:SH4hash4intoys6HasherVz_tF":{"name":"hash(into:)","parent_name":"AnyTweak"},"Structs/AnyTweak.html#/s:8Mixpanel8AnyTweakV12tweakClusterSayACGvp":{"name":"tweakCluster","abstract":"Allows easy tweak initialization by clustering tweaks together for A/B Testing","parent_name":"AnyTweak"},"Structs/AnyTweak.html":{"name":"AnyTweak","abstract":"A type-erasure around Tweak for A/B Testing."},"Structs/Tweak.html":{"name":"Tweak","abstract":"Tweaks let you adjust things on the fly."},"Structs/MixpanelTweaks.html":{"name":"MixpanelTweaks","abstract":"The MixpanelTweaks struct that needs to be extended to define new Tweaks for A/B testing"},"Protocols/TweakableType.html#/s:8Mixpanel13TweakableTypeP013tweakViewDataC0AA05TweakefC0OvpZ":{"name":"tweakViewDataType","abstract":"The data type of the TweakableType","parent_name":"TweakableType"},"Protocols/TweakLibraryType.html#/s:8Mixpanel16TweakLibraryTypeP12defaultStoreAA0bF0CvpZ":{"name":"defaultStore","abstract":"the default tweak store","parent_name":"TweakLibraryType"},"Protocols/TweakLibraryType.html#/s:8Mixpanel16TweakLibraryTypePAAE6assignyqd__AA0B0Vyqd__GAA09TweakableD0Rd__lFZ":{"name":"assign(_:)","abstract":"Returns the current value for a tweak from the TweakLibrary’s default store.","parent_name":"TweakLibraryType"},"Protocols/TweakLibraryType.html#/s:8Mixpanel16TweakLibraryTypePAAE4bind_7bindingyAA0B0Vyqd__G_yqd__ctAA09TweakableD0Rd__lFZ":{"name":"bind(_:binding:)","abstract":"Immediately binds the currentValue of a given tweak, and then continues to update whenever the tweak changes.","parent_name":"TweakLibraryType"},"Protocols/TweakClusterType.html#/s:8Mixpanel16TweakClusterTypeP05tweakC0SayAA03AnyB0VGvp":{"name":"tweakCluster","abstract":"The tweak cluster to allow easy initialization of Tweaks","parent_name":"TweakClusterType"},"Protocols/MixpanelType.html#/s:8Mixpanel0A4TypeP013isValidNestedB8AndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"Checks if this object has nested object types that Mixpanel supports.","parent_name":"MixpanelType"},"Protocols/MixpanelType.html#/s:8Mixpanel0A4TypeP6equals3rhsSbAaB_p_tF":{"name":"equals(rhs:)","abstract":"Undocumented","parent_name":"MixpanelType"},"Protocols/MixpanelDelegate.html#/s:8Mixpanel0A8DelegateP17mixpanelWillFlushySbAA0A8InstanceCF":{"name":"mixpanelWillFlush(_:)","abstract":"Asks the delegate if data should be uploaded to the server.","parent_name":"MixpanelDelegate"},"Protocols/MixpanelDelegate.html":{"name":"MixpanelDelegate","abstract":"Delegate protocol for controlling the Mixpanel API’s network behavior."},"Protocols/MixpanelType.html":{"name":"MixpanelType","abstract":"Property keys must be String objects and the supported value types need to conform to MixpanelType."},"Protocols/TweakClusterType.html":{"name":"TweakClusterType","abstract":"This protocol allows for easy initialization of TweakStore."},"Protocols/TweakLibraryType.html":{"name":"TweakLibraryType","abstract":"Create a public struct in your application that conforms to this protocol to declare your own tweaks!"},"Protocols/TweakableType.html":{"name":"TweakableType","abstract":"To add a new to our Tweak, make T conform to this protocol."},"Functions.html#/s:8Mixpanel2eeoiySbAA8AnyTweakV_ADtF":{"name":"==(_:_:)","abstract":"Comparator between two tweaks for A/B Testing."},"Functions.html#/s:8Mixpanel2eeoiySbAA5TweakVyxG_AEtAA13TweakableTypeRzlF":{"name":"==(_:_:)","abstract":"Comparator between two tweaks for A/B Testing."},"Extensions/CGFloat.html#/s:12CoreGraphics7CGFloatV8MixpanelE17tweakViewDataTypeAD05TweakfgH0OvpZ":{"name":"tweakViewDataType","abstract":"TweakableType supports the cgFloat type","parent_name":"CGFloat"},"Extensions/Dictionary.html#/s:SD8MixpanelE25isValidNestedTypeAndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"Checks if this object has nested object types that Mixpanel supports.","parent_name":"Dictionary"},"Extensions/Dictionary.html#/s:SD8MixpanelE6equals3rhsSbAA0A4Type_p_tF":{"name":"equals(rhs:)","abstract":"Undocumented","parent_name":"Dictionary"},"Extensions/NSArray.html#/s:So7NSArrayC8MixpanelE25isValidNestedTypeAndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"Checks if this object has nested object types that Mixpanel supports.","parent_name":"NSArray"},"Extensions/NSArray.html#/s:So7NSArrayC8MixpanelE6equals3rhsSbAC0B4Type_p_tF":{"name":"equals(rhs:)","abstract":"Undocumented","parent_name":"NSArray"},"Extensions/NSNull.html#/s:So6NSNullC8MixpanelE25isValidNestedTypeAndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"Checks if this object has nested object types that Mixpanel supports.","parent_name":"NSNull"},"Extensions/NSNull.html#/s:So6NSNullC8MixpanelE6equals3rhsSbAC0B4Type_p_tF":{"name":"equals(rhs:)","abstract":"Undocumented","parent_name":"NSNull"},"Extensions/URL.html#/s:10Foundation3URLV8MixpanelE25isValidNestedTypeAndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"Checks if this object has nested object types that Mixpanel supports.","parent_name":"URL"},"Extensions/URL.html#/s:10Foundation3URLV8MixpanelE6equals3rhsSbAD0C4Type_p_tF":{"name":"equals(rhs:)","abstract":"Undocumented","parent_name":"URL"},"Extensions/Date.html#/s:10Foundation4DateV8MixpanelE25isValidNestedTypeAndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"Checks if this object has nested object types that Mixpanel supports.","parent_name":"Date"},"Extensions/Date.html#/s:10Foundation4DateV8MixpanelE6equals3rhsSbAD0C4Type_p_tF":{"name":"equals(rhs:)","abstract":"Undocumented","parent_name":"Date"},"Extensions/Bool.html#/s:Sb8MixpanelE25isValidNestedTypeAndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"Checks if this object has nested object types that Mixpanel supports.","parent_name":"Bool"},"Extensions/Bool.html#/s:Sb8MixpanelE6equals3rhsSbAA0A4Type_p_tF":{"name":"equals(rhs:)","abstract":"Undocumented","parent_name":"Bool"},"Extensions/Bool.html#/s:Sb8MixpanelE17tweakViewDataTypeAA05TweakcdE0OvpZ":{"name":"tweakViewDataType","abstract":"TweakableType supports the boolean type","parent_name":"Bool"},"Extensions/Float.html#/s:Sf8MixpanelE25isValidNestedTypeAndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"Checks if this object has nested object types that Mixpanel supports.","parent_name":"Float"},"Extensions/Float.html#/s:Sf8MixpanelE6equals3rhsSbAA0A4Type_p_tF":{"name":"equals(rhs:)","abstract":"Undocumented","parent_name":"Float"},"Extensions/Double.html#/s:Sd8MixpanelE25isValidNestedTypeAndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"Checks if this object has nested object types that Mixpanel supports.","parent_name":"Double"},"Extensions/Double.html#/s:Sd8MixpanelE6equals3rhsSbAA0A4Type_p_tF":{"name":"equals(rhs:)","abstract":"Undocumented","parent_name":"Double"},"Extensions/Double.html#/s:Sd8MixpanelE17tweakViewDataTypeAA05TweakcdE0OvpZ":{"name":"tweakViewDataType","abstract":"TweakableType supports the double type","parent_name":"Double"},"Extensions/UInt.html#/s:Su8MixpanelE25isValidNestedTypeAndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"Checks if this object has nested object types that Mixpanel supports.","parent_name":"UInt"},"Extensions/UInt.html#/s:Su8MixpanelE6equals3rhsSbAA0A4Type_p_tF":{"name":"equals(rhs:)","abstract":"Undocumented","parent_name":"UInt"},"Extensions/Int.html#/s:Si8MixpanelE25isValidNestedTypeAndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"Checks if this object has nested object types that Mixpanel supports.","parent_name":"Int"},"Extensions/Int.html#/s:Si8MixpanelE6equals3rhsSbAA0A4Type_p_tF":{"name":"equals(rhs:)","abstract":"Undocumented","parent_name":"Int"},"Extensions/Int.html#/s:Si8MixpanelE17tweakViewDataTypeAA05TweakcdE0OvpZ":{"name":"tweakViewDataType","abstract":"TweakableType supports the integer type","parent_name":"Int"},"Extensions/NSNumber.html#/s:So8NSNumberC8MixpanelE25isValidNestedTypeAndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"Checks if this object has nested object types that Mixpanel supports.","parent_name":"NSNumber"},"Extensions/NSNumber.html#/s:So8NSNumberC8MixpanelE6equals3rhsSbAC0B4Type_p_tF":{"name":"equals(rhs:)","abstract":"Undocumented","parent_name":"NSNumber"},"Extensions/NSString.html#/s:So8NSStringC8MixpanelE25isValidNestedTypeAndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"Checks if this object has nested object types that Mixpanel supports.","parent_name":"NSString"},"Extensions/NSString.html#/s:So8NSStringC8MixpanelE6equals3rhsSbAC0B4Type_p_tF":{"name":"equals(rhs:)","abstract":"Undocumented","parent_name":"NSString"},"Extensions/String.html#/s:SS8MixpanelE25isValidNestedTypeAndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"Checks if this object has nested object types that Mixpanel supports.","parent_name":"String"},"Extensions/String.html#/s:SS8MixpanelE6equals3rhsSbAA0A4Type_p_tF":{"name":"equals(rhs:)","abstract":"Undocumented","parent_name":"String"},"Extensions/String.html#/s:SS8MixpanelE17tweakViewDataTypeAA05TweakcdE0OvpZ":{"name":"tweakViewDataType","abstract":"TweakableType supports the string type","parent_name":"String"},"Extensions/Optional.html#/s:Sq8MixpanelE25isValidNestedTypeAndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"Checks if this object has nested object types that Mixpanel supports.","parent_name":"Optional"},"Extensions/Optional.html#/s:Sq8MixpanelE6equals3rhsSbAA0A4Type_p_tF":{"name":"equals(rhs:)","abstract":"Undocumented","parent_name":"Optional"},"Extensions/Array.html#/s:Sa8MixpanelE25isValidNestedTypeAndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"Checks if this object has nested object types that Mixpanel supports.","parent_name":"Array"},"Extensions/Array.html#/s:Sa8MixpanelE6equals3rhsSbAA0A4Type_p_tF":{"name":"equals(rhs:)","abstract":"Undocumented","parent_name":"Array"},"Extensions/UIColor.html#/s:So7UIColorC8MixpanelE5MPHexABSu_tcfc":{"name":"init(MPHex:)","abstract":"The shorthand four-digit hexadecimal representation of color with alpha.","parent_name":"UIColor"},"Extensions/UIColor.html":{"name":"UIColor"},"Extensions/Array.html":{"name":"Array"},"Extensions/Optional.html":{"name":"Optional"},"Extensions/String.html":{"name":"String"},"Extensions/NSString.html":{"name":"NSString"},"Extensions/NSNumber.html":{"name":"NSNumber"},"Extensions/Int.html":{"name":"Int"},"Extensions/UInt.html":{"name":"UInt"},"Extensions/Double.html":{"name":"Double"},"Extensions/Float.html":{"name":"Float"},"Extensions/Bool.html":{"name":"Bool"},"Extensions/Date.html":{"name":"Date"},"Extensions/URL.html":{"name":"URL"},"Extensions/NSNull.html":{"name":"NSNull"},"Extensions/NSArray.html":{"name":"NSArray"},"Extensions/Dictionary.html":{"name":"Dictionary"},"Extensions/CGFloat.html":{"name":"CGFloat"},"Enums/TweakViewDataType.html#/s:8Mixpanel17TweakViewDataTypeO7booleanyA2CmF":{"name":"boolean","abstract":"TweakableType supports the boolean type","parent_name":"TweakViewDataType"},"Enums/TweakViewDataType.html#/s:8Mixpanel17TweakViewDataTypeO7integeryA2CmF":{"name":"integer","abstract":"TweakableType supports the integer type","parent_name":"TweakViewDataType"},"Enums/TweakViewDataType.html#/s:8Mixpanel17TweakViewDataTypeO7cgFloatyA2CmF":{"name":"cgFloat","abstract":"TweakableType supports the cgFloat type","parent_name":"TweakViewDataType"},"Enums/TweakViewDataType.html#/s:8Mixpanel17TweakViewDataTypeO6doubleyA2CmF":{"name":"double","abstract":"TweakableType supports the double type","parent_name":"TweakViewDataType"},"Enums/TweakViewDataType.html#/s:8Mixpanel17TweakViewDataTypeO6stringyA2CmF":{"name":"string","abstract":"TweakableType supports the string type","parent_name":"TweakViewDataType"},"Enums/TweakViewDataType.html":{"name":"TweakViewDataType","abstract":"The data types that are currently supported for SwiftTweaks."},"Classes/MixpanelPushNotifications.html#/s:8Mixpanel0A17PushNotificationsC02isaB12NotificationySbSo21UNNotificationContentCFZ":{"name":"isMixpanelPushNotification(_:)","abstract":"Undocumented","parent_name":"MixpanelPushNotifications"},"Classes/MixpanelPushNotifications.html#/s:8Mixpanel0A17PushNotificationsC10trackEvent_10properties7requestySS_SDySSAA0A4Type_pGSo21UNNotificationRequestCtFZ":{"name":"trackEvent(_:properties:request:)","abstract":"Undocumented","parent_name":"MixpanelPushNotifications"},"Classes/People.html#/s:8Mixpanel6PeopleC10ignoreTimeSbvp":{"name":"ignoreTime","abstract":"controls the $ignore_time property in any subsequent MixpanelPeople operation.","parent_name":"People"},"Classes/People.html#/s:8Mixpanel6PeopleC18addPushDeviceTokenyy10Foundation4DataVF":{"name":"addPushDeviceToken(_:)","abstract":"Register the given device to receive push notifications.","parent_name":"People"},"Classes/People.html#/s:8Mixpanel6PeopleC25removeAllPushDeviceTokensyyF":{"name":"removeAllPushDeviceTokens()","abstract":"Unregister the given device to receive push notifications.","parent_name":"People"},"Classes/People.html#/s:8Mixpanel6PeopleC21removePushDeviceTokenyy10Foundation4DataVF":{"name":"removePushDeviceToken(_:)","abstract":"Unregister a specific device token from the ability to receive push notifications.","parent_name":"People"},"Classes/People.html#/s:8Mixpanel6PeopleC3set10propertiesySDySSAA0A4Type_pG_tF":{"name":"set(properties:)","abstract":"Set properties on the current user in Mixpanel People.","parent_name":"People"},"Classes/People.html#/s:8Mixpanel6PeopleC3set8property2toySS_AA0A4Type_ptF":{"name":"set(property:to:)","abstract":"Convenience method for setting a single property in Mixpanel People.","parent_name":"People"},"Classes/People.html#/s:8Mixpanel6PeopleC7setOnce10propertiesySDySSAA0A4Type_pG_tF":{"name":"setOnce(properties:)","abstract":"Set properties on the current user in Mixpanel People, but doesn’t overwrite if","parent_name":"People"},"Classes/People.html#/s:8Mixpanel6PeopleC5unset10propertiesySaySSG_tF":{"name":"unset(properties:)","abstract":"Remove a list of properties and their values from the current user’s profile","parent_name":"People"},"Classes/People.html#/s:8Mixpanel6PeopleC9increment10propertiesySDySSAA0A4Type_pG_tF":{"name":"increment(properties:)","abstract":"Increment the given numeric properties by the given values.","parent_name":"People"},"Classes/People.html#/s:8Mixpanel6PeopleC9increment8property2byySS_SdtF":{"name":"increment(property:by:)","abstract":"Convenience method for incrementing a single numeric property by the specified","parent_name":"People"},"Classes/People.html#/s:8Mixpanel6PeopleC6append10propertiesySDySSAA0A4Type_pG_tF":{"name":"append(properties:)","abstract":"Append values to list properties.","parent_name":"People"},"Classes/People.html#/s:8Mixpanel6PeopleC6remove10propertiesySDySSAA0A4Type_pG_tF":{"name":"remove(properties:)","abstract":"Removes list properties.","parent_name":"People"},"Classes/People.html#/s:8Mixpanel6PeopleC5union10propertiesySDySSAA0A4Type_pG_tF":{"name":"union(properties:)","abstract":"Union list properties.","parent_name":"People"},"Classes/People.html#/s:8Mixpanel6PeopleC11trackCharge6amount10propertiesySd_SDySSAA0A4Type_pGSgtF":{"name":"trackCharge(amount:properties:)","abstract":"Track money spent by the current user for revenue analytics and associate","parent_name":"People"},"Classes/People.html#/s:8Mixpanel6PeopleC12clearChargesyyF":{"name":"clearCharges()","abstract":"Delete current user’s revenue history.","parent_name":"People"},"Classes/People.html#/s:8Mixpanel6PeopleC10deleteUseryyF":{"name":"deleteUser()","abstract":"Delete current user’s record from Mixpanel People.","parent_name":"People"},"Classes/MixpanelNotificationServiceExtension.html#/c:@M@Mixpanel@objc(cs)MixpanelNotificationServiceExtension(im)didReceiveNotificationRequest:withContentHandler:":{"name":"didReceive(_:withContentHandler:)","abstract":"Undocumented","parent_name":"MixpanelNotificationServiceExtension"},"Classes/MixpanelNotificationServiceExtension.html#/c:@M@Mixpanel@objc(cs)MixpanelNotificationServiceExtension(im)serviceExtensionTimeWillExpire":{"name":"serviceExtensionTimeWillExpire()","abstract":"Undocumented","parent_name":"MixpanelNotificationServiceExtension"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC8apiTokenSSvp":{"name":"apiToken","abstract":"apiToken string that identifies the project to track data to","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC8delegateAA0A8Delegate_pSgvp":{"name":"delegate","abstract":"The a MixpanelDelegate object that gives control over Mixpanel network activity.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC10distinctIdSSvp":{"name":"distinctId","abstract":"distinctId string that uniquely identifies the current user.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC11anonymousIdSSSgvp":{"name":"anonymousId","abstract":"anonymousId string that uniquely identifies the device.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC6userIdSSSgvp":{"name":"userId","abstract":"userId string that identify is called with.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC22hadPersistedDistinctIdSbSgvp":{"name":"hadPersistedDistinctId","abstract":"hadPersistedDistinctId is a boolean value which specifies that the stored distinct_id","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC5aliasSSSgvp":{"name":"alias","abstract":"alias string that uniquely identifies the current user.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC6peopleAA6PeopleCSgvp":{"name":"people","abstract":"Accessor to the Mixpanel People API object.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC28showNetworkActivityIndicatorSbvp":{"name":"showNetworkActivityIndicator","abstract":"Controls whether to show spinning network activity indicator when flushing","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC27trackAutomaticEventsEnabledSbSgvp":{"name":"trackAutomaticEventsEnabled","abstract":"This allows enabling or disabling collecting common mobile events","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC13flushIntervalSdvp":{"name":"flushInterval","abstract":"Flush timer’s interval.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC17flushOnBackgroundSbvp":{"name":"flushOnBackground","abstract":"Control whether the library should flush data to Mixpanel when the app","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC26useIPAddressForGeoLocationSbvp":{"name":"useIPAddressForGeoLocation","abstract":"Controls whether to automatically send the client IP Address as part of","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC9serverURLSSvp":{"name":"serverURL","abstract":"The base URL used for Mixpanel API requests.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:s28CustomDebugStringConvertibleP16debugDescriptionSSvp":{"name":"debugDescription","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC14loggingEnabledSbvp":{"name":"loggingEnabled","abstract":"This allows enabling or disabling of all Mixpanel logs at run time.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC4nameSSvp":{"name":"name","abstract":"A unique identifier for this MixpanelInstance","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC29enableVisualEditorForCodelessSbvp":{"name":"enableVisualEditorForCodeless","abstract":"Controls whether to enable the visual editor for codeless on mixpanel.com","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC24checkForVariantsOnActiveSbvp":{"name":"checkForVariantsOnActive","abstract":"Controls whether to automatically check for A/B test variants for the","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC28checkForNotificationOnActiveSbvp":{"name":"checkForNotificationOnActive","abstract":"Controls whether to automatically check for notifications for the","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC24showNotificationOnActiveSbvp":{"name":"showNotificationOnActive","abstract":"Controls whether to automatically check for and show in-app notifications","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC32miniNotificationPresentationTimeSdvp":{"name":"miniNotificationPresentationTime","abstract":"Determines the time, in seconds, that a mini notification will remain on","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC22minimumSessionDurations6UInt64Vvp":{"name":"minimumSessionDuration","abstract":"The minimum session duration (ms) that is tracked in automatic events.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC22maximumSessionDurations6UInt64Vvp":{"name":"maximumSessionDuration","abstract":"The maximum session duration (ms) that is tracked in automatic events.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC8identify10distinctId9usePeopleySS_SbtF":{"name":"identify(distinctId:usePeople:)","abstract":"Sets the distinct ID of the current user.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC11createAlias_10distinctId9usePeopleySS_SSSbtF":{"name":"createAlias(_:distinctId:usePeople:)","abstract":"The alias method creates an alias which Mixpanel will use to remap one id to another.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC5resetyyF":{"name":"reset()","abstract":"Clears all stored properties including the distinct Id.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC7archiveyyF":{"name":"archive()","abstract":"Writes current project info including the distinct Id, super properties,","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/archive()":{"name":"archive()","abstract":"Writes current project info including the distinct Id, super properties,","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC5flush10completionyyycSg_tF":{"name":"flush(completion:)","abstract":"Uploads queued data to the Mixpanel server.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC5track5event10propertiesySSSg_SDySSAA0A4Type_pGSgtF":{"name":"track(event:properties:)","abstract":"Tracks an event with properties.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC15trackWithGroups5event10properties6groupsySSSg_SDySSAA0A4Type_pGSgAKtF":{"name":"trackWithGroups(event:properties:groups:)","abstract":"Tracks an event with properties and to specific groups.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC8getGroup8groupKey0E2IDAA0D0CSS_AA0A4Type_ptF":{"name":"getGroup(groupKey:groupID:)","abstract":"Undocumented","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC4time5eventySS_tF":{"name":"time(event:)","abstract":"Starts a timer that will be stopped and added as a property when a","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC16eventElapsedTime0C0SdSS_tF":{"name":"eventElapsedTime(event:)","abstract":"Retrieves the time elapsed for the named event since time(event:) was called.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC16clearTimedEventsyyF":{"name":"clearTimedEvents()","abstract":"Clears all current event timers.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC15clearTimedEvent5eventySS_tF":{"name":"clearTimedEvent(event:)","abstract":"Clears the event timer for the named event.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC22currentSuperPropertiesSDySSypGyF":{"name":"currentSuperProperties()","abstract":"Returns the currently set super properties.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC20clearSuperPropertiesyyF":{"name":"clearSuperProperties()","abstract":"Clears all currently set super properties.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC23registerSuperPropertiesyySDySSAA0A4Type_pGF":{"name":"registerSuperProperties(_:)","abstract":"Registers super properties, overwriting ones that have already been set.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC27registerSuperPropertiesOnce_12defaultValueySDySSAA0A4Type_pG_AaF_pSgtF":{"name":"registerSuperPropertiesOnce(_:defaultValue:)","abstract":"Registers super properties without overwriting ones that have already been set,","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC23unregisterSuperPropertyyySSF":{"name":"unregisterSuperProperty(_:)","abstract":"Removes a previously registered super property.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC8setGroup8groupKey0E2IDySS_AA0A4Type_ptF":{"name":"setGroup(groupKey:groupID:)","abstract":"Convenience method to set a single group the user belongs to.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC8setGroup8groupKey0E3IDsySS_SayAA0A4Type_pGtF":{"name":"setGroup(groupKey:groupIDs:)","abstract":"Set the groups this user belongs to.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC8addGroup8groupKey0E2IDySS_AA0A4Type_ptF":{"name":"addGroup(groupKey:groupID:)","abstract":"Add a group to this user’s membership for a particular group key","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC11removeGroup8groupKey0E2IDySS_AA0A4Type_ptF":{"name":"removeGroup(groupKey:groupID:)","abstract":"Remove a group from this user’s membership for a particular group key","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC14optOutTrackingyyF":{"name":"optOutTracking()","abstract":"Opt out tracking.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC13optInTracking10distinctId10propertiesySSSg_SDySSAA0A4Type_pGSgtF":{"name":"optInTracking(distinctId:properties:)","abstract":"Opt in tracking.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC19hasOptedOutTrackingSbyF":{"name":"hasOptedOutTracking()","abstract":"Returns if the current user has opted out tracking.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC15joinExperiments8callbackyyycSg_tF":{"name":"joinExperiments(callback:)","abstract":"Join any experiments (A/B tests) that are available for the current user.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC16showNotificationyyF":{"name":"showNotification()","abstract":"Shows a notification if one is available.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC16showNotification4typeySS_tF":{"name":"showNotification(type:)","abstract":"Shows a notification with the given type if one is available.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC16showNotification2IDySi_tF":{"name":"showNotification(ID:)","abstract":"Shows a notification with the given ID","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC24fetchNotificationPayload10completionyySDySSyXlGSgc_tF":{"name":"fetchNotificationPayload(completion:)","abstract":"Returns the payload of a notification if available","parent_name":"MixpanelInstance"},"Classes/Mixpanel.html#/s:8MixpanelAAC10initialize5token13launchOptions13flushInterval12instanceName21automaticPushTracking06optOutL9ByDefaultAA0A8InstanceCSS_SDySo019UIApplicationLaunchE3KeyaypGSgSdSSS2btFZ":{"name":"initialize(token:launchOptions:flushInterval:instanceName:automaticPushTracking:optOutTrackingByDefault:)","abstract":"Initializes an instance of the API with the given project token.","parent_name":"Mixpanel"},"Classes/Mixpanel.html#/initialize(token:flushInterval:instanceName:optOutTrackingByDefault:)":{"name":"initialize(token:flushInterval:instanceName:optOutTrackingByDefault:)","abstract":"Initializes an instance of the API with the given project token (MAC OS ONLY).","parent_name":"Mixpanel"},"Classes/Mixpanel.html#/s:8MixpanelAAC11getInstance4nameAA0aC0CSgSS_tFZ":{"name":"getInstance(name:)","abstract":"Gets the mixpanel instance with the given name","parent_name":"Mixpanel"},"Classes/Mixpanel.html#/s:8MixpanelAAC12mainInstanceAA0aC0CyFZ":{"name":"mainInstance()","abstract":"Returns the main instance that was initialized.","parent_name":"Mixpanel"},"Classes/Mixpanel.html#/s:8MixpanelAAC15setMainInstance4nameySS_tFZ":{"name":"setMainInstance(name:)","abstract":"Sets the main instance based on the instance name","parent_name":"Mixpanel"},"Classes/Mixpanel.html#/s:8MixpanelAAC14removeInstance4nameySS_tFZ":{"name":"removeInstance(name:)","abstract":"Removes an unneeded Mixpanel instance based on its name","parent_name":"Mixpanel"},"Classes/Group.html#/s:8Mixpanel5GroupC3set10propertiesySDySSAA0A4Type_pG_tF":{"name":"set(properties:)","abstract":"Sets properties on this group.","parent_name":"Group"},"Classes/Group.html#/s:8Mixpanel5GroupC3set8property2toySS_AA0A4Type_ptF":{"name":"set(property:to:)","abstract":"Convenience method for setting a single property in Mixpanel Groups.","parent_name":"Group"},"Classes/Group.html#/s:8Mixpanel5GroupC7setOnce10propertiesySDySSAA0A4Type_pG_tF":{"name":"setOnce(properties:)","abstract":"Sets properties on the current Mixpanel Group, but doesn’t overwrite if","parent_name":"Group"},"Classes/Group.html#/s:8Mixpanel5GroupC5unset8propertyySS_tF":{"name":"unset(property:)","abstract":"Remove a property and its value from a group’s profile in Mixpanel Groups.","parent_name":"Group"},"Classes/Group.html#/s:8Mixpanel5GroupC6remove3key5valueySS_AA0A4Type_ptF":{"name":"remove(key:value:)","abstract":"Removes list properties.","parent_name":"Group"},"Classes/Group.html#/s:8Mixpanel5GroupC5union3key6valuesySS_SayAA0A4Type_pGtF":{"name":"union(key:values:)","abstract":"Union list properties.","parent_name":"Group"},"Classes/Group.html#/s:8Mixpanel5GroupC06deleteB0yyF":{"name":"deleteGroup()","abstract":"Delete group’s record from Mixpanel Groups.","parent_name":"Group"},"Classes/Group.html":{"name":"Group","abstract":"Access to the Mixpanel Groups API, available through the getGroup function from"},"Classes/Mixpanel.html":{"name":"Mixpanel","abstract":"The primary class for integrating Mixpanel with your app."},"Classes/MixpanelInstance.html":{"name":"MixpanelInstance","abstract":"The class that represents the Mixpanel Instance"},"Classes/MixpanelNotificationServiceExtension.html":{"name":"MixpanelNotificationServiceExtension","abstract":"Undocumented"},"Classes/People.html":{"name":"People","abstract":"Access to the Mixpanel People API, available as an accessible variable from"},"Classes/MixpanelPushNotifications.html":{"name":"MixpanelPushNotifications","abstract":"Undocumented"},"Classes.html#/s:8Mixpanel10TweakStoreC":{"name":"TweakStore","abstract":"Looks up the persisted state for tweaks."},"Classes.html":{"name":"Classes","abstract":"The following classes are available globally."},"Enums.html":{"name":"Enumerations","abstract":"The following enumerations are available globally."},"Extensions.html":{"name":"Extensions","abstract":"The following extensions are available globally."},"Functions.html":{"name":"Functions","abstract":"The following functions are available globally."},"Protocols.html":{"name":"Protocols","abstract":"The following protocols are available globally."},"Structs.html":{"name":"Structures","abstract":"The following structures are available globally."},"Typealiases.html":{"name":"Type Aliases","abstract":"The following type aliases are available globally."}} \ No newline at end of file +{"Typealiases.html#/s:8Mixpanel10Propertiesa":{"name":"Properties","abstract":"Undocumented"},"Structs/MixpanelTweaks.html#/s:8Mixpanel0A6TweaksV12defaultStoreAA05TweakD0CvpZ":{"name":"defaultStore","abstract":"The default store that holds the Tweaks","parent_name":"MixpanelTweaks"},"Structs/MixpanelTweaks.html#/s:8Mixpanel0A6TweaksV03setB06tweaksySayAA16TweakClusterType_pG_tFZ":{"name":"setTweaks(tweaks:)","abstract":"setTweaks needs to be called to add the defined Tweaks into the environment.","parent_name":"MixpanelTweaks"},"Structs/Tweak.html#/s:8Mixpanel5TweakV9tweakName12defaultValueACyxGSS_xtcfc":{"name":"init(tweakName:defaultValue:)","abstract":"Initializer for a Tweak for A/B Testing","parent_name":"Tweak"},"Structs/Tweak.html#/s:8Mixpanel5TweakV4hash4intoys6HasherVz_tF":{"name":"hash(into:)","abstract":"Hashing for a Tweak for A/B Testing in order for it to be stored.","parent_name":"Tweak"},"Structs/Tweak.html#/s:8Mixpanel16TweakClusterTypeP05tweakC0SayAA03AnyB0VGvp":{"name":"tweakCluster","parent_name":"Tweak"},"Structs/Tweak.html#/s:8Mixpanel5TweakVAASLRzs13SignedNumericRzrlE9tweakName12defaultValue3min3max8stepSizeACyxGSS_xxSgA2Ktcfc":{"name":"init(tweakName:defaultValue:min:max:stepSize:)","abstract":"Creates a Tweak where T: SignedNumberType","parent_name":"Tweak"},"Structs/AnyTweak.html#/s:SH4hash4intoys6HasherVz_tF":{"name":"hash(into:)","parent_name":"AnyTweak"},"Structs/AnyTweak.html#/s:8Mixpanel8AnyTweakV12tweakClusterSayACGvp":{"name":"tweakCluster","abstract":"Allows easy tweak initialization by clustering tweaks together for A/B Testing","parent_name":"AnyTweak"},"Structs/AnyTweak.html":{"name":"AnyTweak","abstract":"A type-erasure around Tweak for A/B Testing."},"Structs/Tweak.html":{"name":"Tweak","abstract":"Tweaks let you adjust things on the fly."},"Structs/MixpanelTweaks.html":{"name":"MixpanelTweaks","abstract":"The MixpanelTweaks struct that needs to be extended to define new Tweaks for A/B testing"},"Protocols/TweakableType.html#/s:8Mixpanel13TweakableTypeP013tweakViewDataC0AA05TweakefC0OvpZ":{"name":"tweakViewDataType","abstract":"The data type of the TweakableType","parent_name":"TweakableType"},"Protocols/TweakLibraryType.html#/s:8Mixpanel16TweakLibraryTypeP12defaultStoreAA0bF0CvpZ":{"name":"defaultStore","abstract":"the default tweak store","parent_name":"TweakLibraryType"},"Protocols/TweakLibraryType.html#/s:8Mixpanel16TweakLibraryTypePAAE6assignyqd__AA0B0Vyqd__GAA09TweakableD0Rd__lFZ":{"name":"assign(_:)","abstract":"Returns the current value for a tweak from the TweakLibrary’s default store.","parent_name":"TweakLibraryType"},"Protocols/TweakLibraryType.html#/s:8Mixpanel16TweakLibraryTypePAAE4bind_7bindingyAA0B0Vyqd__G_yqd__ctAA09TweakableD0Rd__lFZ":{"name":"bind(_:binding:)","abstract":"Immediately binds the currentValue of a given tweak, and then continues to update whenever the tweak changes.","parent_name":"TweakLibraryType"},"Protocols/TweakClusterType.html#/s:8Mixpanel16TweakClusterTypeP05tweakC0SayAA03AnyB0VGvp":{"name":"tweakCluster","abstract":"The tweak cluster to allow easy initialization of Tweaks","parent_name":"TweakClusterType"},"Protocols/MixpanelType.html#/s:8Mixpanel0A4TypeP013isValidNestedB8AndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"Checks if this object has nested object types that Mixpanel supports.","parent_name":"MixpanelType"},"Protocols/MixpanelType.html#/s:8Mixpanel0A4TypeP6equals3rhsSbAaB_p_tF":{"name":"equals(rhs:)","abstract":"Undocumented","parent_name":"MixpanelType"},"Protocols/MixpanelDelegate.html#/s:8Mixpanel0A8DelegateP17mixpanelWillFlushySbAA0A8InstanceCF":{"name":"mixpanelWillFlush(_:)","abstract":"Asks the delegate if data should be uploaded to the server.","parent_name":"MixpanelDelegate"},"Protocols/MixpanelDelegate.html":{"name":"MixpanelDelegate","abstract":"Delegate protocol for controlling the Mixpanel API’s network behavior."},"Protocols/MixpanelType.html":{"name":"MixpanelType","abstract":"Property keys must be String objects and the supported value types need to conform to MixpanelType."},"Protocols/TweakClusterType.html":{"name":"TweakClusterType","abstract":"This protocol allows for easy initialization of TweakStore."},"Protocols/TweakLibraryType.html":{"name":"TweakLibraryType","abstract":"Create a public struct in your application that conforms to this protocol to declare your own tweaks!"},"Protocols/TweakableType.html":{"name":"TweakableType","abstract":"To add a new to our Tweak, make T conform to this protocol."},"Functions.html#/s:8Mixpanel2eeoiySbAA8AnyTweakV_ADtF":{"name":"==(_:_:)","abstract":"Comparator between two tweaks for A/B Testing."},"Functions.html#/s:8Mixpanel2eeoiySbAA5TweakVyxG_AEtAA13TweakableTypeRzlF":{"name":"==(_:_:)","abstract":"Comparator between two tweaks for A/B Testing."},"Extensions/CGFloat.html#/s:12CoreGraphics7CGFloatV8MixpanelE17tweakViewDataTypeAD05TweakfgH0OvpZ":{"name":"tweakViewDataType","abstract":"TweakableType supports the cgFloat type","parent_name":"CGFloat"},"Extensions/Dictionary.html#/s:SD8MixpanelE25isValidNestedTypeAndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"Checks if this object has nested object types that Mixpanel supports.","parent_name":"Dictionary"},"Extensions/Dictionary.html#/s:SD8MixpanelE6equals3rhsSbAA0A4Type_p_tF":{"name":"equals(rhs:)","abstract":"Undocumented","parent_name":"Dictionary"},"Extensions/NSArray.html#/s:So7NSArrayC8MixpanelE25isValidNestedTypeAndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"Checks if this object has nested object types that Mixpanel supports.","parent_name":"NSArray"},"Extensions/NSArray.html#/s:So7NSArrayC8MixpanelE6equals3rhsSbAC0B4Type_p_tF":{"name":"equals(rhs:)","abstract":"Undocumented","parent_name":"NSArray"},"Extensions/NSNull.html#/s:So6NSNullC8MixpanelE25isValidNestedTypeAndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"Checks if this object has nested object types that Mixpanel supports.","parent_name":"NSNull"},"Extensions/NSNull.html#/s:So6NSNullC8MixpanelE6equals3rhsSbAC0B4Type_p_tF":{"name":"equals(rhs:)","abstract":"Undocumented","parent_name":"NSNull"},"Extensions/URL.html#/s:10Foundation3URLV8MixpanelE25isValidNestedTypeAndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"Checks if this object has nested object types that Mixpanel supports.","parent_name":"URL"},"Extensions/URL.html#/s:10Foundation3URLV8MixpanelE6equals3rhsSbAD0C4Type_p_tF":{"name":"equals(rhs:)","abstract":"Undocumented","parent_name":"URL"},"Extensions/Date.html#/s:10Foundation4DateV8MixpanelE25isValidNestedTypeAndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"Checks if this object has nested object types that Mixpanel supports.","parent_name":"Date"},"Extensions/Date.html#/s:10Foundation4DateV8MixpanelE6equals3rhsSbAD0C4Type_p_tF":{"name":"equals(rhs:)","abstract":"Undocumented","parent_name":"Date"},"Extensions/Bool.html#/s:Sb8MixpanelE25isValidNestedTypeAndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"Checks if this object has nested object types that Mixpanel supports.","parent_name":"Bool"},"Extensions/Bool.html#/s:Sb8MixpanelE6equals3rhsSbAA0A4Type_p_tF":{"name":"equals(rhs:)","abstract":"Undocumented","parent_name":"Bool"},"Extensions/Bool.html#/s:Sb8MixpanelE17tweakViewDataTypeAA05TweakcdE0OvpZ":{"name":"tweakViewDataType","abstract":"TweakableType supports the boolean type","parent_name":"Bool"},"Extensions/Float.html#/s:Sf8MixpanelE25isValidNestedTypeAndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"Checks if this object has nested object types that Mixpanel supports.","parent_name":"Float"},"Extensions/Float.html#/s:Sf8MixpanelE6equals3rhsSbAA0A4Type_p_tF":{"name":"equals(rhs:)","abstract":"Undocumented","parent_name":"Float"},"Extensions/Double.html#/s:Sd8MixpanelE25isValidNestedTypeAndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"Checks if this object has nested object types that Mixpanel supports.","parent_name":"Double"},"Extensions/Double.html#/s:Sd8MixpanelE6equals3rhsSbAA0A4Type_p_tF":{"name":"equals(rhs:)","abstract":"Undocumented","parent_name":"Double"},"Extensions/Double.html#/s:Sd8MixpanelE17tweakViewDataTypeAA05TweakcdE0OvpZ":{"name":"tweakViewDataType","abstract":"TweakableType supports the double type","parent_name":"Double"},"Extensions/UInt.html#/s:Su8MixpanelE25isValidNestedTypeAndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"Checks if this object has nested object types that Mixpanel supports.","parent_name":"UInt"},"Extensions/UInt.html#/s:Su8MixpanelE6equals3rhsSbAA0A4Type_p_tF":{"name":"equals(rhs:)","abstract":"Undocumented","parent_name":"UInt"},"Extensions/Int.html#/s:Si8MixpanelE25isValidNestedTypeAndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"Checks if this object has nested object types that Mixpanel supports.","parent_name":"Int"},"Extensions/Int.html#/s:Si8MixpanelE6equals3rhsSbAA0A4Type_p_tF":{"name":"equals(rhs:)","abstract":"Undocumented","parent_name":"Int"},"Extensions/Int.html#/s:Si8MixpanelE17tweakViewDataTypeAA05TweakcdE0OvpZ":{"name":"tweakViewDataType","abstract":"TweakableType supports the integer type","parent_name":"Int"},"Extensions/NSNumber.html#/s:So8NSNumberC8MixpanelE25isValidNestedTypeAndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"Checks if this object has nested object types that Mixpanel supports.","parent_name":"NSNumber"},"Extensions/NSNumber.html#/s:So8NSNumberC8MixpanelE6equals3rhsSbAC0B4Type_p_tF":{"name":"equals(rhs:)","abstract":"Undocumented","parent_name":"NSNumber"},"Extensions/NSString.html#/s:So8NSStringC8MixpanelE25isValidNestedTypeAndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"Checks if this object has nested object types that Mixpanel supports.","parent_name":"NSString"},"Extensions/NSString.html#/s:So8NSStringC8MixpanelE6equals3rhsSbAC0B4Type_p_tF":{"name":"equals(rhs:)","abstract":"Undocumented","parent_name":"NSString"},"Extensions/String.html#/s:SS8MixpanelE25isValidNestedTypeAndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"Checks if this object has nested object types that Mixpanel supports.","parent_name":"String"},"Extensions/String.html#/s:SS8MixpanelE6equals3rhsSbAA0A4Type_p_tF":{"name":"equals(rhs:)","abstract":"Undocumented","parent_name":"String"},"Extensions/String.html#/s:SS8MixpanelE17tweakViewDataTypeAA05TweakcdE0OvpZ":{"name":"tweakViewDataType","abstract":"TweakableType supports the string type","parent_name":"String"},"Extensions/Optional.html#/s:Sq8MixpanelE25isValidNestedTypeAndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"Checks if this object has nested object types that Mixpanel supports.","parent_name":"Optional"},"Extensions/Optional.html#/s:Sq8MixpanelE6equals3rhsSbAA0A4Type_p_tF":{"name":"equals(rhs:)","abstract":"Undocumented","parent_name":"Optional"},"Extensions/Array.html#/s:Sa8MixpanelE25isValidNestedTypeAndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"Checks if this object has nested object types that Mixpanel supports.","parent_name":"Array"},"Extensions/Array.html#/s:Sa8MixpanelE6equals3rhsSbAA0A4Type_p_tF":{"name":"equals(rhs:)","abstract":"Undocumented","parent_name":"Array"},"Extensions/UIColor.html#/s:So7UIColorC8MixpanelE5MPHexABSu_tcfc":{"name":"init(MPHex:)","abstract":"The shorthand four-digit hexadecimal representation of color with alpha.","parent_name":"UIColor"},"Extensions/UIColor.html":{"name":"UIColor"},"Extensions/Array.html":{"name":"Array"},"Extensions/Optional.html":{"name":"Optional"},"Extensions/String.html":{"name":"String"},"Extensions/NSString.html":{"name":"NSString"},"Extensions/NSNumber.html":{"name":"NSNumber"},"Extensions/Int.html":{"name":"Int"},"Extensions/UInt.html":{"name":"UInt"},"Extensions/Double.html":{"name":"Double"},"Extensions/Float.html":{"name":"Float"},"Extensions/Bool.html":{"name":"Bool"},"Extensions/Date.html":{"name":"Date"},"Extensions/URL.html":{"name":"URL"},"Extensions/NSNull.html":{"name":"NSNull"},"Extensions/NSArray.html":{"name":"NSArray"},"Extensions/Dictionary.html":{"name":"Dictionary"},"Extensions/CGFloat.html":{"name":"CGFloat"},"Enums/TweakViewDataType.html#/s:8Mixpanel17TweakViewDataTypeO7booleanyA2CmF":{"name":"boolean","abstract":"TweakableType supports the boolean type","parent_name":"TweakViewDataType"},"Enums/TweakViewDataType.html#/s:8Mixpanel17TweakViewDataTypeO7integeryA2CmF":{"name":"integer","abstract":"TweakableType supports the integer type","parent_name":"TweakViewDataType"},"Enums/TweakViewDataType.html#/s:8Mixpanel17TweakViewDataTypeO7cgFloatyA2CmF":{"name":"cgFloat","abstract":"TweakableType supports the cgFloat type","parent_name":"TweakViewDataType"},"Enums/TweakViewDataType.html#/s:8Mixpanel17TweakViewDataTypeO6doubleyA2CmF":{"name":"double","abstract":"TweakableType supports the double type","parent_name":"TweakViewDataType"},"Enums/TweakViewDataType.html#/s:8Mixpanel17TweakViewDataTypeO6stringyA2CmF":{"name":"string","abstract":"TweakableType supports the string type","parent_name":"TweakViewDataType"},"Enums/TweakViewDataType.html":{"name":"TweakViewDataType","abstract":"The data types that are currently supported for SwiftTweaks."},"Classes/MixpanelPushNotifications.html#/s:8Mixpanel0A17PushNotificationsC02isaB12NotificationySbSo21UNNotificationContentCFZ":{"name":"isMixpanelPushNotification(_:)","abstract":"Undocumented","parent_name":"MixpanelPushNotifications"},"Classes/MixpanelPushNotifications.html#/s:8Mixpanel0A17PushNotificationsC10trackEvent_10properties7requestySS_SDySSAA0A4Type_pGSo21UNNotificationRequestCtFZ":{"name":"trackEvent(_:properties:request:)","abstract":"Undocumented","parent_name":"MixpanelPushNotifications"},"Classes/People.html#/s:8Mixpanel6PeopleC10ignoreTimeSbvp":{"name":"ignoreTime","abstract":"controls the $ignore_time property in any subsequent MixpanelPeople operation.","parent_name":"People"},"Classes/People.html#/s:8Mixpanel6PeopleC18addPushDeviceTokenyy10Foundation4DataVF":{"name":"addPushDeviceToken(_:)","abstract":"Register the given device to receive push notifications.","parent_name":"People"},"Classes/People.html#/s:8Mixpanel6PeopleC25removeAllPushDeviceTokensyyF":{"name":"removeAllPushDeviceTokens()","abstract":"Unregister the given device to receive push notifications.","parent_name":"People"},"Classes/People.html#/s:8Mixpanel6PeopleC21removePushDeviceTokenyy10Foundation4DataVF":{"name":"removePushDeviceToken(_:)","abstract":"Unregister a specific device token from the ability to receive push notifications.","parent_name":"People"},"Classes/People.html#/s:8Mixpanel6PeopleC3set10propertiesySDySSAA0A4Type_pG_tF":{"name":"set(properties:)","abstract":"Set properties on the current user in Mixpanel People.","parent_name":"People"},"Classes/People.html#/s:8Mixpanel6PeopleC3set8property2toySS_AA0A4Type_ptF":{"name":"set(property:to:)","abstract":"Convenience method for setting a single property in Mixpanel People.","parent_name":"People"},"Classes/People.html#/s:8Mixpanel6PeopleC7setOnce10propertiesySDySSAA0A4Type_pG_tF":{"name":"setOnce(properties:)","abstract":"Set properties on the current user in Mixpanel People, but doesn’t overwrite if","parent_name":"People"},"Classes/People.html#/s:8Mixpanel6PeopleC5unset10propertiesySaySSG_tF":{"name":"unset(properties:)","abstract":"Remove a list of properties and their values from the current user’s profile","parent_name":"People"},"Classes/People.html#/s:8Mixpanel6PeopleC9increment10propertiesySDySSAA0A4Type_pG_tF":{"name":"increment(properties:)","abstract":"Increment the given numeric properties by the given values.","parent_name":"People"},"Classes/People.html#/s:8Mixpanel6PeopleC9increment8property2byySS_SdtF":{"name":"increment(property:by:)","abstract":"Convenience method for incrementing a single numeric property by the specified","parent_name":"People"},"Classes/People.html#/s:8Mixpanel6PeopleC6append10propertiesySDySSAA0A4Type_pG_tF":{"name":"append(properties:)","abstract":"Append values to list properties.","parent_name":"People"},"Classes/People.html#/s:8Mixpanel6PeopleC6remove10propertiesySDySSAA0A4Type_pG_tF":{"name":"remove(properties:)","abstract":"Removes list properties.","parent_name":"People"},"Classes/People.html#/s:8Mixpanel6PeopleC5union10propertiesySDySSAA0A4Type_pG_tF":{"name":"union(properties:)","abstract":"Union list properties.","parent_name":"People"},"Classes/People.html#/s:8Mixpanel6PeopleC11trackCharge6amount10propertiesySd_SDySSAA0A4Type_pGSgtF":{"name":"trackCharge(amount:properties:)","abstract":"Track money spent by the current user for revenue analytics and associate","parent_name":"People"},"Classes/People.html#/s:8Mixpanel6PeopleC12clearChargesyyF":{"name":"clearCharges()","abstract":"Delete current user’s revenue history.","parent_name":"People"},"Classes/People.html#/s:8Mixpanel6PeopleC10deleteUseryyF":{"name":"deleteUser()","abstract":"Delete current user’s record from Mixpanel People.","parent_name":"People"},"Classes/MixpanelNotificationServiceExtension.html#/c:@M@Mixpanel@objc(cs)MixpanelNotificationServiceExtension(im)didReceiveNotificationRequest:withContentHandler:":{"name":"didReceive(_:withContentHandler:)","abstract":"Undocumented","parent_name":"MixpanelNotificationServiceExtension"},"Classes/MixpanelNotificationServiceExtension.html#/c:@M@Mixpanel@objc(cs)MixpanelNotificationServiceExtension(im)serviceExtensionTimeWillExpire":{"name":"serviceExtensionTimeWillExpire()","abstract":"Undocumented","parent_name":"MixpanelNotificationServiceExtension"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC8apiTokenSSvp":{"name":"apiToken","abstract":"apiToken string that identifies the project to track data to","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC8delegateAA0A8Delegate_pSgvp":{"name":"delegate","abstract":"The a MixpanelDelegate object that gives control over Mixpanel network activity.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC10distinctIdSSvp":{"name":"distinctId","abstract":"distinctId string that uniquely identifies the current user.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC11anonymousIdSSSgvp":{"name":"anonymousId","abstract":"anonymousId string that uniquely identifies the device.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC6userIdSSSgvp":{"name":"userId","abstract":"userId string that identify is called with.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC22hadPersistedDistinctIdSbSgvp":{"name":"hadPersistedDistinctId","abstract":"hadPersistedDistinctId is a boolean value which specifies that the stored distinct_id","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC5aliasSSSgvp":{"name":"alias","abstract":"alias string that uniquely identifies the current user.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC6peopleAA6PeopleCSgvp":{"name":"people","abstract":"Accessor to the Mixpanel People API object.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC28showNetworkActivityIndicatorSbvp":{"name":"showNetworkActivityIndicator","abstract":"Controls whether to show spinning network activity indicator when flushing","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC27trackAutomaticEventsEnabledSbSgvp":{"name":"trackAutomaticEventsEnabled","abstract":"This allows enabling or disabling collecting common mobile events","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC13flushIntervalSdvp":{"name":"flushInterval","abstract":"Flush timer’s interval.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC17flushOnBackgroundSbvp":{"name":"flushOnBackground","abstract":"Control whether the library should flush data to Mixpanel when the app","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC26useIPAddressForGeoLocationSbvp":{"name":"useIPAddressForGeoLocation","abstract":"Controls whether to automatically send the client IP Address as part of","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC9serverURLSSvp":{"name":"serverURL","abstract":"The base URL used for Mixpanel API requests.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:s28CustomDebugStringConvertibleP16debugDescriptionSSvp":{"name":"debugDescription","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC14loggingEnabledSbvp":{"name":"loggingEnabled","abstract":"This allows enabling or disabling of all Mixpanel logs at run time.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC4nameSSvp":{"name":"name","abstract":"A unique identifier for this MixpanelInstance","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC29enableVisualEditorForCodelessSbvp":{"name":"enableVisualEditorForCodeless","abstract":"Controls whether to enable the visual editor for codeless on mixpanel.com","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC24checkForVariantsOnActiveSbvp":{"name":"checkForVariantsOnActive","abstract":"Controls whether to automatically check for A/B test variants for the","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC28checkForNotificationOnActiveSbvp":{"name":"checkForNotificationOnActive","abstract":"Controls whether to automatically check for notifications for the","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC24showNotificationOnActiveSbvp":{"name":"showNotificationOnActive","abstract":"Controls whether to automatically check for and show in-app notifications","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC32miniNotificationPresentationTimeSdvp":{"name":"miniNotificationPresentationTime","abstract":"Determines the time, in seconds, that a mini notification will remain on","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC22minimumSessionDurations6UInt64Vvp":{"name":"minimumSessionDuration","abstract":"The minimum session duration (ms) that is tracked in automatic events.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC22maximumSessionDurations6UInt64Vvp":{"name":"maximumSessionDuration","abstract":"The maximum session duration (ms) that is tracked in automatic events.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC8identify10distinctId9usePeople10completionySS_SbyycSgtF":{"name":"identify(distinctId:usePeople:completion:)","abstract":"Sets the distinct ID of the current user.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC11createAlias_10distinctId9usePeople10completionySS_SSSbyycSgtF":{"name":"createAlias(_:distinctId:usePeople:completion:)","abstract":"The alias method creates an alias which Mixpanel will use to remap one id to another.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC5reset10completionyyycSg_tF":{"name":"reset(completion:)","abstract":"Clears all stored properties including the distinct Id.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC7archiveyyF":{"name":"archive()","abstract":"Writes current project info including the distinct Id, super properties,","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/archive()":{"name":"archive()","abstract":"Writes current project info including the distinct Id, super properties,","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC5flush10completionyyycSg_tF":{"name":"flush(completion:)","abstract":"Uploads queued data to the Mixpanel server.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC5track5event10propertiesySSSg_SDySSAA0A4Type_pGSgtF":{"name":"track(event:properties:)","abstract":"Tracks an event with properties.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC15trackWithGroups5event10properties6groupsySSSg_SDySSAA0A4Type_pGSgAKtF":{"name":"trackWithGroups(event:properties:groups:)","abstract":"Tracks an event with properties and to specific groups.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC8getGroup8groupKey0E2IDAA0D0CSS_AA0A4Type_ptF":{"name":"getGroup(groupKey:groupID:)","abstract":"Undocumented","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC4time5eventySS_tF":{"name":"time(event:)","abstract":"Starts a timer that will be stopped and added as a property when a","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC16eventElapsedTime0C0SdSS_tF":{"name":"eventElapsedTime(event:)","abstract":"Retrieves the time elapsed for the named event since time(event:) was called.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC16clearTimedEventsyyF":{"name":"clearTimedEvents()","abstract":"Clears all current event timers.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC15clearTimedEvent5eventySS_tF":{"name":"clearTimedEvent(event:)","abstract":"Clears the event timer for the named event.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC22currentSuperPropertiesSDySSypGyF":{"name":"currentSuperProperties()","abstract":"Returns the currently set super properties.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC20clearSuperPropertiesyyF":{"name":"clearSuperProperties()","abstract":"Clears all currently set super properties.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC23registerSuperPropertiesyySDySSAA0A4Type_pGF":{"name":"registerSuperProperties(_:)","abstract":"Registers super properties, overwriting ones that have already been set.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC27registerSuperPropertiesOnce_12defaultValueySDySSAA0A4Type_pG_AaF_pSgtF":{"name":"registerSuperPropertiesOnce(_:defaultValue:)","abstract":"Registers super properties without overwriting ones that have already been set,","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC23unregisterSuperPropertyyySSF":{"name":"unregisterSuperProperty(_:)","abstract":"Removes a previously registered super property.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC8setGroup8groupKey0E2IDySS_AA0A4Type_ptF":{"name":"setGroup(groupKey:groupID:)","abstract":"Convenience method to set a single group the user belongs to.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC8setGroup8groupKey0E3IDsySS_SayAA0A4Type_pGtF":{"name":"setGroup(groupKey:groupIDs:)","abstract":"Set the groups this user belongs to.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC8addGroup8groupKey0E2IDySS_AA0A4Type_ptF":{"name":"addGroup(groupKey:groupID:)","abstract":"Add a group to this user’s membership for a particular group key","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC11removeGroup8groupKey0E2IDySS_AA0A4Type_ptF":{"name":"removeGroup(groupKey:groupID:)","abstract":"Remove a group from this user’s membership for a particular group key","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC14optOutTrackingyyF":{"name":"optOutTracking()","abstract":"Opt out tracking.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC13optInTracking10distinctId10propertiesySSSg_SDySSAA0A4Type_pGSgtF":{"name":"optInTracking(distinctId:properties:)","abstract":"Opt in tracking.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC19hasOptedOutTrackingSbyF":{"name":"hasOptedOutTracking()","abstract":"Returns if the current user has opted out tracking.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC15joinExperiments8callbackyyycSg_tF":{"name":"joinExperiments(callback:)","abstract":"Join any experiments (A/B tests) that are available for the current user.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC16showNotificationyyF":{"name":"showNotification()","abstract":"Shows a notification if one is available.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC16showNotification4typeySS_tF":{"name":"showNotification(type:)","abstract":"Shows a notification with the given type if one is available.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC16showNotification2IDySi_tF":{"name":"showNotification(ID:)","abstract":"Shows a notification with the given ID","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC24fetchNotificationPayload10completionyySDySSyXlGSgc_tF":{"name":"fetchNotificationPayload(completion:)","abstract":"Returns the payload of a notification if available","parent_name":"MixpanelInstance"},"Classes/Mixpanel.html#/s:8MixpanelAAC10initialize5token13launchOptions13flushInterval12instanceName21automaticPushTracking06optOutL9ByDefaultAA0A8InstanceCSS_SDySo019UIApplicationLaunchE3KeyaypGSgSdSSS2btFZ":{"name":"initialize(token:launchOptions:flushInterval:instanceName:automaticPushTracking:optOutTrackingByDefault:)","abstract":"Initializes an instance of the API with the given project token.","parent_name":"Mixpanel"},"Classes/Mixpanel.html#/initialize(token:flushInterval:instanceName:optOutTrackingByDefault:)":{"name":"initialize(token:flushInterval:instanceName:optOutTrackingByDefault:)","abstract":"Initializes an instance of the API with the given project token (MAC OS ONLY).","parent_name":"Mixpanel"},"Classes/Mixpanel.html#/s:8MixpanelAAC11getInstance4nameAA0aC0CSgSS_tFZ":{"name":"getInstance(name:)","abstract":"Gets the mixpanel instance with the given name","parent_name":"Mixpanel"},"Classes/Mixpanel.html#/s:8MixpanelAAC12mainInstanceAA0aC0CyFZ":{"name":"mainInstance()","abstract":"Returns the main instance that was initialized.","parent_name":"Mixpanel"},"Classes/Mixpanel.html#/s:8MixpanelAAC15setMainInstance4nameySS_tFZ":{"name":"setMainInstance(name:)","abstract":"Sets the main instance based on the instance name","parent_name":"Mixpanel"},"Classes/Mixpanel.html#/s:8MixpanelAAC14removeInstance4nameySS_tFZ":{"name":"removeInstance(name:)","abstract":"Removes an unneeded Mixpanel instance based on its name","parent_name":"Mixpanel"},"Classes/Group.html#/s:8Mixpanel5GroupC3set10propertiesySDySSAA0A4Type_pG_tF":{"name":"set(properties:)","abstract":"Sets properties on this group.","parent_name":"Group"},"Classes/Group.html#/s:8Mixpanel5GroupC3set8property2toySS_AA0A4Type_ptF":{"name":"set(property:to:)","abstract":"Convenience method for setting a single property in Mixpanel Groups.","parent_name":"Group"},"Classes/Group.html#/s:8Mixpanel5GroupC7setOnce10propertiesySDySSAA0A4Type_pG_tF":{"name":"setOnce(properties:)","abstract":"Sets properties on the current Mixpanel Group, but doesn’t overwrite if","parent_name":"Group"},"Classes/Group.html#/s:8Mixpanel5GroupC5unset8propertyySS_tF":{"name":"unset(property:)","abstract":"Remove a property and its value from a group’s profile in Mixpanel Groups.","parent_name":"Group"},"Classes/Group.html#/s:8Mixpanel5GroupC6remove3key5valueySS_AA0A4Type_ptF":{"name":"remove(key:value:)","abstract":"Removes list properties.","parent_name":"Group"},"Classes/Group.html#/s:8Mixpanel5GroupC5union3key6valuesySS_SayAA0A4Type_pGtF":{"name":"union(key:values:)","abstract":"Union list properties.","parent_name":"Group"},"Classes/Group.html#/s:8Mixpanel5GroupC06deleteB0yyF":{"name":"deleteGroup()","abstract":"Delete group’s record from Mixpanel Groups.","parent_name":"Group"},"Classes/Group.html":{"name":"Group","abstract":"Access to the Mixpanel Groups API, available through the getGroup function from"},"Classes/Mixpanel.html":{"name":"Mixpanel","abstract":"The primary class for integrating Mixpanel with your app."},"Classes/MixpanelInstance.html":{"name":"MixpanelInstance","abstract":"The class that represents the Mixpanel Instance"},"Classes/MixpanelNotificationServiceExtension.html":{"name":"MixpanelNotificationServiceExtension","abstract":"Undocumented"},"Classes/People.html":{"name":"People","abstract":"Access to the Mixpanel People API, available as an accessible variable from"},"Classes/MixpanelPushNotifications.html":{"name":"MixpanelPushNotifications","abstract":"Undocumented"},"Classes.html#/s:8Mixpanel10TweakStoreC":{"name":"TweakStore","abstract":"Looks up the persisted state for tweaks."},"Classes.html":{"name":"Classes","abstract":"The following classes are available globally."},"Enums.html":{"name":"Enumerations","abstract":"The following enumerations are available globally."},"Extensions.html":{"name":"Extensions","abstract":"The following extensions are available globally."},"Functions.html":{"name":"Functions","abstract":"The following functions are available globally."},"Protocols.html":{"name":"Protocols","abstract":"The following protocols are available globally."},"Structs.html":{"name":"Structures","abstract":"The following structures are available globally."},"Typealiases.html":{"name":"Type Aliases","abstract":"The following type aliases are available globally."}} \ No newline at end of file diff --git a/docs/undocumented.json b/docs/undocumented.json index 1e31bd6a..75baf9b9 100644 --- a/docs/undocumented.json +++ b/docs/undocumented.json @@ -9,7 +9,7 @@ }, { "file": "/Users/zihejia/Documents/Projects/Develop/mixpanel-swift/Sources/MixpanelInstance.swift", - "line": 1296, + "line": 1335, "symbol": "MixpanelInstance.getGroup(groupKey:groupID:)", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented"
Creates a Tweak where T: SignedNumberType","parent_name":"Tweak"},"Structs/AnyTweak.html#/s:SH4hash4intoys6HasherVz_tF":{"name":"hash(into:)","parent_name":"AnyTweak"},"Structs/AnyTweak.html#/s:8Mixpanel8AnyTweakV12tweakClusterSayACGvp":{"name":"tweakCluster","abstract":"Allows easy tweak initialization by clustering tweaks together for A/B Testing","parent_name":"AnyTweak"},"Structs/AnyTweak.html":{"name":"AnyTweak","abstract":"A type-erasure around Tweak for A/B Testing."},"Structs/Tweak.html":{"name":"Tweak","abstract":"Tweaks let you adjust things on the fly."},"Structs/MixpanelTweaks.html":{"name":"MixpanelTweaks","abstract":"The MixpanelTweaks struct that needs to be extended to define new Tweaks for A/B testing"},"Protocols/TweakableType.html#/s:8Mixpanel13TweakableTypeP013tweakViewDataC0AA05TweakefC0OvpZ":{"name":"tweakViewDataType","abstract":"The data type of the TweakableType","parent_name":"TweakableType"},"Protocols/TweakLibraryType.html#/s:8Mixpanel16TweakLibraryTypeP12defaultStoreAA0bF0CvpZ":{"name":"defaultStore","abstract":"the default tweak store","parent_name":"TweakLibraryType"},"Protocols/TweakLibraryType.html#/s:8Mixpanel16TweakLibraryTypePAAE6assignyqd__AA0B0Vyqd__GAA09TweakableD0Rd__lFZ":{"name":"assign(_:)","abstract":"Returns the current value for a tweak from the TweakLibrary’s default store.","parent_name":"TweakLibraryType"},"Protocols/TweakLibraryType.html#/s:8Mixpanel16TweakLibraryTypePAAE4bind_7bindingyAA0B0Vyqd__G_yqd__ctAA09TweakableD0Rd__lFZ":{"name":"bind(_:binding:)","abstract":"Immediately binds the currentValue of a given tweak, and then continues to update whenever the tweak changes.","parent_name":"TweakLibraryType"},"Protocols/TweakClusterType.html#/s:8Mixpanel16TweakClusterTypeP05tweakC0SayAA03AnyB0VGvp":{"name":"tweakCluster","abstract":"The tweak cluster to allow easy initialization of Tweaks","parent_name":"TweakClusterType"},"Protocols/MixpanelType.html#/s:8Mixpanel0A4TypeP013isValidNestedB8AndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"Checks if this object has nested object types that Mixpanel supports.","parent_name":"MixpanelType"},"Protocols/MixpanelType.html#/s:8Mixpanel0A4TypeP6equals3rhsSbAaB_p_tF":{"name":"equals(rhs:)","abstract":"Undocumented","parent_name":"MixpanelType"},"Protocols/MixpanelDelegate.html#/s:8Mixpanel0A8DelegateP17mixpanelWillFlushySbAA0A8InstanceCF":{"name":"mixpanelWillFlush(_:)","abstract":"Asks the delegate if data should be uploaded to the server.","parent_name":"MixpanelDelegate"},"Protocols/MixpanelDelegate.html":{"name":"MixpanelDelegate","abstract":"Delegate protocol for controlling the Mixpanel API’s network behavior."},"Protocols/MixpanelType.html":{"name":"MixpanelType","abstract":"Property keys must be String objects and the supported value types need to conform to MixpanelType."},"Protocols/TweakClusterType.html":{"name":"TweakClusterType","abstract":"This protocol allows for easy initialization of TweakStore."},"Protocols/TweakLibraryType.html":{"name":"TweakLibraryType","abstract":"Create a public struct in your application that conforms to this protocol to declare your own tweaks!"},"Protocols/TweakableType.html":{"name":"TweakableType","abstract":"To add a new to our Tweak, make T conform to this protocol."},"Functions.html#/s:8Mixpanel2eeoiySbAA8AnyTweakV_ADtF":{"name":"==(_:_:)","abstract":"Comparator between two tweaks for A/B Testing."},"Functions.html#/s:8Mixpanel2eeoiySbAA5TweakVyxG_AEtAA13TweakableTypeRzlF":{"name":"==(_:_:)","abstract":"Comparator between two tweaks for A/B Testing."},"Extensions/CGFloat.html#/s:12CoreGraphics7CGFloatV8MixpanelE17tweakViewDataTypeAD05TweakfgH0OvpZ":{"name":"tweakViewDataType","abstract":"TweakableType supports the cgFloat type","parent_name":"CGFloat"},"Extensions/Dictionary.html#/s:SD8MixpanelE25isValidNestedTypeAndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"Checks if this object has nested object types that Mixpanel supports.","parent_name":"Dictionary"},"Extensions/Dictionary.html#/s:SD8MixpanelE6equals3rhsSbAA0A4Type_p_tF":{"name":"equals(rhs:)","abstract":"Undocumented","parent_name":"Dictionary"},"Extensions/NSArray.html#/s:So7NSArrayC8MixpanelE25isValidNestedTypeAndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"Checks if this object has nested object types that Mixpanel supports.","parent_name":"NSArray"},"Extensions/NSArray.html#/s:So7NSArrayC8MixpanelE6equals3rhsSbAC0B4Type_p_tF":{"name":"equals(rhs:)","abstract":"Undocumented","parent_name":"NSArray"},"Extensions/NSNull.html#/s:So6NSNullC8MixpanelE25isValidNestedTypeAndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"Checks if this object has nested object types that Mixpanel supports.","parent_name":"NSNull"},"Extensions/NSNull.html#/s:So6NSNullC8MixpanelE6equals3rhsSbAC0B4Type_p_tF":{"name":"equals(rhs:)","abstract":"Undocumented","parent_name":"NSNull"},"Extensions/URL.html#/s:10Foundation3URLV8MixpanelE25isValidNestedTypeAndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"Checks if this object has nested object types that Mixpanel supports.","parent_name":"URL"},"Extensions/URL.html#/s:10Foundation3URLV8MixpanelE6equals3rhsSbAD0C4Type_p_tF":{"name":"equals(rhs:)","abstract":"Undocumented","parent_name":"URL"},"Extensions/Date.html#/s:10Foundation4DateV8MixpanelE25isValidNestedTypeAndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"Checks if this object has nested object types that Mixpanel supports.","parent_name":"Date"},"Extensions/Date.html#/s:10Foundation4DateV8MixpanelE6equals3rhsSbAD0C4Type_p_tF":{"name":"equals(rhs:)","abstract":"Undocumented","parent_name":"Date"},"Extensions/Bool.html#/s:Sb8MixpanelE25isValidNestedTypeAndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"Checks if this object has nested object types that Mixpanel supports.","parent_name":"Bool"},"Extensions/Bool.html#/s:Sb8MixpanelE6equals3rhsSbAA0A4Type_p_tF":{"name":"equals(rhs:)","abstract":"Undocumented","parent_name":"Bool"},"Extensions/Bool.html#/s:Sb8MixpanelE17tweakViewDataTypeAA05TweakcdE0OvpZ":{"name":"tweakViewDataType","abstract":"TweakableType supports the boolean type","parent_name":"Bool"},"Extensions/Float.html#/s:Sf8MixpanelE25isValidNestedTypeAndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"Checks if this object has nested object types that Mixpanel supports.","parent_name":"Float"},"Extensions/Float.html#/s:Sf8MixpanelE6equals3rhsSbAA0A4Type_p_tF":{"name":"equals(rhs:)","abstract":"Undocumented","parent_name":"Float"},"Extensions/Double.html#/s:Sd8MixpanelE25isValidNestedTypeAndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"Checks if this object has nested object types that Mixpanel supports.","parent_name":"Double"},"Extensions/Double.html#/s:Sd8MixpanelE6equals3rhsSbAA0A4Type_p_tF":{"name":"equals(rhs:)","abstract":"Undocumented","parent_name":"Double"},"Extensions/Double.html#/s:Sd8MixpanelE17tweakViewDataTypeAA05TweakcdE0OvpZ":{"name":"tweakViewDataType","abstract":"TweakableType supports the double type","parent_name":"Double"},"Extensions/UInt.html#/s:Su8MixpanelE25isValidNestedTypeAndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"Checks if this object has nested object types that Mixpanel supports.","parent_name":"UInt"},"Extensions/UInt.html#/s:Su8MixpanelE6equals3rhsSbAA0A4Type_p_tF":{"name":"equals(rhs:)","abstract":"Undocumented","parent_name":"UInt"},"Extensions/Int.html#/s:Si8MixpanelE25isValidNestedTypeAndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"Checks if this object has nested object types that Mixpanel supports.","parent_name":"Int"},"Extensions/Int.html#/s:Si8MixpanelE6equals3rhsSbAA0A4Type_p_tF":{"name":"equals(rhs:)","abstract":"Undocumented","parent_name":"Int"},"Extensions/Int.html#/s:Si8MixpanelE17tweakViewDataTypeAA05TweakcdE0OvpZ":{"name":"tweakViewDataType","abstract":"TweakableType supports the integer type","parent_name":"Int"},"Extensions/NSNumber.html#/s:So8NSNumberC8MixpanelE25isValidNestedTypeAndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"Checks if this object has nested object types that Mixpanel supports.","parent_name":"NSNumber"},"Extensions/NSNumber.html#/s:So8NSNumberC8MixpanelE6equals3rhsSbAC0B4Type_p_tF":{"name":"equals(rhs:)","abstract":"Undocumented","parent_name":"NSNumber"},"Extensions/NSString.html#/s:So8NSStringC8MixpanelE25isValidNestedTypeAndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"Checks if this object has nested object types that Mixpanel supports.","parent_name":"NSString"},"Extensions/NSString.html#/s:So8NSStringC8MixpanelE6equals3rhsSbAC0B4Type_p_tF":{"name":"equals(rhs:)","abstract":"Undocumented","parent_name":"NSString"},"Extensions/String.html#/s:SS8MixpanelE25isValidNestedTypeAndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"Checks if this object has nested object types that Mixpanel supports.","parent_name":"String"},"Extensions/String.html#/s:SS8MixpanelE6equals3rhsSbAA0A4Type_p_tF":{"name":"equals(rhs:)","abstract":"Undocumented","parent_name":"String"},"Extensions/String.html#/s:SS8MixpanelE17tweakViewDataTypeAA05TweakcdE0OvpZ":{"name":"tweakViewDataType","abstract":"TweakableType supports the string type","parent_name":"String"},"Extensions/Optional.html#/s:Sq8MixpanelE25isValidNestedTypeAndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"Checks if this object has nested object types that Mixpanel supports.","parent_name":"Optional"},"Extensions/Optional.html#/s:Sq8MixpanelE6equals3rhsSbAA0A4Type_p_tF":{"name":"equals(rhs:)","abstract":"Undocumented","parent_name":"Optional"},"Extensions/Array.html#/s:Sa8MixpanelE25isValidNestedTypeAndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"Checks if this object has nested object types that Mixpanel supports.","parent_name":"Array"},"Extensions/Array.html#/s:Sa8MixpanelE6equals3rhsSbAA0A4Type_p_tF":{"name":"equals(rhs:)","abstract":"Undocumented","parent_name":"Array"},"Extensions/UIColor.html#/s:So7UIColorC8MixpanelE5MPHexABSu_tcfc":{"name":"init(MPHex:)","abstract":"The shorthand four-digit hexadecimal representation of color with alpha.","parent_name":"UIColor"},"Extensions/UIColor.html":{"name":"UIColor"},"Extensions/Array.html":{"name":"Array"},"Extensions/Optional.html":{"name":"Optional"},"Extensions/String.html":{"name":"String"},"Extensions/NSString.html":{"name":"NSString"},"Extensions/NSNumber.html":{"name":"NSNumber"},"Extensions/Int.html":{"name":"Int"},"Extensions/UInt.html":{"name":"UInt"},"Extensions/Double.html":{"name":"Double"},"Extensions/Float.html":{"name":"Float"},"Extensions/Bool.html":{"name":"Bool"},"Extensions/Date.html":{"name":"Date"},"Extensions/URL.html":{"name":"URL"},"Extensions/NSNull.html":{"name":"NSNull"},"Extensions/NSArray.html":{"name":"NSArray"},"Extensions/Dictionary.html":{"name":"Dictionary"},"Extensions/CGFloat.html":{"name":"CGFloat"},"Enums/TweakViewDataType.html#/s:8Mixpanel17TweakViewDataTypeO7booleanyA2CmF":{"name":"boolean","abstract":"TweakableType supports the boolean type","parent_name":"TweakViewDataType"},"Enums/TweakViewDataType.html#/s:8Mixpanel17TweakViewDataTypeO7integeryA2CmF":{"name":"integer","abstract":"TweakableType supports the integer type","parent_name":"TweakViewDataType"},"Enums/TweakViewDataType.html#/s:8Mixpanel17TweakViewDataTypeO7cgFloatyA2CmF":{"name":"cgFloat","abstract":"TweakableType supports the cgFloat type","parent_name":"TweakViewDataType"},"Enums/TweakViewDataType.html#/s:8Mixpanel17TweakViewDataTypeO6doubleyA2CmF":{"name":"double","abstract":"TweakableType supports the double type","parent_name":"TweakViewDataType"},"Enums/TweakViewDataType.html#/s:8Mixpanel17TweakViewDataTypeO6stringyA2CmF":{"name":"string","abstract":"TweakableType supports the string type","parent_name":"TweakViewDataType"},"Enums/TweakViewDataType.html":{"name":"TweakViewDataType","abstract":"The data types that are currently supported for SwiftTweaks."},"Classes/MixpanelPushNotifications.html#/s:8Mixpanel0A17PushNotificationsC02isaB12NotificationySbSo21UNNotificationContentCFZ":{"name":"isMixpanelPushNotification(_:)","abstract":"Undocumented","parent_name":"MixpanelPushNotifications"},"Classes/MixpanelPushNotifications.html#/s:8Mixpanel0A17PushNotificationsC10trackEvent_10properties7requestySS_SDySSAA0A4Type_pGSo21UNNotificationRequestCtFZ":{"name":"trackEvent(_:properties:request:)","abstract":"Undocumented","parent_name":"MixpanelPushNotifications"},"Classes/People.html#/s:8Mixpanel6PeopleC10ignoreTimeSbvp":{"name":"ignoreTime","abstract":"controls the $ignore_time property in any subsequent MixpanelPeople operation.","parent_name":"People"},"Classes/People.html#/s:8Mixpanel6PeopleC18addPushDeviceTokenyy10Foundation4DataVF":{"name":"addPushDeviceToken(_:)","abstract":"Register the given device to receive push notifications.","parent_name":"People"},"Classes/People.html#/s:8Mixpanel6PeopleC25removeAllPushDeviceTokensyyF":{"name":"removeAllPushDeviceTokens()","abstract":"Unregister the given device to receive push notifications.","parent_name":"People"},"Classes/People.html#/s:8Mixpanel6PeopleC21removePushDeviceTokenyy10Foundation4DataVF":{"name":"removePushDeviceToken(_:)","abstract":"Unregister a specific device token from the ability to receive push notifications.","parent_name":"People"},"Classes/People.html#/s:8Mixpanel6PeopleC3set10propertiesySDySSAA0A4Type_pG_tF":{"name":"set(properties:)","abstract":"Set properties on the current user in Mixpanel People.","parent_name":"People"},"Classes/People.html#/s:8Mixpanel6PeopleC3set8property2toySS_AA0A4Type_ptF":{"name":"set(property:to:)","abstract":"Convenience method for setting a single property in Mixpanel People.","parent_name":"People"},"Classes/People.html#/s:8Mixpanel6PeopleC7setOnce10propertiesySDySSAA0A4Type_pG_tF":{"name":"setOnce(properties:)","abstract":"Set properties on the current user in Mixpanel People, but doesn’t overwrite if","parent_name":"People"},"Classes/People.html#/s:8Mixpanel6PeopleC5unset10propertiesySaySSG_tF":{"name":"unset(properties:)","abstract":"Remove a list of properties and their values from the current user’s profile","parent_name":"People"},"Classes/People.html#/s:8Mixpanel6PeopleC9increment10propertiesySDySSAA0A4Type_pG_tF":{"name":"increment(properties:)","abstract":"Increment the given numeric properties by the given values.","parent_name":"People"},"Classes/People.html#/s:8Mixpanel6PeopleC9increment8property2byySS_SdtF":{"name":"increment(property:by:)","abstract":"Convenience method for incrementing a single numeric property by the specified","parent_name":"People"},"Classes/People.html#/s:8Mixpanel6PeopleC6append10propertiesySDySSAA0A4Type_pG_tF":{"name":"append(properties:)","abstract":"Append values to list properties.","parent_name":"People"},"Classes/People.html#/s:8Mixpanel6PeopleC6remove10propertiesySDySSAA0A4Type_pG_tF":{"name":"remove(properties:)","abstract":"Removes list properties.","parent_name":"People"},"Classes/People.html#/s:8Mixpanel6PeopleC5union10propertiesySDySSAA0A4Type_pG_tF":{"name":"union(properties:)","abstract":"Union list properties.","parent_name":"People"},"Classes/People.html#/s:8Mixpanel6PeopleC11trackCharge6amount10propertiesySd_SDySSAA0A4Type_pGSgtF":{"name":"trackCharge(amount:properties:)","abstract":"Track money spent by the current user for revenue analytics and associate","parent_name":"People"},"Classes/People.html#/s:8Mixpanel6PeopleC12clearChargesyyF":{"name":"clearCharges()","abstract":"Delete current user’s revenue history.","parent_name":"People"},"Classes/People.html#/s:8Mixpanel6PeopleC10deleteUseryyF":{"name":"deleteUser()","abstract":"Delete current user’s record from Mixpanel People.","parent_name":"People"},"Classes/MixpanelNotificationServiceExtension.html#/c:@M@Mixpanel@objc(cs)MixpanelNotificationServiceExtension(im)didReceiveNotificationRequest:withContentHandler:":{"name":"didReceive(_:withContentHandler:)","abstract":"Undocumented","parent_name":"MixpanelNotificationServiceExtension"},"Classes/MixpanelNotificationServiceExtension.html#/c:@M@Mixpanel@objc(cs)MixpanelNotificationServiceExtension(im)serviceExtensionTimeWillExpire":{"name":"serviceExtensionTimeWillExpire()","abstract":"Undocumented","parent_name":"MixpanelNotificationServiceExtension"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC8apiTokenSSvp":{"name":"apiToken","abstract":"apiToken string that identifies the project to track data to","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC8delegateAA0A8Delegate_pSgvp":{"name":"delegate","abstract":"The a MixpanelDelegate object that gives control over Mixpanel network activity.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC10distinctIdSSvp":{"name":"distinctId","abstract":"distinctId string that uniquely identifies the current user.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC11anonymousIdSSSgvp":{"name":"anonymousId","abstract":"anonymousId string that uniquely identifies the device.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC6userIdSSSgvp":{"name":"userId","abstract":"userId string that identify is called with.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC22hadPersistedDistinctIdSbSgvp":{"name":"hadPersistedDistinctId","abstract":"hadPersistedDistinctId is a boolean value which specifies that the stored distinct_id","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC5aliasSSSgvp":{"name":"alias","abstract":"alias string that uniquely identifies the current user.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC6peopleAA6PeopleCSgvp":{"name":"people","abstract":"Accessor to the Mixpanel People API object.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC28showNetworkActivityIndicatorSbvp":{"name":"showNetworkActivityIndicator","abstract":"Controls whether to show spinning network activity indicator when flushing","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC27trackAutomaticEventsEnabledSbSgvp":{"name":"trackAutomaticEventsEnabled","abstract":"This allows enabling or disabling collecting common mobile events","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC13flushIntervalSdvp":{"name":"flushInterval","abstract":"Flush timer’s interval.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC17flushOnBackgroundSbvp":{"name":"flushOnBackground","abstract":"Control whether the library should flush data to Mixpanel when the app","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC26useIPAddressForGeoLocationSbvp":{"name":"useIPAddressForGeoLocation","abstract":"Controls whether to automatically send the client IP Address as part of","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC9serverURLSSvp":{"name":"serverURL","abstract":"The base URL used for Mixpanel API requests.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:s28CustomDebugStringConvertibleP16debugDescriptionSSvp":{"name":"debugDescription","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC14loggingEnabledSbvp":{"name":"loggingEnabled","abstract":"This allows enabling or disabling of all Mixpanel logs at run time.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC4nameSSvp":{"name":"name","abstract":"A unique identifier for this MixpanelInstance","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC29enableVisualEditorForCodelessSbvp":{"name":"enableVisualEditorForCodeless","abstract":"Controls whether to enable the visual editor for codeless on mixpanel.com","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC24checkForVariantsOnActiveSbvp":{"name":"checkForVariantsOnActive","abstract":"Controls whether to automatically check for A/B test variants for the","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC28checkForNotificationOnActiveSbvp":{"name":"checkForNotificationOnActive","abstract":"Controls whether to automatically check for notifications for the","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC24showNotificationOnActiveSbvp":{"name":"showNotificationOnActive","abstract":"Controls whether to automatically check for and show in-app notifications","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC32miniNotificationPresentationTimeSdvp":{"name":"miniNotificationPresentationTime","abstract":"Determines the time, in seconds, that a mini notification will remain on","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC22minimumSessionDurations6UInt64Vvp":{"name":"minimumSessionDuration","abstract":"The minimum session duration (ms) that is tracked in automatic events.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC22maximumSessionDurations6UInt64Vvp":{"name":"maximumSessionDuration","abstract":"The maximum session duration (ms) that is tracked in automatic events.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC8identify10distinctId9usePeopleySS_SbtF":{"name":"identify(distinctId:usePeople:)","abstract":"Sets the distinct ID of the current user.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC11createAlias_10distinctId9usePeopleySS_SSSbtF":{"name":"createAlias(_:distinctId:usePeople:)","abstract":"The alias method creates an alias which Mixpanel will use to remap one id to another.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC5resetyyF":{"name":"reset()","abstract":"Clears all stored properties including the distinct Id.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC7archiveyyF":{"name":"archive()","abstract":"Writes current project info including the distinct Id, super properties,","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/archive()":{"name":"archive()","abstract":"Writes current project info including the distinct Id, super properties,","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC5flush10completionyyycSg_tF":{"name":"flush(completion:)","abstract":"Uploads queued data to the Mixpanel server.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC5track5event10propertiesySSSg_SDySSAA0A4Type_pGSgtF":{"name":"track(event:properties:)","abstract":"Tracks an event with properties.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC15trackWithGroups5event10properties6groupsySSSg_SDySSAA0A4Type_pGSgAKtF":{"name":"trackWithGroups(event:properties:groups:)","abstract":"Tracks an event with properties and to specific groups.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC8getGroup8groupKey0E2IDAA0D0CSS_AA0A4Type_ptF":{"name":"getGroup(groupKey:groupID:)","abstract":"Undocumented","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC4time5eventySS_tF":{"name":"time(event:)","abstract":"Starts a timer that will be stopped and added as a property when a","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC16eventElapsedTime0C0SdSS_tF":{"name":"eventElapsedTime(event:)","abstract":"Retrieves the time elapsed for the named event since time(event:) was called.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC16clearTimedEventsyyF":{"name":"clearTimedEvents()","abstract":"Clears all current event timers.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC15clearTimedEvent5eventySS_tF":{"name":"clearTimedEvent(event:)","abstract":"Clears the event timer for the named event.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC22currentSuperPropertiesSDySSypGyF":{"name":"currentSuperProperties()","abstract":"Returns the currently set super properties.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC20clearSuperPropertiesyyF":{"name":"clearSuperProperties()","abstract":"Clears all currently set super properties.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC23registerSuperPropertiesyySDySSAA0A4Type_pGF":{"name":"registerSuperProperties(_:)","abstract":"Registers super properties, overwriting ones that have already been set.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC27registerSuperPropertiesOnce_12defaultValueySDySSAA0A4Type_pG_AaF_pSgtF":{"name":"registerSuperPropertiesOnce(_:defaultValue:)","abstract":"Registers super properties without overwriting ones that have already been set,","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC23unregisterSuperPropertyyySSF":{"name":"unregisterSuperProperty(_:)","abstract":"Removes a previously registered super property.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC8setGroup8groupKey0E2IDySS_AA0A4Type_ptF":{"name":"setGroup(groupKey:groupID:)","abstract":"Convenience method to set a single group the user belongs to.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC8setGroup8groupKey0E3IDsySS_SayAA0A4Type_pGtF":{"name":"setGroup(groupKey:groupIDs:)","abstract":"Set the groups this user belongs to.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC8addGroup8groupKey0E2IDySS_AA0A4Type_ptF":{"name":"addGroup(groupKey:groupID:)","abstract":"Add a group to this user’s membership for a particular group key","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC11removeGroup8groupKey0E2IDySS_AA0A4Type_ptF":{"name":"removeGroup(groupKey:groupID:)","abstract":"Remove a group from this user’s membership for a particular group key","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC14optOutTrackingyyF":{"name":"optOutTracking()","abstract":"Opt out tracking.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC13optInTracking10distinctId10propertiesySSSg_SDySSAA0A4Type_pGSgtF":{"name":"optInTracking(distinctId:properties:)","abstract":"Opt in tracking.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC19hasOptedOutTrackingSbyF":{"name":"hasOptedOutTracking()","abstract":"Returns if the current user has opted out tracking.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC15joinExperiments8callbackyyycSg_tF":{"name":"joinExperiments(callback:)","abstract":"Join any experiments (A/B tests) that are available for the current user.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC16showNotificationyyF":{"name":"showNotification()","abstract":"Shows a notification if one is available.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC16showNotification4typeySS_tF":{"name":"showNotification(type:)","abstract":"Shows a notification with the given type if one is available.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC16showNotification2IDySi_tF":{"name":"showNotification(ID:)","abstract":"Shows a notification with the given ID","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC24fetchNotificationPayload10completionyySDySSyXlGSgc_tF":{"name":"fetchNotificationPayload(completion:)","abstract":"Returns the payload of a notification if available","parent_name":"MixpanelInstance"},"Classes/Mixpanel.html#/s:8MixpanelAAC10initialize5token13launchOptions13flushInterval12instanceName21automaticPushTracking06optOutL9ByDefaultAA0A8InstanceCSS_SDySo019UIApplicationLaunchE3KeyaypGSgSdSSS2btFZ":{"name":"initialize(token:launchOptions:flushInterval:instanceName:automaticPushTracking:optOutTrackingByDefault:)","abstract":"Initializes an instance of the API with the given project token.","parent_name":"Mixpanel"},"Classes/Mixpanel.html#/initialize(token:flushInterval:instanceName:optOutTrackingByDefault:)":{"name":"initialize(token:flushInterval:instanceName:optOutTrackingByDefault:)","abstract":"Initializes an instance of the API with the given project token (MAC OS ONLY).","parent_name":"Mixpanel"},"Classes/Mixpanel.html#/s:8MixpanelAAC11getInstance4nameAA0aC0CSgSS_tFZ":{"name":"getInstance(name:)","abstract":"Gets the mixpanel instance with the given name","parent_name":"Mixpanel"},"Classes/Mixpanel.html#/s:8MixpanelAAC12mainInstanceAA0aC0CyFZ":{"name":"mainInstance()","abstract":"Returns the main instance that was initialized.","parent_name":"Mixpanel"},"Classes/Mixpanel.html#/s:8MixpanelAAC15setMainInstance4nameySS_tFZ":{"name":"setMainInstance(name:)","abstract":"Sets the main instance based on the instance name","parent_name":"Mixpanel"},"Classes/Mixpanel.html#/s:8MixpanelAAC14removeInstance4nameySS_tFZ":{"name":"removeInstance(name:)","abstract":"Removes an unneeded Mixpanel instance based on its name","parent_name":"Mixpanel"},"Classes/Group.html#/s:8Mixpanel5GroupC3set10propertiesySDySSAA0A4Type_pG_tF":{"name":"set(properties:)","abstract":"Sets properties on this group.","parent_name":"Group"},"Classes/Group.html#/s:8Mixpanel5GroupC3set8property2toySS_AA0A4Type_ptF":{"name":"set(property:to:)","abstract":"Convenience method for setting a single property in Mixpanel Groups.","parent_name":"Group"},"Classes/Group.html#/s:8Mixpanel5GroupC7setOnce10propertiesySDySSAA0A4Type_pG_tF":{"name":"setOnce(properties:)","abstract":"Sets properties on the current Mixpanel Group, but doesn’t overwrite if","parent_name":"Group"},"Classes/Group.html#/s:8Mixpanel5GroupC5unset8propertyySS_tF":{"name":"unset(property:)","abstract":"Remove a property and its value from a group’s profile in Mixpanel Groups.","parent_name":"Group"},"Classes/Group.html#/s:8Mixpanel5GroupC6remove3key5valueySS_AA0A4Type_ptF":{"name":"remove(key:value:)","abstract":"Removes list properties.","parent_name":"Group"},"Classes/Group.html#/s:8Mixpanel5GroupC5union3key6valuesySS_SayAA0A4Type_pGtF":{"name":"union(key:values:)","abstract":"Union list properties.","parent_name":"Group"},"Classes/Group.html#/s:8Mixpanel5GroupC06deleteB0yyF":{"name":"deleteGroup()","abstract":"Delete group’s record from Mixpanel Groups.","parent_name":"Group"},"Classes/Group.html":{"name":"Group","abstract":"Access to the Mixpanel Groups API, available through the getGroup function from"},"Classes/Mixpanel.html":{"name":"Mixpanel","abstract":"The primary class for integrating Mixpanel with your app."},"Classes/MixpanelInstance.html":{"name":"MixpanelInstance","abstract":"The class that represents the Mixpanel Instance"},"Classes/MixpanelNotificationServiceExtension.html":{"name":"MixpanelNotificationServiceExtension","abstract":"Undocumented"},"Classes/People.html":{"name":"People","abstract":"Access to the Mixpanel People API, available as an accessible variable from"},"Classes/MixpanelPushNotifications.html":{"name":"MixpanelPushNotifications","abstract":"Undocumented"},"Classes.html#/s:8Mixpanel10TweakStoreC":{"name":"TweakStore","abstract":"Looks up the persisted state for tweaks."},"Classes.html":{"name":"Classes","abstract":"The following classes are available globally."},"Enums.html":{"name":"Enumerations","abstract":"The following enumerations are available globally."},"Extensions.html":{"name":"Extensions","abstract":"The following extensions are available globally."},"Functions.html":{"name":"Functions","abstract":"The following functions are available globally."},"Protocols.html":{"name":"Protocols","abstract":"The following protocols are available globally."},"Structs.html":{"name":"Structures","abstract":"The following structures are available globally."},"Typealiases.html":{"name":"Type Aliases","abstract":"The following type aliases are available globally."}} \ No newline at end of file +{"Typealiases.html#/s:8Mixpanel10Propertiesa":{"name":"Properties","abstract":"Undocumented"},"Structs/MixpanelTweaks.html#/s:8Mixpanel0A6TweaksV12defaultStoreAA05TweakD0CvpZ":{"name":"defaultStore","abstract":"The default store that holds the Tweaks","parent_name":"MixpanelTweaks"},"Structs/MixpanelTweaks.html#/s:8Mixpanel0A6TweaksV03setB06tweaksySayAA16TweakClusterType_pG_tFZ":{"name":"setTweaks(tweaks:)","abstract":"setTweaks needs to be called to add the defined Tweaks into the environment.","parent_name":"MixpanelTweaks"},"Structs/Tweak.html#/s:8Mixpanel5TweakV9tweakName12defaultValueACyxGSS_xtcfc":{"name":"init(tweakName:defaultValue:)","abstract":"Initializer for a Tweak for A/B Testing","parent_name":"Tweak"},"Structs/Tweak.html#/s:8Mixpanel5TweakV4hash4intoys6HasherVz_tF":{"name":"hash(into:)","abstract":"Hashing for a Tweak for A/B Testing in order for it to be stored.","parent_name":"Tweak"},"Structs/Tweak.html#/s:8Mixpanel16TweakClusterTypeP05tweakC0SayAA03AnyB0VGvp":{"name":"tweakCluster","parent_name":"Tweak"},"Structs/Tweak.html#/s:8Mixpanel5TweakVAASLRzs13SignedNumericRzrlE9tweakName12defaultValue3min3max8stepSizeACyxGSS_xxSgA2Ktcfc":{"name":"init(tweakName:defaultValue:min:max:stepSize:)","abstract":"Creates a Tweak where T: SignedNumberType","parent_name":"Tweak"},"Structs/AnyTweak.html#/s:SH4hash4intoys6HasherVz_tF":{"name":"hash(into:)","parent_name":"AnyTweak"},"Structs/AnyTweak.html#/s:8Mixpanel8AnyTweakV12tweakClusterSayACGvp":{"name":"tweakCluster","abstract":"Allows easy tweak initialization by clustering tweaks together for A/B Testing","parent_name":"AnyTweak"},"Structs/AnyTweak.html":{"name":"AnyTweak","abstract":"A type-erasure around Tweak for A/B Testing."},"Structs/Tweak.html":{"name":"Tweak","abstract":"Tweaks let you adjust things on the fly."},"Structs/MixpanelTweaks.html":{"name":"MixpanelTweaks","abstract":"The MixpanelTweaks struct that needs to be extended to define new Tweaks for A/B testing"},"Protocols/TweakableType.html#/s:8Mixpanel13TweakableTypeP013tweakViewDataC0AA05TweakefC0OvpZ":{"name":"tweakViewDataType","abstract":"The data type of the TweakableType","parent_name":"TweakableType"},"Protocols/TweakLibraryType.html#/s:8Mixpanel16TweakLibraryTypeP12defaultStoreAA0bF0CvpZ":{"name":"defaultStore","abstract":"the default tweak store","parent_name":"TweakLibraryType"},"Protocols/TweakLibraryType.html#/s:8Mixpanel16TweakLibraryTypePAAE6assignyqd__AA0B0Vyqd__GAA09TweakableD0Rd__lFZ":{"name":"assign(_:)","abstract":"Returns the current value for a tweak from the TweakLibrary’s default store.","parent_name":"TweakLibraryType"},"Protocols/TweakLibraryType.html#/s:8Mixpanel16TweakLibraryTypePAAE4bind_7bindingyAA0B0Vyqd__G_yqd__ctAA09TweakableD0Rd__lFZ":{"name":"bind(_:binding:)","abstract":"Immediately binds the currentValue of a given tweak, and then continues to update whenever the tweak changes.","parent_name":"TweakLibraryType"},"Protocols/TweakClusterType.html#/s:8Mixpanel16TweakClusterTypeP05tweakC0SayAA03AnyB0VGvp":{"name":"tweakCluster","abstract":"The tweak cluster to allow easy initialization of Tweaks","parent_name":"TweakClusterType"},"Protocols/MixpanelType.html#/s:8Mixpanel0A4TypeP013isValidNestedB8AndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"Checks if this object has nested object types that Mixpanel supports.","parent_name":"MixpanelType"},"Protocols/MixpanelType.html#/s:8Mixpanel0A4TypeP6equals3rhsSbAaB_p_tF":{"name":"equals(rhs:)","abstract":"Undocumented","parent_name":"MixpanelType"},"Protocols/MixpanelDelegate.html#/s:8Mixpanel0A8DelegateP17mixpanelWillFlushySbAA0A8InstanceCF":{"name":"mixpanelWillFlush(_:)","abstract":"Asks the delegate if data should be uploaded to the server.","parent_name":"MixpanelDelegate"},"Protocols/MixpanelDelegate.html":{"name":"MixpanelDelegate","abstract":"Delegate protocol for controlling the Mixpanel API’s network behavior."},"Protocols/MixpanelType.html":{"name":"MixpanelType","abstract":"Property keys must be String objects and the supported value types need to conform to MixpanelType."},"Protocols/TweakClusterType.html":{"name":"TweakClusterType","abstract":"This protocol allows for easy initialization of TweakStore."},"Protocols/TweakLibraryType.html":{"name":"TweakLibraryType","abstract":"Create a public struct in your application that conforms to this protocol to declare your own tweaks!"},"Protocols/TweakableType.html":{"name":"TweakableType","abstract":"To add a new to our Tweak, make T conform to this protocol."},"Functions.html#/s:8Mixpanel2eeoiySbAA8AnyTweakV_ADtF":{"name":"==(_:_:)","abstract":"Comparator between two tweaks for A/B Testing."},"Functions.html#/s:8Mixpanel2eeoiySbAA5TweakVyxG_AEtAA13TweakableTypeRzlF":{"name":"==(_:_:)","abstract":"Comparator between two tweaks for A/B Testing."},"Extensions/CGFloat.html#/s:12CoreGraphics7CGFloatV8MixpanelE17tweakViewDataTypeAD05TweakfgH0OvpZ":{"name":"tweakViewDataType","abstract":"TweakableType supports the cgFloat type","parent_name":"CGFloat"},"Extensions/Dictionary.html#/s:SD8MixpanelE25isValidNestedTypeAndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"Checks if this object has nested object types that Mixpanel supports.","parent_name":"Dictionary"},"Extensions/Dictionary.html#/s:SD8MixpanelE6equals3rhsSbAA0A4Type_p_tF":{"name":"equals(rhs:)","abstract":"Undocumented","parent_name":"Dictionary"},"Extensions/NSArray.html#/s:So7NSArrayC8MixpanelE25isValidNestedTypeAndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"Checks if this object has nested object types that Mixpanel supports.","parent_name":"NSArray"},"Extensions/NSArray.html#/s:So7NSArrayC8MixpanelE6equals3rhsSbAC0B4Type_p_tF":{"name":"equals(rhs:)","abstract":"Undocumented","parent_name":"NSArray"},"Extensions/NSNull.html#/s:So6NSNullC8MixpanelE25isValidNestedTypeAndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"Checks if this object has nested object types that Mixpanel supports.","parent_name":"NSNull"},"Extensions/NSNull.html#/s:So6NSNullC8MixpanelE6equals3rhsSbAC0B4Type_p_tF":{"name":"equals(rhs:)","abstract":"Undocumented","parent_name":"NSNull"},"Extensions/URL.html#/s:10Foundation3URLV8MixpanelE25isValidNestedTypeAndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"Checks if this object has nested object types that Mixpanel supports.","parent_name":"URL"},"Extensions/URL.html#/s:10Foundation3URLV8MixpanelE6equals3rhsSbAD0C4Type_p_tF":{"name":"equals(rhs:)","abstract":"Undocumented","parent_name":"URL"},"Extensions/Date.html#/s:10Foundation4DateV8MixpanelE25isValidNestedTypeAndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"Checks if this object has nested object types that Mixpanel supports.","parent_name":"Date"},"Extensions/Date.html#/s:10Foundation4DateV8MixpanelE6equals3rhsSbAD0C4Type_p_tF":{"name":"equals(rhs:)","abstract":"Undocumented","parent_name":"Date"},"Extensions/Bool.html#/s:Sb8MixpanelE25isValidNestedTypeAndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"Checks if this object has nested object types that Mixpanel supports.","parent_name":"Bool"},"Extensions/Bool.html#/s:Sb8MixpanelE6equals3rhsSbAA0A4Type_p_tF":{"name":"equals(rhs:)","abstract":"Undocumented","parent_name":"Bool"},"Extensions/Bool.html#/s:Sb8MixpanelE17tweakViewDataTypeAA05TweakcdE0OvpZ":{"name":"tweakViewDataType","abstract":"TweakableType supports the boolean type","parent_name":"Bool"},"Extensions/Float.html#/s:Sf8MixpanelE25isValidNestedTypeAndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"Checks if this object has nested object types that Mixpanel supports.","parent_name":"Float"},"Extensions/Float.html#/s:Sf8MixpanelE6equals3rhsSbAA0A4Type_p_tF":{"name":"equals(rhs:)","abstract":"Undocumented","parent_name":"Float"},"Extensions/Double.html#/s:Sd8MixpanelE25isValidNestedTypeAndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"Checks if this object has nested object types that Mixpanel supports.","parent_name":"Double"},"Extensions/Double.html#/s:Sd8MixpanelE6equals3rhsSbAA0A4Type_p_tF":{"name":"equals(rhs:)","abstract":"Undocumented","parent_name":"Double"},"Extensions/Double.html#/s:Sd8MixpanelE17tweakViewDataTypeAA05TweakcdE0OvpZ":{"name":"tweakViewDataType","abstract":"TweakableType supports the double type","parent_name":"Double"},"Extensions/UInt.html#/s:Su8MixpanelE25isValidNestedTypeAndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"Checks if this object has nested object types that Mixpanel supports.","parent_name":"UInt"},"Extensions/UInt.html#/s:Su8MixpanelE6equals3rhsSbAA0A4Type_p_tF":{"name":"equals(rhs:)","abstract":"Undocumented","parent_name":"UInt"},"Extensions/Int.html#/s:Si8MixpanelE25isValidNestedTypeAndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"Checks if this object has nested object types that Mixpanel supports.","parent_name":"Int"},"Extensions/Int.html#/s:Si8MixpanelE6equals3rhsSbAA0A4Type_p_tF":{"name":"equals(rhs:)","abstract":"Undocumented","parent_name":"Int"},"Extensions/Int.html#/s:Si8MixpanelE17tweakViewDataTypeAA05TweakcdE0OvpZ":{"name":"tweakViewDataType","abstract":"TweakableType supports the integer type","parent_name":"Int"},"Extensions/NSNumber.html#/s:So8NSNumberC8MixpanelE25isValidNestedTypeAndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"Checks if this object has nested object types that Mixpanel supports.","parent_name":"NSNumber"},"Extensions/NSNumber.html#/s:So8NSNumberC8MixpanelE6equals3rhsSbAC0B4Type_p_tF":{"name":"equals(rhs:)","abstract":"Undocumented","parent_name":"NSNumber"},"Extensions/NSString.html#/s:So8NSStringC8MixpanelE25isValidNestedTypeAndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"Checks if this object has nested object types that Mixpanel supports.","parent_name":"NSString"},"Extensions/NSString.html#/s:So8NSStringC8MixpanelE6equals3rhsSbAC0B4Type_p_tF":{"name":"equals(rhs:)","abstract":"Undocumented","parent_name":"NSString"},"Extensions/String.html#/s:SS8MixpanelE25isValidNestedTypeAndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"Checks if this object has nested object types that Mixpanel supports.","parent_name":"String"},"Extensions/String.html#/s:SS8MixpanelE6equals3rhsSbAA0A4Type_p_tF":{"name":"equals(rhs:)","abstract":"Undocumented","parent_name":"String"},"Extensions/String.html#/s:SS8MixpanelE17tweakViewDataTypeAA05TweakcdE0OvpZ":{"name":"tweakViewDataType","abstract":"TweakableType supports the string type","parent_name":"String"},"Extensions/Optional.html#/s:Sq8MixpanelE25isValidNestedTypeAndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"Checks if this object has nested object types that Mixpanel supports.","parent_name":"Optional"},"Extensions/Optional.html#/s:Sq8MixpanelE6equals3rhsSbAA0A4Type_p_tF":{"name":"equals(rhs:)","abstract":"Undocumented","parent_name":"Optional"},"Extensions/Array.html#/s:Sa8MixpanelE25isValidNestedTypeAndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"Checks if this object has nested object types that Mixpanel supports.","parent_name":"Array"},"Extensions/Array.html#/s:Sa8MixpanelE6equals3rhsSbAA0A4Type_p_tF":{"name":"equals(rhs:)","abstract":"Undocumented","parent_name":"Array"},"Extensions/UIColor.html#/s:So7UIColorC8MixpanelE5MPHexABSu_tcfc":{"name":"init(MPHex:)","abstract":"The shorthand four-digit hexadecimal representation of color with alpha.","parent_name":"UIColor"},"Extensions/UIColor.html":{"name":"UIColor"},"Extensions/Array.html":{"name":"Array"},"Extensions/Optional.html":{"name":"Optional"},"Extensions/String.html":{"name":"String"},"Extensions/NSString.html":{"name":"NSString"},"Extensions/NSNumber.html":{"name":"NSNumber"},"Extensions/Int.html":{"name":"Int"},"Extensions/UInt.html":{"name":"UInt"},"Extensions/Double.html":{"name":"Double"},"Extensions/Float.html":{"name":"Float"},"Extensions/Bool.html":{"name":"Bool"},"Extensions/Date.html":{"name":"Date"},"Extensions/URL.html":{"name":"URL"},"Extensions/NSNull.html":{"name":"NSNull"},"Extensions/NSArray.html":{"name":"NSArray"},"Extensions/Dictionary.html":{"name":"Dictionary"},"Extensions/CGFloat.html":{"name":"CGFloat"},"Enums/TweakViewDataType.html#/s:8Mixpanel17TweakViewDataTypeO7booleanyA2CmF":{"name":"boolean","abstract":"TweakableType supports the boolean type","parent_name":"TweakViewDataType"},"Enums/TweakViewDataType.html#/s:8Mixpanel17TweakViewDataTypeO7integeryA2CmF":{"name":"integer","abstract":"TweakableType supports the integer type","parent_name":"TweakViewDataType"},"Enums/TweakViewDataType.html#/s:8Mixpanel17TweakViewDataTypeO7cgFloatyA2CmF":{"name":"cgFloat","abstract":"TweakableType supports the cgFloat type","parent_name":"TweakViewDataType"},"Enums/TweakViewDataType.html#/s:8Mixpanel17TweakViewDataTypeO6doubleyA2CmF":{"name":"double","abstract":"TweakableType supports the double type","parent_name":"TweakViewDataType"},"Enums/TweakViewDataType.html#/s:8Mixpanel17TweakViewDataTypeO6stringyA2CmF":{"name":"string","abstract":"TweakableType supports the string type","parent_name":"TweakViewDataType"},"Enums/TweakViewDataType.html":{"name":"TweakViewDataType","abstract":"The data types that are currently supported for SwiftTweaks."},"Classes/MixpanelPushNotifications.html#/s:8Mixpanel0A17PushNotificationsC02isaB12NotificationySbSo21UNNotificationContentCFZ":{"name":"isMixpanelPushNotification(_:)","abstract":"Undocumented","parent_name":"MixpanelPushNotifications"},"Classes/MixpanelPushNotifications.html#/s:8Mixpanel0A17PushNotificationsC10trackEvent_10properties7requestySS_SDySSAA0A4Type_pGSo21UNNotificationRequestCtFZ":{"name":"trackEvent(_:properties:request:)","abstract":"Undocumented","parent_name":"MixpanelPushNotifications"},"Classes/People.html#/s:8Mixpanel6PeopleC10ignoreTimeSbvp":{"name":"ignoreTime","abstract":"controls the $ignore_time property in any subsequent MixpanelPeople operation.","parent_name":"People"},"Classes/People.html#/s:8Mixpanel6PeopleC18addPushDeviceTokenyy10Foundation4DataVF":{"name":"addPushDeviceToken(_:)","abstract":"Register the given device to receive push notifications.","parent_name":"People"},"Classes/People.html#/s:8Mixpanel6PeopleC25removeAllPushDeviceTokensyyF":{"name":"removeAllPushDeviceTokens()","abstract":"Unregister the given device to receive push notifications.","parent_name":"People"},"Classes/People.html#/s:8Mixpanel6PeopleC21removePushDeviceTokenyy10Foundation4DataVF":{"name":"removePushDeviceToken(_:)","abstract":"Unregister a specific device token from the ability to receive push notifications.","parent_name":"People"},"Classes/People.html#/s:8Mixpanel6PeopleC3set10propertiesySDySSAA0A4Type_pG_tF":{"name":"set(properties:)","abstract":"Set properties on the current user in Mixpanel People.","parent_name":"People"},"Classes/People.html#/s:8Mixpanel6PeopleC3set8property2toySS_AA0A4Type_ptF":{"name":"set(property:to:)","abstract":"Convenience method for setting a single property in Mixpanel People.","parent_name":"People"},"Classes/People.html#/s:8Mixpanel6PeopleC7setOnce10propertiesySDySSAA0A4Type_pG_tF":{"name":"setOnce(properties:)","abstract":"Set properties on the current user in Mixpanel People, but doesn’t overwrite if","parent_name":"People"},"Classes/People.html#/s:8Mixpanel6PeopleC5unset10propertiesySaySSG_tF":{"name":"unset(properties:)","abstract":"Remove a list of properties and their values from the current user’s profile","parent_name":"People"},"Classes/People.html#/s:8Mixpanel6PeopleC9increment10propertiesySDySSAA0A4Type_pG_tF":{"name":"increment(properties:)","abstract":"Increment the given numeric properties by the given values.","parent_name":"People"},"Classes/People.html#/s:8Mixpanel6PeopleC9increment8property2byySS_SdtF":{"name":"increment(property:by:)","abstract":"Convenience method for incrementing a single numeric property by the specified","parent_name":"People"},"Classes/People.html#/s:8Mixpanel6PeopleC6append10propertiesySDySSAA0A4Type_pG_tF":{"name":"append(properties:)","abstract":"Append values to list properties.","parent_name":"People"},"Classes/People.html#/s:8Mixpanel6PeopleC6remove10propertiesySDySSAA0A4Type_pG_tF":{"name":"remove(properties:)","abstract":"Removes list properties.","parent_name":"People"},"Classes/People.html#/s:8Mixpanel6PeopleC5union10propertiesySDySSAA0A4Type_pG_tF":{"name":"union(properties:)","abstract":"Union list properties.","parent_name":"People"},"Classes/People.html#/s:8Mixpanel6PeopleC11trackCharge6amount10propertiesySd_SDySSAA0A4Type_pGSgtF":{"name":"trackCharge(amount:properties:)","abstract":"Track money spent by the current user for revenue analytics and associate","parent_name":"People"},"Classes/People.html#/s:8Mixpanel6PeopleC12clearChargesyyF":{"name":"clearCharges()","abstract":"Delete current user’s revenue history.","parent_name":"People"},"Classes/People.html#/s:8Mixpanel6PeopleC10deleteUseryyF":{"name":"deleteUser()","abstract":"Delete current user’s record from Mixpanel People.","parent_name":"People"},"Classes/MixpanelNotificationServiceExtension.html#/c:@M@Mixpanel@objc(cs)MixpanelNotificationServiceExtension(im)didReceiveNotificationRequest:withContentHandler:":{"name":"didReceive(_:withContentHandler:)","abstract":"Undocumented","parent_name":"MixpanelNotificationServiceExtension"},"Classes/MixpanelNotificationServiceExtension.html#/c:@M@Mixpanel@objc(cs)MixpanelNotificationServiceExtension(im)serviceExtensionTimeWillExpire":{"name":"serviceExtensionTimeWillExpire()","abstract":"Undocumented","parent_name":"MixpanelNotificationServiceExtension"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC8apiTokenSSvp":{"name":"apiToken","abstract":"apiToken string that identifies the project to track data to","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC8delegateAA0A8Delegate_pSgvp":{"name":"delegate","abstract":"The a MixpanelDelegate object that gives control over Mixpanel network activity.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC10distinctIdSSvp":{"name":"distinctId","abstract":"distinctId string that uniquely identifies the current user.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC11anonymousIdSSSgvp":{"name":"anonymousId","abstract":"anonymousId string that uniquely identifies the device.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC6userIdSSSgvp":{"name":"userId","abstract":"userId string that identify is called with.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC22hadPersistedDistinctIdSbSgvp":{"name":"hadPersistedDistinctId","abstract":"hadPersistedDistinctId is a boolean value which specifies that the stored distinct_id","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC5aliasSSSgvp":{"name":"alias","abstract":"alias string that uniquely identifies the current user.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC6peopleAA6PeopleCSgvp":{"name":"people","abstract":"Accessor to the Mixpanel People API object.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC28showNetworkActivityIndicatorSbvp":{"name":"showNetworkActivityIndicator","abstract":"Controls whether to show spinning network activity indicator when flushing","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC27trackAutomaticEventsEnabledSbSgvp":{"name":"trackAutomaticEventsEnabled","abstract":"This allows enabling or disabling collecting common mobile events","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC13flushIntervalSdvp":{"name":"flushInterval","abstract":"Flush timer’s interval.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC17flushOnBackgroundSbvp":{"name":"flushOnBackground","abstract":"Control whether the library should flush data to Mixpanel when the app","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC26useIPAddressForGeoLocationSbvp":{"name":"useIPAddressForGeoLocation","abstract":"Controls whether to automatically send the client IP Address as part of","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC9serverURLSSvp":{"name":"serverURL","abstract":"The base URL used for Mixpanel API requests.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:s28CustomDebugStringConvertibleP16debugDescriptionSSvp":{"name":"debugDescription","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC14loggingEnabledSbvp":{"name":"loggingEnabled","abstract":"This allows enabling or disabling of all Mixpanel logs at run time.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC4nameSSvp":{"name":"name","abstract":"A unique identifier for this MixpanelInstance","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC29enableVisualEditorForCodelessSbvp":{"name":"enableVisualEditorForCodeless","abstract":"Controls whether to enable the visual editor for codeless on mixpanel.com","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC24checkForVariantsOnActiveSbvp":{"name":"checkForVariantsOnActive","abstract":"Controls whether to automatically check for A/B test variants for the","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC28checkForNotificationOnActiveSbvp":{"name":"checkForNotificationOnActive","abstract":"Controls whether to automatically check for notifications for the","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC24showNotificationOnActiveSbvp":{"name":"showNotificationOnActive","abstract":"Controls whether to automatically check for and show in-app notifications","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC32miniNotificationPresentationTimeSdvp":{"name":"miniNotificationPresentationTime","abstract":"Determines the time, in seconds, that a mini notification will remain on","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC22minimumSessionDurations6UInt64Vvp":{"name":"minimumSessionDuration","abstract":"The minimum session duration (ms) that is tracked in automatic events.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC22maximumSessionDurations6UInt64Vvp":{"name":"maximumSessionDuration","abstract":"The maximum session duration (ms) that is tracked in automatic events.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC8identify10distinctId9usePeople10completionySS_SbyycSgtF":{"name":"identify(distinctId:usePeople:completion:)","abstract":"Sets the distinct ID of the current user.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC11createAlias_10distinctId9usePeople10completionySS_SSSbyycSgtF":{"name":"createAlias(_:distinctId:usePeople:completion:)","abstract":"The alias method creates an alias which Mixpanel will use to remap one id to another.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC5reset10completionyyycSg_tF":{"name":"reset(completion:)","abstract":"Clears all stored properties including the distinct Id.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC7archiveyyF":{"name":"archive()","abstract":"Writes current project info including the distinct Id, super properties,","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/archive()":{"name":"archive()","abstract":"Writes current project info including the distinct Id, super properties,","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC5flush10completionyyycSg_tF":{"name":"flush(completion:)","abstract":"Uploads queued data to the Mixpanel server.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC5track5event10propertiesySSSg_SDySSAA0A4Type_pGSgtF":{"name":"track(event:properties:)","abstract":"Tracks an event with properties.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC15trackWithGroups5event10properties6groupsySSSg_SDySSAA0A4Type_pGSgAKtF":{"name":"trackWithGroups(event:properties:groups:)","abstract":"Tracks an event with properties and to specific groups.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC8getGroup8groupKey0E2IDAA0D0CSS_AA0A4Type_ptF":{"name":"getGroup(groupKey:groupID:)","abstract":"Undocumented","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC4time5eventySS_tF":{"name":"time(event:)","abstract":"Starts a timer that will be stopped and added as a property when a","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC16eventElapsedTime0C0SdSS_tF":{"name":"eventElapsedTime(event:)","abstract":"Retrieves the time elapsed for the named event since time(event:) was called.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC16clearTimedEventsyyF":{"name":"clearTimedEvents()","abstract":"Clears all current event timers.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC15clearTimedEvent5eventySS_tF":{"name":"clearTimedEvent(event:)","abstract":"Clears the event timer for the named event.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC22currentSuperPropertiesSDySSypGyF":{"name":"currentSuperProperties()","abstract":"Returns the currently set super properties.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC20clearSuperPropertiesyyF":{"name":"clearSuperProperties()","abstract":"Clears all currently set super properties.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC23registerSuperPropertiesyySDySSAA0A4Type_pGF":{"name":"registerSuperProperties(_:)","abstract":"Registers super properties, overwriting ones that have already been set.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC27registerSuperPropertiesOnce_12defaultValueySDySSAA0A4Type_pG_AaF_pSgtF":{"name":"registerSuperPropertiesOnce(_:defaultValue:)","abstract":"Registers super properties without overwriting ones that have already been set,","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC23unregisterSuperPropertyyySSF":{"name":"unregisterSuperProperty(_:)","abstract":"Removes a previously registered super property.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC8setGroup8groupKey0E2IDySS_AA0A4Type_ptF":{"name":"setGroup(groupKey:groupID:)","abstract":"Convenience method to set a single group the user belongs to.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC8setGroup8groupKey0E3IDsySS_SayAA0A4Type_pGtF":{"name":"setGroup(groupKey:groupIDs:)","abstract":"Set the groups this user belongs to.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC8addGroup8groupKey0E2IDySS_AA0A4Type_ptF":{"name":"addGroup(groupKey:groupID:)","abstract":"Add a group to this user’s membership for a particular group key","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC11removeGroup8groupKey0E2IDySS_AA0A4Type_ptF":{"name":"removeGroup(groupKey:groupID:)","abstract":"Remove a group from this user’s membership for a particular group key","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC14optOutTrackingyyF":{"name":"optOutTracking()","abstract":"Opt out tracking.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC13optInTracking10distinctId10propertiesySSSg_SDySSAA0A4Type_pGSgtF":{"name":"optInTracking(distinctId:properties:)","abstract":"Opt in tracking.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC19hasOptedOutTrackingSbyF":{"name":"hasOptedOutTracking()","abstract":"Returns if the current user has opted out tracking.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC15joinExperiments8callbackyyycSg_tF":{"name":"joinExperiments(callback:)","abstract":"Join any experiments (A/B tests) that are available for the current user.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC16showNotificationyyF":{"name":"showNotification()","abstract":"Shows a notification if one is available.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC16showNotification4typeySS_tF":{"name":"showNotification(type:)","abstract":"Shows a notification with the given type if one is available.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC16showNotification2IDySi_tF":{"name":"showNotification(ID:)","abstract":"Shows a notification with the given ID","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC24fetchNotificationPayload10completionyySDySSyXlGSgc_tF":{"name":"fetchNotificationPayload(completion:)","abstract":"Returns the payload of a notification if available","parent_name":"MixpanelInstance"},"Classes/Mixpanel.html#/s:8MixpanelAAC10initialize5token13launchOptions13flushInterval12instanceName21automaticPushTracking06optOutL9ByDefaultAA0A8InstanceCSS_SDySo019UIApplicationLaunchE3KeyaypGSgSdSSS2btFZ":{"name":"initialize(token:launchOptions:flushInterval:instanceName:automaticPushTracking:optOutTrackingByDefault:)","abstract":"Initializes an instance of the API with the given project token.","parent_name":"Mixpanel"},"Classes/Mixpanel.html#/initialize(token:flushInterval:instanceName:optOutTrackingByDefault:)":{"name":"initialize(token:flushInterval:instanceName:optOutTrackingByDefault:)","abstract":"Initializes an instance of the API with the given project token (MAC OS ONLY).","parent_name":"Mixpanel"},"Classes/Mixpanel.html#/s:8MixpanelAAC11getInstance4nameAA0aC0CSgSS_tFZ":{"name":"getInstance(name:)","abstract":"Gets the mixpanel instance with the given name","parent_name":"Mixpanel"},"Classes/Mixpanel.html#/s:8MixpanelAAC12mainInstanceAA0aC0CyFZ":{"name":"mainInstance()","abstract":"Returns the main instance that was initialized.","parent_name":"Mixpanel"},"Classes/Mixpanel.html#/s:8MixpanelAAC15setMainInstance4nameySS_tFZ":{"name":"setMainInstance(name:)","abstract":"Sets the main instance based on the instance name","parent_name":"Mixpanel"},"Classes/Mixpanel.html#/s:8MixpanelAAC14removeInstance4nameySS_tFZ":{"name":"removeInstance(name:)","abstract":"Removes an unneeded Mixpanel instance based on its name","parent_name":"Mixpanel"},"Classes/Group.html#/s:8Mixpanel5GroupC3set10propertiesySDySSAA0A4Type_pG_tF":{"name":"set(properties:)","abstract":"Sets properties on this group.","parent_name":"Group"},"Classes/Group.html#/s:8Mixpanel5GroupC3set8property2toySS_AA0A4Type_ptF":{"name":"set(property:to:)","abstract":"Convenience method for setting a single property in Mixpanel Groups.","parent_name":"Group"},"Classes/Group.html#/s:8Mixpanel5GroupC7setOnce10propertiesySDySSAA0A4Type_pG_tF":{"name":"setOnce(properties:)","abstract":"Sets properties on the current Mixpanel Group, but doesn’t overwrite if","parent_name":"Group"},"Classes/Group.html#/s:8Mixpanel5GroupC5unset8propertyySS_tF":{"name":"unset(property:)","abstract":"Remove a property and its value from a group’s profile in Mixpanel Groups.","parent_name":"Group"},"Classes/Group.html#/s:8Mixpanel5GroupC6remove3key5valueySS_AA0A4Type_ptF":{"name":"remove(key:value:)","abstract":"Removes list properties.","parent_name":"Group"},"Classes/Group.html#/s:8Mixpanel5GroupC5union3key6valuesySS_SayAA0A4Type_pGtF":{"name":"union(key:values:)","abstract":"Union list properties.","parent_name":"Group"},"Classes/Group.html#/s:8Mixpanel5GroupC06deleteB0yyF":{"name":"deleteGroup()","abstract":"Delete group’s record from Mixpanel Groups.","parent_name":"Group"},"Classes/Group.html":{"name":"Group","abstract":"Access to the Mixpanel Groups API, available through the getGroup function from"},"Classes/Mixpanel.html":{"name":"Mixpanel","abstract":"The primary class for integrating Mixpanel with your app."},"Classes/MixpanelInstance.html":{"name":"MixpanelInstance","abstract":"The class that represents the Mixpanel Instance"},"Classes/MixpanelNotificationServiceExtension.html":{"name":"MixpanelNotificationServiceExtension","abstract":"Undocumented"},"Classes/People.html":{"name":"People","abstract":"Access to the Mixpanel People API, available as an accessible variable from"},"Classes/MixpanelPushNotifications.html":{"name":"MixpanelPushNotifications","abstract":"Undocumented"},"Classes.html#/s:8Mixpanel10TweakStoreC":{"name":"TweakStore","abstract":"Looks up the persisted state for tweaks."},"Classes.html":{"name":"Classes","abstract":"The following classes are available globally."},"Enums.html":{"name":"Enumerations","abstract":"The following enumerations are available globally."},"Extensions.html":{"name":"Extensions","abstract":"The following extensions are available globally."},"Functions.html":{"name":"Functions","abstract":"The following functions are available globally."},"Protocols.html":{"name":"Protocols","abstract":"The following protocols are available globally."},"Structs.html":{"name":"Structures","abstract":"The following structures are available globally."},"Typealiases.html":{"name":"Type Aliases","abstract":"The following type aliases are available globally."}} \ No newline at end of file diff --git a/docs/undocumented.json b/docs/undocumented.json index 1e31bd6a..75baf9b9 100644 --- a/docs/undocumented.json +++ b/docs/undocumented.json @@ -9,7 +9,7 @@ }, { "file": "/Users/zihejia/Documents/Projects/Develop/mixpanel-swift/Sources/MixpanelInstance.swift", - "line": 1296, + "line": 1335, "symbol": "MixpanelInstance.getGroup(groupKey:groupID:)", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented"
Creates a Tweak where T: SignedNumberType","parent_name":"Tweak"},"Structs/AnyTweak.html#/s:SH4hash4intoys6HasherVz_tF":{"name":"hash(into:)","parent_name":"AnyTweak"},"Structs/AnyTweak.html#/s:8Mixpanel8AnyTweakV12tweakClusterSayACGvp":{"name":"tweakCluster","abstract":"Allows easy tweak initialization by clustering tweaks together for A/B Testing","parent_name":"AnyTweak"},"Structs/AnyTweak.html":{"name":"AnyTweak","abstract":"A type-erasure around Tweak for A/B Testing."},"Structs/Tweak.html":{"name":"Tweak","abstract":"Tweaks let you adjust things on the fly."},"Structs/MixpanelTweaks.html":{"name":"MixpanelTweaks","abstract":"The MixpanelTweaks struct that needs to be extended to define new Tweaks for A/B testing"},"Protocols/TweakableType.html#/s:8Mixpanel13TweakableTypeP013tweakViewDataC0AA05TweakefC0OvpZ":{"name":"tweakViewDataType","abstract":"The data type of the TweakableType","parent_name":"TweakableType"},"Protocols/TweakLibraryType.html#/s:8Mixpanel16TweakLibraryTypeP12defaultStoreAA0bF0CvpZ":{"name":"defaultStore","abstract":"the default tweak store","parent_name":"TweakLibraryType"},"Protocols/TweakLibraryType.html#/s:8Mixpanel16TweakLibraryTypePAAE6assignyqd__AA0B0Vyqd__GAA09TweakableD0Rd__lFZ":{"name":"assign(_:)","abstract":"Returns the current value for a tweak from the TweakLibrary’s default store.","parent_name":"TweakLibraryType"},"Protocols/TweakLibraryType.html#/s:8Mixpanel16TweakLibraryTypePAAE4bind_7bindingyAA0B0Vyqd__G_yqd__ctAA09TweakableD0Rd__lFZ":{"name":"bind(_:binding:)","abstract":"Immediately binds the currentValue of a given tweak, and then continues to update whenever the tweak changes.","parent_name":"TweakLibraryType"},"Protocols/TweakClusterType.html#/s:8Mixpanel16TweakClusterTypeP05tweakC0SayAA03AnyB0VGvp":{"name":"tweakCluster","abstract":"The tweak cluster to allow easy initialization of Tweaks","parent_name":"TweakClusterType"},"Protocols/MixpanelType.html#/s:8Mixpanel0A4TypeP013isValidNestedB8AndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"Checks if this object has nested object types that Mixpanel supports.","parent_name":"MixpanelType"},"Protocols/MixpanelType.html#/s:8Mixpanel0A4TypeP6equals3rhsSbAaB_p_tF":{"name":"equals(rhs:)","abstract":"Undocumented","parent_name":"MixpanelType"},"Protocols/MixpanelDelegate.html#/s:8Mixpanel0A8DelegateP17mixpanelWillFlushySbAA0A8InstanceCF":{"name":"mixpanelWillFlush(_:)","abstract":"Asks the delegate if data should be uploaded to the server.","parent_name":"MixpanelDelegate"},"Protocols/MixpanelDelegate.html":{"name":"MixpanelDelegate","abstract":"Delegate protocol for controlling the Mixpanel API’s network behavior."},"Protocols/MixpanelType.html":{"name":"MixpanelType","abstract":"Property keys must be String objects and the supported value types need to conform to MixpanelType."},"Protocols/TweakClusterType.html":{"name":"TweakClusterType","abstract":"This protocol allows for easy initialization of TweakStore."},"Protocols/TweakLibraryType.html":{"name":"TweakLibraryType","abstract":"Create a public struct in your application that conforms to this protocol to declare your own tweaks!"},"Protocols/TweakableType.html":{"name":"TweakableType","abstract":"To add a new to our Tweak, make T conform to this protocol."},"Functions.html#/s:8Mixpanel2eeoiySbAA8AnyTweakV_ADtF":{"name":"==(_:_:)","abstract":"Comparator between two tweaks for A/B Testing."},"Functions.html#/s:8Mixpanel2eeoiySbAA5TweakVyxG_AEtAA13TweakableTypeRzlF":{"name":"==(_:_:)","abstract":"Comparator between two tweaks for A/B Testing."},"Extensions/CGFloat.html#/s:12CoreGraphics7CGFloatV8MixpanelE17tweakViewDataTypeAD05TweakfgH0OvpZ":{"name":"tweakViewDataType","abstract":"TweakableType supports the cgFloat type","parent_name":"CGFloat"},"Extensions/Dictionary.html#/s:SD8MixpanelE25isValidNestedTypeAndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"Checks if this object has nested object types that Mixpanel supports.","parent_name":"Dictionary"},"Extensions/Dictionary.html#/s:SD8MixpanelE6equals3rhsSbAA0A4Type_p_tF":{"name":"equals(rhs:)","abstract":"Undocumented","parent_name":"Dictionary"},"Extensions/NSArray.html#/s:So7NSArrayC8MixpanelE25isValidNestedTypeAndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"Checks if this object has nested object types that Mixpanel supports.","parent_name":"NSArray"},"Extensions/NSArray.html#/s:So7NSArrayC8MixpanelE6equals3rhsSbAC0B4Type_p_tF":{"name":"equals(rhs:)","abstract":"Undocumented","parent_name":"NSArray"},"Extensions/NSNull.html#/s:So6NSNullC8MixpanelE25isValidNestedTypeAndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"Checks if this object has nested object types that Mixpanel supports.","parent_name":"NSNull"},"Extensions/NSNull.html#/s:So6NSNullC8MixpanelE6equals3rhsSbAC0B4Type_p_tF":{"name":"equals(rhs:)","abstract":"Undocumented","parent_name":"NSNull"},"Extensions/URL.html#/s:10Foundation3URLV8MixpanelE25isValidNestedTypeAndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"Checks if this object has nested object types that Mixpanel supports.","parent_name":"URL"},"Extensions/URL.html#/s:10Foundation3URLV8MixpanelE6equals3rhsSbAD0C4Type_p_tF":{"name":"equals(rhs:)","abstract":"Undocumented","parent_name":"URL"},"Extensions/Date.html#/s:10Foundation4DateV8MixpanelE25isValidNestedTypeAndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"Checks if this object has nested object types that Mixpanel supports.","parent_name":"Date"},"Extensions/Date.html#/s:10Foundation4DateV8MixpanelE6equals3rhsSbAD0C4Type_p_tF":{"name":"equals(rhs:)","abstract":"Undocumented","parent_name":"Date"},"Extensions/Bool.html#/s:Sb8MixpanelE25isValidNestedTypeAndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"Checks if this object has nested object types that Mixpanel supports.","parent_name":"Bool"},"Extensions/Bool.html#/s:Sb8MixpanelE6equals3rhsSbAA0A4Type_p_tF":{"name":"equals(rhs:)","abstract":"Undocumented","parent_name":"Bool"},"Extensions/Bool.html#/s:Sb8MixpanelE17tweakViewDataTypeAA05TweakcdE0OvpZ":{"name":"tweakViewDataType","abstract":"TweakableType supports the boolean type","parent_name":"Bool"},"Extensions/Float.html#/s:Sf8MixpanelE25isValidNestedTypeAndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"Checks if this object has nested object types that Mixpanel supports.","parent_name":"Float"},"Extensions/Float.html#/s:Sf8MixpanelE6equals3rhsSbAA0A4Type_p_tF":{"name":"equals(rhs:)","abstract":"Undocumented","parent_name":"Float"},"Extensions/Double.html#/s:Sd8MixpanelE25isValidNestedTypeAndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"Checks if this object has nested object types that Mixpanel supports.","parent_name":"Double"},"Extensions/Double.html#/s:Sd8MixpanelE6equals3rhsSbAA0A4Type_p_tF":{"name":"equals(rhs:)","abstract":"Undocumented","parent_name":"Double"},"Extensions/Double.html#/s:Sd8MixpanelE17tweakViewDataTypeAA05TweakcdE0OvpZ":{"name":"tweakViewDataType","abstract":"TweakableType supports the double type","parent_name":"Double"},"Extensions/UInt.html#/s:Su8MixpanelE25isValidNestedTypeAndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"Checks if this object has nested object types that Mixpanel supports.","parent_name":"UInt"},"Extensions/UInt.html#/s:Su8MixpanelE6equals3rhsSbAA0A4Type_p_tF":{"name":"equals(rhs:)","abstract":"Undocumented","parent_name":"UInt"},"Extensions/Int.html#/s:Si8MixpanelE25isValidNestedTypeAndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"Checks if this object has nested object types that Mixpanel supports.","parent_name":"Int"},"Extensions/Int.html#/s:Si8MixpanelE6equals3rhsSbAA0A4Type_p_tF":{"name":"equals(rhs:)","abstract":"Undocumented","parent_name":"Int"},"Extensions/Int.html#/s:Si8MixpanelE17tweakViewDataTypeAA05TweakcdE0OvpZ":{"name":"tweakViewDataType","abstract":"TweakableType supports the integer type","parent_name":"Int"},"Extensions/NSNumber.html#/s:So8NSNumberC8MixpanelE25isValidNestedTypeAndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"Checks if this object has nested object types that Mixpanel supports.","parent_name":"NSNumber"},"Extensions/NSNumber.html#/s:So8NSNumberC8MixpanelE6equals3rhsSbAC0B4Type_p_tF":{"name":"equals(rhs:)","abstract":"Undocumented","parent_name":"NSNumber"},"Extensions/NSString.html#/s:So8NSStringC8MixpanelE25isValidNestedTypeAndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"Checks if this object has nested object types that Mixpanel supports.","parent_name":"NSString"},"Extensions/NSString.html#/s:So8NSStringC8MixpanelE6equals3rhsSbAC0B4Type_p_tF":{"name":"equals(rhs:)","abstract":"Undocumented","parent_name":"NSString"},"Extensions/String.html#/s:SS8MixpanelE25isValidNestedTypeAndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"Checks if this object has nested object types that Mixpanel supports.","parent_name":"String"},"Extensions/String.html#/s:SS8MixpanelE6equals3rhsSbAA0A4Type_p_tF":{"name":"equals(rhs:)","abstract":"Undocumented","parent_name":"String"},"Extensions/String.html#/s:SS8MixpanelE17tweakViewDataTypeAA05TweakcdE0OvpZ":{"name":"tweakViewDataType","abstract":"TweakableType supports the string type","parent_name":"String"},"Extensions/Optional.html#/s:Sq8MixpanelE25isValidNestedTypeAndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"Checks if this object has nested object types that Mixpanel supports.","parent_name":"Optional"},"Extensions/Optional.html#/s:Sq8MixpanelE6equals3rhsSbAA0A4Type_p_tF":{"name":"equals(rhs:)","abstract":"Undocumented","parent_name":"Optional"},"Extensions/Array.html#/s:Sa8MixpanelE25isValidNestedTypeAndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"Checks if this object has nested object types that Mixpanel supports.","parent_name":"Array"},"Extensions/Array.html#/s:Sa8MixpanelE6equals3rhsSbAA0A4Type_p_tF":{"name":"equals(rhs:)","abstract":"Undocumented","parent_name":"Array"},"Extensions/UIColor.html#/s:So7UIColorC8MixpanelE5MPHexABSu_tcfc":{"name":"init(MPHex:)","abstract":"The shorthand four-digit hexadecimal representation of color with alpha.","parent_name":"UIColor"},"Extensions/UIColor.html":{"name":"UIColor"},"Extensions/Array.html":{"name":"Array"},"Extensions/Optional.html":{"name":"Optional"},"Extensions/String.html":{"name":"String"},"Extensions/NSString.html":{"name":"NSString"},"Extensions/NSNumber.html":{"name":"NSNumber"},"Extensions/Int.html":{"name":"Int"},"Extensions/UInt.html":{"name":"UInt"},"Extensions/Double.html":{"name":"Double"},"Extensions/Float.html":{"name":"Float"},"Extensions/Bool.html":{"name":"Bool"},"Extensions/Date.html":{"name":"Date"},"Extensions/URL.html":{"name":"URL"},"Extensions/NSNull.html":{"name":"NSNull"},"Extensions/NSArray.html":{"name":"NSArray"},"Extensions/Dictionary.html":{"name":"Dictionary"},"Extensions/CGFloat.html":{"name":"CGFloat"},"Enums/TweakViewDataType.html#/s:8Mixpanel17TweakViewDataTypeO7booleanyA2CmF":{"name":"boolean","abstract":"TweakableType supports the boolean type","parent_name":"TweakViewDataType"},"Enums/TweakViewDataType.html#/s:8Mixpanel17TweakViewDataTypeO7integeryA2CmF":{"name":"integer","abstract":"TweakableType supports the integer type","parent_name":"TweakViewDataType"},"Enums/TweakViewDataType.html#/s:8Mixpanel17TweakViewDataTypeO7cgFloatyA2CmF":{"name":"cgFloat","abstract":"TweakableType supports the cgFloat type","parent_name":"TweakViewDataType"},"Enums/TweakViewDataType.html#/s:8Mixpanel17TweakViewDataTypeO6doubleyA2CmF":{"name":"double","abstract":"TweakableType supports the double type","parent_name":"TweakViewDataType"},"Enums/TweakViewDataType.html#/s:8Mixpanel17TweakViewDataTypeO6stringyA2CmF":{"name":"string","abstract":"TweakableType supports the string type","parent_name":"TweakViewDataType"},"Enums/TweakViewDataType.html":{"name":"TweakViewDataType","abstract":"The data types that are currently supported for SwiftTweaks."},"Classes/MixpanelPushNotifications.html#/s:8Mixpanel0A17PushNotificationsC02isaB12NotificationySbSo21UNNotificationContentCFZ":{"name":"isMixpanelPushNotification(_:)","abstract":"Undocumented","parent_name":"MixpanelPushNotifications"},"Classes/MixpanelPushNotifications.html#/s:8Mixpanel0A17PushNotificationsC10trackEvent_10properties7requestySS_SDySSAA0A4Type_pGSo21UNNotificationRequestCtFZ":{"name":"trackEvent(_:properties:request:)","abstract":"Undocumented","parent_name":"MixpanelPushNotifications"},"Classes/People.html#/s:8Mixpanel6PeopleC10ignoreTimeSbvp":{"name":"ignoreTime","abstract":"controls the $ignore_time property in any subsequent MixpanelPeople operation.","parent_name":"People"},"Classes/People.html#/s:8Mixpanel6PeopleC18addPushDeviceTokenyy10Foundation4DataVF":{"name":"addPushDeviceToken(_:)","abstract":"Register the given device to receive push notifications.","parent_name":"People"},"Classes/People.html#/s:8Mixpanel6PeopleC25removeAllPushDeviceTokensyyF":{"name":"removeAllPushDeviceTokens()","abstract":"Unregister the given device to receive push notifications.","parent_name":"People"},"Classes/People.html#/s:8Mixpanel6PeopleC21removePushDeviceTokenyy10Foundation4DataVF":{"name":"removePushDeviceToken(_:)","abstract":"Unregister a specific device token from the ability to receive push notifications.","parent_name":"People"},"Classes/People.html#/s:8Mixpanel6PeopleC3set10propertiesySDySSAA0A4Type_pG_tF":{"name":"set(properties:)","abstract":"Set properties on the current user in Mixpanel People.","parent_name":"People"},"Classes/People.html#/s:8Mixpanel6PeopleC3set8property2toySS_AA0A4Type_ptF":{"name":"set(property:to:)","abstract":"Convenience method for setting a single property in Mixpanel People.","parent_name":"People"},"Classes/People.html#/s:8Mixpanel6PeopleC7setOnce10propertiesySDySSAA0A4Type_pG_tF":{"name":"setOnce(properties:)","abstract":"Set properties on the current user in Mixpanel People, but doesn’t overwrite if","parent_name":"People"},"Classes/People.html#/s:8Mixpanel6PeopleC5unset10propertiesySaySSG_tF":{"name":"unset(properties:)","abstract":"Remove a list of properties and their values from the current user’s profile","parent_name":"People"},"Classes/People.html#/s:8Mixpanel6PeopleC9increment10propertiesySDySSAA0A4Type_pG_tF":{"name":"increment(properties:)","abstract":"Increment the given numeric properties by the given values.","parent_name":"People"},"Classes/People.html#/s:8Mixpanel6PeopleC9increment8property2byySS_SdtF":{"name":"increment(property:by:)","abstract":"Convenience method for incrementing a single numeric property by the specified","parent_name":"People"},"Classes/People.html#/s:8Mixpanel6PeopleC6append10propertiesySDySSAA0A4Type_pG_tF":{"name":"append(properties:)","abstract":"Append values to list properties.","parent_name":"People"},"Classes/People.html#/s:8Mixpanel6PeopleC6remove10propertiesySDySSAA0A4Type_pG_tF":{"name":"remove(properties:)","abstract":"Removes list properties.","parent_name":"People"},"Classes/People.html#/s:8Mixpanel6PeopleC5union10propertiesySDySSAA0A4Type_pG_tF":{"name":"union(properties:)","abstract":"Union list properties.","parent_name":"People"},"Classes/People.html#/s:8Mixpanel6PeopleC11trackCharge6amount10propertiesySd_SDySSAA0A4Type_pGSgtF":{"name":"trackCharge(amount:properties:)","abstract":"Track money spent by the current user for revenue analytics and associate","parent_name":"People"},"Classes/People.html#/s:8Mixpanel6PeopleC12clearChargesyyF":{"name":"clearCharges()","abstract":"Delete current user’s revenue history.","parent_name":"People"},"Classes/People.html#/s:8Mixpanel6PeopleC10deleteUseryyF":{"name":"deleteUser()","abstract":"Delete current user’s record from Mixpanel People.","parent_name":"People"},"Classes/MixpanelNotificationServiceExtension.html#/c:@M@Mixpanel@objc(cs)MixpanelNotificationServiceExtension(im)didReceiveNotificationRequest:withContentHandler:":{"name":"didReceive(_:withContentHandler:)","abstract":"Undocumented","parent_name":"MixpanelNotificationServiceExtension"},"Classes/MixpanelNotificationServiceExtension.html#/c:@M@Mixpanel@objc(cs)MixpanelNotificationServiceExtension(im)serviceExtensionTimeWillExpire":{"name":"serviceExtensionTimeWillExpire()","abstract":"Undocumented","parent_name":"MixpanelNotificationServiceExtension"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC8apiTokenSSvp":{"name":"apiToken","abstract":"apiToken string that identifies the project to track data to","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC8delegateAA0A8Delegate_pSgvp":{"name":"delegate","abstract":"The a MixpanelDelegate object that gives control over Mixpanel network activity.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC10distinctIdSSvp":{"name":"distinctId","abstract":"distinctId string that uniquely identifies the current user.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC11anonymousIdSSSgvp":{"name":"anonymousId","abstract":"anonymousId string that uniquely identifies the device.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC6userIdSSSgvp":{"name":"userId","abstract":"userId string that identify is called with.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC22hadPersistedDistinctIdSbSgvp":{"name":"hadPersistedDistinctId","abstract":"hadPersistedDistinctId is a boolean value which specifies that the stored distinct_id","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC5aliasSSSgvp":{"name":"alias","abstract":"alias string that uniquely identifies the current user.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC6peopleAA6PeopleCSgvp":{"name":"people","abstract":"Accessor to the Mixpanel People API object.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC28showNetworkActivityIndicatorSbvp":{"name":"showNetworkActivityIndicator","abstract":"Controls whether to show spinning network activity indicator when flushing","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC27trackAutomaticEventsEnabledSbSgvp":{"name":"trackAutomaticEventsEnabled","abstract":"This allows enabling or disabling collecting common mobile events","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC13flushIntervalSdvp":{"name":"flushInterval","abstract":"Flush timer’s interval.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC17flushOnBackgroundSbvp":{"name":"flushOnBackground","abstract":"Control whether the library should flush data to Mixpanel when the app","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC26useIPAddressForGeoLocationSbvp":{"name":"useIPAddressForGeoLocation","abstract":"Controls whether to automatically send the client IP Address as part of","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC9serverURLSSvp":{"name":"serverURL","abstract":"The base URL used for Mixpanel API requests.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:s28CustomDebugStringConvertibleP16debugDescriptionSSvp":{"name":"debugDescription","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC14loggingEnabledSbvp":{"name":"loggingEnabled","abstract":"This allows enabling or disabling of all Mixpanel logs at run time.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC4nameSSvp":{"name":"name","abstract":"A unique identifier for this MixpanelInstance","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC29enableVisualEditorForCodelessSbvp":{"name":"enableVisualEditorForCodeless","abstract":"Controls whether to enable the visual editor for codeless on mixpanel.com","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC24checkForVariantsOnActiveSbvp":{"name":"checkForVariantsOnActive","abstract":"Controls whether to automatically check for A/B test variants for the","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC28checkForNotificationOnActiveSbvp":{"name":"checkForNotificationOnActive","abstract":"Controls whether to automatically check for notifications for the","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC24showNotificationOnActiveSbvp":{"name":"showNotificationOnActive","abstract":"Controls whether to automatically check for and show in-app notifications","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC32miniNotificationPresentationTimeSdvp":{"name":"miniNotificationPresentationTime","abstract":"Determines the time, in seconds, that a mini notification will remain on","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC22minimumSessionDurations6UInt64Vvp":{"name":"minimumSessionDuration","abstract":"The minimum session duration (ms) that is tracked in automatic events.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC22maximumSessionDurations6UInt64Vvp":{"name":"maximumSessionDuration","abstract":"The maximum session duration (ms) that is tracked in automatic events.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC8identify10distinctId9usePeople10completionySS_SbyycSgtF":{"name":"identify(distinctId:usePeople:completion:)","abstract":"Sets the distinct ID of the current user.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC11createAlias_10distinctId9usePeople10completionySS_SSSbyycSgtF":{"name":"createAlias(_:distinctId:usePeople:completion:)","abstract":"The alias method creates an alias which Mixpanel will use to remap one id to another.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC5reset10completionyyycSg_tF":{"name":"reset(completion:)","abstract":"Clears all stored properties including the distinct Id.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC7archiveyyF":{"name":"archive()","abstract":"Writes current project info including the distinct Id, super properties,","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/archive()":{"name":"archive()","abstract":"Writes current project info including the distinct Id, super properties,","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC5flush10completionyyycSg_tF":{"name":"flush(completion:)","abstract":"Uploads queued data to the Mixpanel server.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC5track5event10propertiesySSSg_SDySSAA0A4Type_pGSgtF":{"name":"track(event:properties:)","abstract":"Tracks an event with properties.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC15trackWithGroups5event10properties6groupsySSSg_SDySSAA0A4Type_pGSgAKtF":{"name":"trackWithGroups(event:properties:groups:)","abstract":"Tracks an event with properties and to specific groups.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC8getGroup8groupKey0E2IDAA0D0CSS_AA0A4Type_ptF":{"name":"getGroup(groupKey:groupID:)","abstract":"Undocumented","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC4time5eventySS_tF":{"name":"time(event:)","abstract":"Starts a timer that will be stopped and added as a property when a","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC16eventElapsedTime0C0SdSS_tF":{"name":"eventElapsedTime(event:)","abstract":"Retrieves the time elapsed for the named event since time(event:) was called.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC16clearTimedEventsyyF":{"name":"clearTimedEvents()","abstract":"Clears all current event timers.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC15clearTimedEvent5eventySS_tF":{"name":"clearTimedEvent(event:)","abstract":"Clears the event timer for the named event.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC22currentSuperPropertiesSDySSypGyF":{"name":"currentSuperProperties()","abstract":"Returns the currently set super properties.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC20clearSuperPropertiesyyF":{"name":"clearSuperProperties()","abstract":"Clears all currently set super properties.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC23registerSuperPropertiesyySDySSAA0A4Type_pGF":{"name":"registerSuperProperties(_:)","abstract":"Registers super properties, overwriting ones that have already been set.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC27registerSuperPropertiesOnce_12defaultValueySDySSAA0A4Type_pG_AaF_pSgtF":{"name":"registerSuperPropertiesOnce(_:defaultValue:)","abstract":"Registers super properties without overwriting ones that have already been set,","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC23unregisterSuperPropertyyySSF":{"name":"unregisterSuperProperty(_:)","abstract":"Removes a previously registered super property.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC8setGroup8groupKey0E2IDySS_AA0A4Type_ptF":{"name":"setGroup(groupKey:groupID:)","abstract":"Convenience method to set a single group the user belongs to.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC8setGroup8groupKey0E3IDsySS_SayAA0A4Type_pGtF":{"name":"setGroup(groupKey:groupIDs:)","abstract":"Set the groups this user belongs to.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC8addGroup8groupKey0E2IDySS_AA0A4Type_ptF":{"name":"addGroup(groupKey:groupID:)","abstract":"Add a group to this user’s membership for a particular group key","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC11removeGroup8groupKey0E2IDySS_AA0A4Type_ptF":{"name":"removeGroup(groupKey:groupID:)","abstract":"Remove a group from this user’s membership for a particular group key","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC14optOutTrackingyyF":{"name":"optOutTracking()","abstract":"Opt out tracking.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC13optInTracking10distinctId10propertiesySSSg_SDySSAA0A4Type_pGSgtF":{"name":"optInTracking(distinctId:properties:)","abstract":"Opt in tracking.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC19hasOptedOutTrackingSbyF":{"name":"hasOptedOutTracking()","abstract":"Returns if the current user has opted out tracking.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC15joinExperiments8callbackyyycSg_tF":{"name":"joinExperiments(callback:)","abstract":"Join any experiments (A/B tests) that are available for the current user.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC16showNotificationyyF":{"name":"showNotification()","abstract":"Shows a notification if one is available.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC16showNotification4typeySS_tF":{"name":"showNotification(type:)","abstract":"Shows a notification with the given type if one is available.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC16showNotification2IDySi_tF":{"name":"showNotification(ID:)","abstract":"Shows a notification with the given ID","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC24fetchNotificationPayload10completionyySDySSyXlGSgc_tF":{"name":"fetchNotificationPayload(completion:)","abstract":"Returns the payload of a notification if available","parent_name":"MixpanelInstance"},"Classes/Mixpanel.html#/s:8MixpanelAAC10initialize5token13launchOptions13flushInterval12instanceName21automaticPushTracking06optOutL9ByDefaultAA0A8InstanceCSS_SDySo019UIApplicationLaunchE3KeyaypGSgSdSSS2btFZ":{"name":"initialize(token:launchOptions:flushInterval:instanceName:automaticPushTracking:optOutTrackingByDefault:)","abstract":"Initializes an instance of the API with the given project token.","parent_name":"Mixpanel"},"Classes/Mixpanel.html#/initialize(token:flushInterval:instanceName:optOutTrackingByDefault:)":{"name":"initialize(token:flushInterval:instanceName:optOutTrackingByDefault:)","abstract":"Initializes an instance of the API with the given project token (MAC OS ONLY).","parent_name":"Mixpanel"},"Classes/Mixpanel.html#/s:8MixpanelAAC11getInstance4nameAA0aC0CSgSS_tFZ":{"name":"getInstance(name:)","abstract":"Gets the mixpanel instance with the given name","parent_name":"Mixpanel"},"Classes/Mixpanel.html#/s:8MixpanelAAC12mainInstanceAA0aC0CyFZ":{"name":"mainInstance()","abstract":"Returns the main instance that was initialized.","parent_name":"Mixpanel"},"Classes/Mixpanel.html#/s:8MixpanelAAC15setMainInstance4nameySS_tFZ":{"name":"setMainInstance(name:)","abstract":"Sets the main instance based on the instance name","parent_name":"Mixpanel"},"Classes/Mixpanel.html#/s:8MixpanelAAC14removeInstance4nameySS_tFZ":{"name":"removeInstance(name:)","abstract":"Removes an unneeded Mixpanel instance based on its name","parent_name":"Mixpanel"},"Classes/Group.html#/s:8Mixpanel5GroupC3set10propertiesySDySSAA0A4Type_pG_tF":{"name":"set(properties:)","abstract":"Sets properties on this group.","parent_name":"Group"},"Classes/Group.html#/s:8Mixpanel5GroupC3set8property2toySS_AA0A4Type_ptF":{"name":"set(property:to:)","abstract":"Convenience method for setting a single property in Mixpanel Groups.","parent_name":"Group"},"Classes/Group.html#/s:8Mixpanel5GroupC7setOnce10propertiesySDySSAA0A4Type_pG_tF":{"name":"setOnce(properties:)","abstract":"Sets properties on the current Mixpanel Group, but doesn’t overwrite if","parent_name":"Group"},"Classes/Group.html#/s:8Mixpanel5GroupC5unset8propertyySS_tF":{"name":"unset(property:)","abstract":"Remove a property and its value from a group’s profile in Mixpanel Groups.","parent_name":"Group"},"Classes/Group.html#/s:8Mixpanel5GroupC6remove3key5valueySS_AA0A4Type_ptF":{"name":"remove(key:value:)","abstract":"Removes list properties.","parent_name":"Group"},"Classes/Group.html#/s:8Mixpanel5GroupC5union3key6valuesySS_SayAA0A4Type_pGtF":{"name":"union(key:values:)","abstract":"Union list properties.","parent_name":"Group"},"Classes/Group.html#/s:8Mixpanel5GroupC06deleteB0yyF":{"name":"deleteGroup()","abstract":"Delete group’s record from Mixpanel Groups.","parent_name":"Group"},"Classes/Group.html":{"name":"Group","abstract":"Access to the Mixpanel Groups API, available through the getGroup function from"},"Classes/Mixpanel.html":{"name":"Mixpanel","abstract":"The primary class for integrating Mixpanel with your app."},"Classes/MixpanelInstance.html":{"name":"MixpanelInstance","abstract":"The class that represents the Mixpanel Instance"},"Classes/MixpanelNotificationServiceExtension.html":{"name":"MixpanelNotificationServiceExtension","abstract":"Undocumented"},"Classes/People.html":{"name":"People","abstract":"Access to the Mixpanel People API, available as an accessible variable from"},"Classes/MixpanelPushNotifications.html":{"name":"MixpanelPushNotifications","abstract":"Undocumented"},"Classes.html#/s:8Mixpanel10TweakStoreC":{"name":"TweakStore","abstract":"Looks up the persisted state for tweaks."},"Classes.html":{"name":"Classes","abstract":"The following classes are available globally."},"Enums.html":{"name":"Enumerations","abstract":"The following enumerations are available globally."},"Extensions.html":{"name":"Extensions","abstract":"The following extensions are available globally."},"Functions.html":{"name":"Functions","abstract":"The following functions are available globally."},"Protocols.html":{"name":"Protocols","abstract":"The following protocols are available globally."},"Structs.html":{"name":"Structures","abstract":"The following structures are available globally."},"Typealiases.html":{"name":"Type Aliases","abstract":"The following type aliases are available globally."}} \ No newline at end of file diff --git a/docs/undocumented.json b/docs/undocumented.json index 1e31bd6a..75baf9b9 100644 --- a/docs/undocumented.json +++ b/docs/undocumented.json @@ -9,7 +9,7 @@ }, { "file": "/Users/zihejia/Documents/Projects/Develop/mixpanel-swift/Sources/MixpanelInstance.swift", - "line": 1296, + "line": 1335, "symbol": "MixpanelInstance.getGroup(groupKey:groupID:)", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented"