بدءًا من الإصدار 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.18.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
بدلاً من ذلك.