我想添加多个API并创建一个API

时间:2015-12-30 06:38:43

标签: api unity3d sdk facebook-unity-sdk

大家好我们团结开发,我想添加3个SDK来集成UNITY

  1. FACEBOOK SDK

  2. Countly

  3. 调整

  4. 并希望制作一个SDK,以便将来可以使用它 知道怎么做吗?

1 个答案:

答案 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,然后管理它们。

如果人们告诉你要降低目标,就要忽略它们。瞄准高,了解到达目的地所需的一切。