نقل البيانات إلى الإصدار 4 من حزمة تطوير البرامج (SDK) لمشرف Go

بدءًا من الإصدار 4.0.0، تم تفعيل Firebase Admin SDK للغة Go وحدات Go. بالإضافة إلى ذلك، هناك تغييرات غير متوافقة مع الإصدارات السابقة في معالجة الأخطاء والدلالات.

التغييرات في عمليات التثبيت

وفقًا لأفضل الممارسات المتعلّقة بالوحدات، تمت إضافة رقم الإصدار الرئيسي لحزمة تطوير البرامج (SDK) إلى اسم الحزمة. يؤدي هذا التغيير إلى تعديل أسماء الحِزم على النحو التالي:

  • firebase.google.com/go → firebase.google.com/go/v4
  • firebase.google.com/go/auth → firebase.google.com/go/v4/auth
  • firebase.google.com/go/db → firebase.google.com/go/v4/db
  • firebase.google.com/go/iid → firebase.google.com/go/v4/iid
  • firebase.google.com/go/messaging → firebase.google.com/go/v4/messaging

المطوّرون الذين يستخدمون الوحدات حاليًا

استخدِم اسم الحزمة الذي يتضمّن رقم الإصدار لتثبيت أحدث إصدار من حزمة SDK.

# Install the latest version:
go install firebase.google.com/go/v4@latest

# Or install a specific version:
go install firebase.google.com/go/v4@4.22.0

يجب استخدام اسم الحزمة نفسه الذي يتضمّن رقم الإصدار في الرمز المصدر عند استيراد حزمة SDK.

package helloworld

import (
        "firebase.google.com/go/v4"
        "firebase.google.com/go/v4/auth"
        "firebase.google.com/go/v4/messaging"
)

لتثبيت إصدار أقدم، استخدِم اسم الحزمة القديم (غير المحدّد برقم الإصدار) مع محدّد إصدار صريح.

# Notice the @v3 suffix.
# This instructs Go tools to fetch the latest v3.x release of the SDK.
go get firebase.google.com/go@v3

المطوّرون الذين لا يستخدمون الوحدات حاليًا

يمكن للمطوّرين الذين لم يفعّلوا الوحدات بعد مواصلة تثبيت حزمة SDK باستخدام اسم الحزمة غير المتوافق مع أي إصدار.

go get firebase.google.com/go

يُرجى العِلم أنّ هذا الإجراء يجلب أحدث إصدار من حزمة SDK (الإصدار 4 أو إصدار أحدث) الذي يتضمّن تغييرات أخرى غير متوافقة في واجهة برمجة التطبيقات.

التغييرات العامة في معالجة الأخطاء

تقدّم حزمة تطوير البرامج (SDK) الإصدار 4 حزمة errorutils جديدة توفّر وظائف للتعامل مع حالات الخطأ على مستوى النظام الأساسي. في حال حدوث خطأ بسبب خطأ في إحدى الخدمات الخلفية، يمكنك الوصول إلى ردّ الخطأ الأصلي من خلال استدعاء الدالة الجديدة errorutils.HTTPResponse(). يمكنك استخدام الدوال في هذه الحزمة مع الأخطاء التي تعرضها أي واجهة برمجة تطبيقات في حزمة SDK.

Authentication تغييرات واجهة برمجة التطبيقات

  • تمت إضافة وظائف جديدة لمعالجة الأخطاء لاستخدامها مع واجهات برمجة التطبيقات VerifyIDToken() وVerifySessionCookie():
    • IsIDTokenInvalid()
    • IsIDTokenExpired()
    • IsSessionCookieInvalid()
    • IsSessionCookieExpired()
    • IsCertificateFetchFailed()
  • تم إيقافها نهائيًا:
    • IsProjectNotFound()
    • IsUnknown()
    • IsInsufficientPermission()
    • IsInvalidEmail()

FCM تغييرات واجهة برمجة التطبيقات

  • تمت إعادة تسمية النوع messaging.WebpushFCMOptions إلى messaging.WebpushFcmOptions.
  • تمت إضافة:
    • IsThirdPartyAuthError()
    • IsQuotaExceeded()
    • IsSenderIDMismatch()
    • IsUnregistered()
    • IsUnavailable()
  • تم إيقافها نهائيًا:
    • IsInvalidAPNSCredentials()
    • IsMessageRateExceeded()
    • IsMismatchedCredential()
    • IsRegistrationTokenNotRegistered()
    • IsServerUnavailable()
    • IsTooManyTopics()
    • IsUnknown()

التغييرات في واجهة برمجة التطبيقات IID

تم الآن إيقاف جميع دوال معالجة الأخطاء المتاحة حاليًا في حزمة iid. استخدِم دوال معالجة الأخطاء المناسبة المتوفّرة في حزمة errorutils بدلاً من ذلك.