Skip to content

Commit c0d90b8

Browse files
authored
Merge pull request #98 from Leanplum/expose-vars
Expose Vars Diffs
2 parents b1942ce + 4f04612 commit c0d90b8

File tree

7 files changed

+40
-0
lines changed

7 files changed

+40
-0
lines changed

Leanplum-Android-SDK-Unity/android-unity-wrapper/src/main/java/com/leanplum/UnityBridge.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,7 @@
4343
import com.leanplum.callbacks.VariableCallback;
4444
import com.leanplum.callbacks.VariablesChangedCallback;
4545
import com.leanplum.internal.Util;
46+
import com.leanplum.internal.VarCache;
4647
import com.leanplum.json.JsonConverter;
4748
import com.unity3d.player.UnityPlayer;
4849

@@ -236,6 +237,10 @@ public static String variants() {
236237
return gson.toJson(Leanplum.variants());
237238
}
238239

240+
public static String vars() {
241+
return gson.toJson(VarCache.getDiffs());
242+
}
243+
239244
public static String messageMetadata() {
240245
return gson.toJson(Leanplum.messageMetadata());
241246
}

Leanplum-Unity-SDK/Assets/LeanplumSDK/Android/LeanplumAndroid.cs

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -442,6 +442,12 @@ public override List<object> Variants()
442442
return (List<object>)Json.Deserialize(jsonString);
443443
}
444444

445+
public override IDictionary<string, object> Vars()
446+
{
447+
string jsonString = NativeSDK.CallStatic<string>("vars");
448+
return (Dictionary<string, object>)Json.Deserialize(jsonString);
449+
}
450+
445451
/// <summary>
446452
/// Returns metadata for all active in-app messages.
447453
/// Recommended only for debugging purposes and advanced use cases.

Leanplum-Unity-SDK/Assets/LeanplumSDK/Apple/LeanplumApple.cs

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -108,6 +108,9 @@ internal static extern void _setApiHostName(string hostName, string servletName,
108108
[DllImport ("__Internal")]
109109
internal static extern string _variants();
110110

111+
[DllImport("__Internal")]
112+
internal static extern string _vars();
113+
111114
[DllImport ("__Internal")]
112115
internal static extern string _messageMetadata();
113116

@@ -553,6 +556,12 @@ public override List<object> Variants()
553556
return (List<object>)Json.Deserialize(_variants());
554557
}
555558

559+
public override IDictionary<string, object> Vars()
560+
{
561+
string jsonString = _vars();
562+
return (Dictionary<string, object>)Json.Deserialize(jsonString);
563+
}
564+
556565
/// <summary>
557566
/// Returns metadata for all active in-app messages.
558567
/// Recommended only for debugging purposes and advanced use cases.

Leanplum-Unity-SDK/Assets/LeanplumSDK/Leanplum.cs

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -730,6 +730,11 @@ public static List<object> Variants()
730730
return LeanplumFactory.SDK.Variants();
731731
}
732732

733+
public static IDictionary<string, object> Vars()
734+
{
735+
return LeanplumFactory.SDK.Vars();
736+
}
737+
733738
/// <summary>
734739
/// Returns metadata for all active in-app messages.
735740
/// Recommended only for debugging purposes and advanced use cases.

Leanplum-Unity-SDK/Assets/LeanplumSDK/LeanplumSDKObject.cs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -351,6 +351,8 @@ public abstract void SetUserAttributes (string newUserId,
351351
/// </summary>
352352
public abstract List<object> Variants ();
353353

354+
public abstract IDictionary<string, object> Vars ();
355+
354356
/// <summary>
355357
/// Returns metadata for all active in-app messages.
356358
/// Recommended only for debugging purposes and advanced use cases.

Leanplum-Unity-SDK/Assets/LeanplumSDK/Native/LeanplumNative.cs

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@
2121
using System;
2222
using System.Collections;
2323
using System.Collections.Generic;
24+
using System.Linq;
2425
using System.Text;
2526
using UnityEngine;
2627

@@ -969,6 +970,13 @@ public override List<object> Variants()
969970
return VarCache.Variants;
970971
}
971972

973+
public override IDictionary<string, object> Vars()
974+
{
975+
// Return a copy
976+
IDictionary<string, object> varsDict = Json.Deserialize(Json.Serialize(VarCache.Diffs)) as IDictionary<string, object>;
977+
return varsDict;
978+
}
979+
972980
/// <summary>
973981
/// Return message metadata.
974982
/// Used only for debugging purposes and advanced use cases.

Leanplum-Unity-SDK/Assets/Plugins/iOS/LeanplumIOSBridge.mm

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -184,6 +184,11 @@ void _resumeState()
184184
return lp::to_json_string([Leanplum variants]);
185185
}
186186

187+
const char * _vars()
188+
{
189+
return lp::to_json_string([[LPVarCache sharedCache] diffs]);
190+
}
191+
187192
const char * _messageMetadata()
188193
{
189194
return lp::to_json_string([Leanplum messageMetadata]);

0 commit comments

Comments
 (0)