You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

52 lines
1.8 KiB
C#

using UnityEngine;
using System.Linq;
using System.Numerics;
namespace Thirdweb.Unity
{
public class ThirdwebManager : ThirdwebManagerBase
{
[field: SerializeField]
private string ClientId { get; set; }
[field: SerializeField]
private string BundleId { get; set; }
public new static ThirdwebManager Instance
{
get => ThirdwebManagerBase.Instance as ThirdwebManager;
}
protected override ThirdwebClient CreateClient()
{
if (string.IsNullOrWhiteSpace(ClientId))
{
ThirdwebDebug.LogError("ClientId must be set in order to initialize ThirdwebManager. " + "Get your API key from https://thirdweb.com/create-api-key");
return null;
}
if (string.IsNullOrWhiteSpace(BundleId))
{
BundleId = null;
}
BundleId ??= string.IsNullOrWhiteSpace(Application.identifier) ? $"com.{Application.companyName}.{Application.productName}" : Application.identifier;
return ThirdwebClient.Create(
clientId: ClientId,
bundleId: BundleId,
httpClient: new CrossPlatformUnityHttpClient(),
sdkName: Application.platform == RuntimePlatform.WebGLPlayer ? "UnitySDK_WebGL" : "UnitySDK",
sdkOs: Application.platform.ToString(),
sdkPlatform: "unity",
sdkVersion: THIRDWEB_UNITY_SDK_VERSION,
rpcOverrides: (RpcOverrides == null || RpcOverrides.Count == 0)
? null
: RpcOverrides.ToDictionary(rpcOverride => new BigInteger(rpcOverride.ChainId), rpcOverride => rpcOverride.RpcUrl)
);
}
protected override string MobileRedirectScheme => BundleId + "://";
}
}