Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Binary file not shown.
15 changes: 10 additions & 5 deletions PubNubUnity/Assets/PubNub/Runtime/Util/PubnubUnityUtils.cs
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
using PubnubApi.PNSDK;

namespace PubnubApi.Unity {
public static class PubnubUnityUtils {
/// <summary>
Expand All @@ -6,12 +8,14 @@ public static class PubnubUnityUtils {
/// <param name="configuration">Pubnub configuration object</param>
/// <param name="webGLBuildMode">Flag for enabling WebGL mode - sets httpTransportService to UnityWebGLHttpClientService</param>
/// <param name="unityLogging">Flag to set Unity specific logger (UnityPubNubLogger)</param>
/// <param name="ipnsdkSource">Optional: PNSDK source, used for analytics and debugging.</param>
/// <returns></returns>
public static Pubnub NewUnityPubnub(PNConfiguration configuration, bool webGLBuildMode = false, bool unityLogging = false) {
public static Pubnub NewUnityPubnub(PNConfiguration configuration, bool webGLBuildMode = false, bool unityLogging = false, IPNSDKSource ipnsdkSource = null) {
ipnsdkSource ??= new UnityPNSDKSource();
var pubnub = webGLBuildMode
? new Pubnub(configuration, httpTransportService: new UnityWebGLHttpClientService(),
ipnsdkSource: new UnityPNSDKSource())
: new Pubnub(configuration, ipnsdkSource: new UnityPNSDKSource());
ipnsdkSource: ipnsdkSource)
: new Pubnub(configuration, ipnsdkSource: ipnsdkSource);
if (unityLogging) {
pubnub.SetLogger(new UnityPubNubLogger(pubnub.InstanceId));
}
Expand All @@ -24,11 +28,12 @@ public static Pubnub NewUnityPubnub(PNConfiguration configuration, bool webGLBui
/// </summary>
/// <param name="configurationAsset">Pubnub configuration Scriptable Object asset</param>
/// <param name="userId">Client user ID for this instance</param>
/// <param name="ipnsdkSource">Optional: PNSDK source, used for analytics and debugging.</param>
/// <returns></returns>
public static Pubnub NewUnityPubnub(PNConfigAsset configurationAsset, string userId) {
public static Pubnub NewUnityPubnub(PNConfigAsset configurationAsset, string userId, IPNSDKSource ipnsdkSource = null) {
configurationAsset.UserId = userId;
var pnConfig = ((PNConfiguration)configurationAsset);
return NewUnityPubnub(pnConfig, configurationAsset.EnableWebGLBuildMode, configurationAsset.LogToUnityConsole);
return NewUnityPubnub(pnConfig, configurationAsset.EnableWebGLBuildMode, configurationAsset.LogToUnityConsole, ipnsdkSource: ipnsdkSource);
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ namespace PubnubApi.Unity
public class UnityPNSDKSource : IPNSDKSource {

private const string build = "9.1.0";
public string Build => build;

public string GetPNSDK() {
#if(UNITY_IOS)
Expand Down
Loading