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

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

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

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

  • thought 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) حزمة 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.