نقل البيانات إلى الإصدار 2 من حزمة .NET Admin SDK

تقدم حزمة SDK لمشرف Firebase للإصدار 2.0.0 من Firebase بعض التغييرات التي قد تؤدي إلى عطل سيؤثر في رمز التطبيق. يُرجى مراجعة هذا الدليل وإجراء التغييرات اللازمة.

تعديل أُطر العمل المستهدَفة

لم تعُد حزمة تطوير البرامج (SDK) الخاصة بالمشرف متوافقة مع netstandard1.5 وnet45 صنّاع المحتوى في إطار العمل المستهدَف بدلاً من ذلك، استخدِم netstandard2.0 أو net461 أو إصدارًا أحدث.

تعديل الرمز الذي يستخدم فئة PagedAsyncEnumerable

توفر SDK للمشرف العديد من واجهات برمجة التطبيقات التي تعرض مثيلات PagedAsyncEnumerable توفر هذه الفئة طريقة للتكرار خلال تسلسل العناصر إما إدخالاً واحدًا في كل مرة أو حسب الصفحات. نظرًا لأن SDK للمشرف بصدد ترقية اعتماده على حزمة Google.Api.Gax، فستحتاج إلى تعديل الرمز الذي يستخدم الفئة PageAsyncEnumerable على النحو التالي:

قبل

var pagedEnumerable = FirebaseAuth.DefaultInstance.ListUsersAsync(null);
var responses = pagedEnumerable.AsRawResponses().GetEnumerator();
while (await responses.MoveNext())
{
    ExportedUserRecords response = responses.Current;
    foreach (ExportedUserRecord user in response.Users)
    {
        Console.WriteLine($"User: {user.Uid}");
    }
}

var enumerator = FirebaseAuth.DefaultInstance.ListUsersAsync(null).GetEnumerator();
while (await enumerator.MoveNext())
{
    ExportedUserRecord user = enumerator.Current;
    Console.WriteLine($"User: {user.Uid}");
}

بعد

var pagedEnumerable = FirebaseAuth.DefaultInstance.ListUsersAsync(null);
var responses = pagedEnumerable.AsRawResponses().GetAsyncEnumerator();
while (await responses.MoveNextAsync())
{
    ExportedUserRecords response = responses.Current;
    foreach (ExportedUserRecord user in response.Users)
    {
        Console.WriteLine($"User: {user.Uid}");
    }
}

var enumerator = FirebaseAuth.DefaultInstance.ListUsersAsync(null).GetAsyncEnumerator();
while (await enumerator.MoveNextAsync())
{
    ExportedUserRecord user = enumerator.Current;
    Console.WriteLine($"User: {user.Uid}");
}