大家好我们团结开发,我想添加3个SDK来集成UNITY
FACEBOOK SDK
Countly
调整
并希望制作一个SDK,以便将来可以使用它 知道怎么做吗?
答案 0 :(得分:0)
我不确切地知道您希望从这些模块中使用哪些功能,但如果它们几乎都做同样的事情,您可以定义一个通用接口并使用3个适配器使您的模块适合该接口。
interface ITrackingSdk
{
void StartSession(string[] identifiers);
...
}
class FacebookTrackingSdk : ITrackingSdk
{
private YourFacebookModule facebook;
public static bool IsSupported { get { return true; } }
public void StartSession(string[] identifiers)
{
facebook.InitializeBla(...);
}
...
}
class CountlyTrackingSdk : ITrackingSdk { ... }
class AdjustTrackingSdk : ITrackingSdk { ... }
然后你有一个可以创建ITrackingSdk实现实例的工厂,具体取决于你当前平台的支持。
class TrackingSdkFactory
{
public ICollection<ITrackingSdk> CreateSupportedTrackingSdks()
{
List<ITrackingSdk> sdks = new List...
if (FacebookTrackingSdk.IsSupported)
sdks.Add(new FacebookTrackingSdk());
if (CountlyTrackingSdk.IsSupported)
sdks.Add(new CountlyTrackingSdk());
if (AdjustTrackingSdk.IsSupported)
sdks.Add(new AdjustTrackingSdk());
return sdks;
}
}
最后你可能有某种控制器,它在启动时要求工厂提供所有支持的跟踪Sdks,然后管理它们。
如果人们告诉你要降低目标,就要忽略它们。瞄准高,了解到达目的地所需的一切。