private async Task InitializeApiAsync()
    {
        try
        {
            var indexApi = new IndexApi();
            var index    = await indexApi.GetIndexAsync();

            var packages = await index.TryGetGameBananaPackageList(GameId);

            if (packages.result)
            {
                _indexPackageProvider = new IndexPackageProvider(packages.list);
                _initializedApi       = true;
            }
        }
        catch (Exception) { /* ignored */ }

        _initializeComplete = true;
    }
    private async Task InitializeApiAsync(string?appId)
    {
        try
        {
            var indexApi = new IndexApi();
            var index    = await indexApi.GetIndexAsync();

            var packages = await index.TryGetNuGetPackageList(SourceUrl);

            if (packages.result)
            {
                // Filter out by tag if app requested
                if (!string.IsNullOrEmpty(appId))
                {
                    packages.list.Packages = packages.list.Packages.Where(x => x.Tags != null && x.Tags.Contains(appId, StringComparer.OrdinalIgnoreCase)).ToList();
                }

                _indexPackageProvider = new IndexPackageProvider(packages.list);
                _initializedApi       = true;
            }
        }
        catch (Exception) { /* ignored */ }
    }