الترحيل إلى .NET Admin SDK v2

يقدم Firebase Admin SDK لـ .NET v2.0.0 بعض التغييرات العاجلة التي قد تؤثر على رمز التطبيق الخاص بك. قم بمراجعة هذا الدليل، وقم بإجراء التغييرات حسب الضرورة.

تحديث الأطر المستهدفة

لم يعد Admin SDK يدعم ألقاب إطار العمل المستهدف netstandard1.5 و net45 . بدلاً من ذلك، استخدم netstandard2.0 أو net461 أو أعلى.

تحديث التعليمات البرمجية التي تستخدم فئة PagedAsyncEnumerable

يوفر Admin SDK العديد من واجهات برمجة التطبيقات التي تعرض مثيلات PagedAsyncEnumerable . توفر هذه الفئة طريقة للتكرار عبر سلسلة من العناصر إما إدخالًا واحدًا في كل مرة أو حسب الصفحات. نظرًا لأن Admin 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}");
}