الترحيل إلى Go Admin SDK v4

بدءًا من الإصدار 4.0.0، تم تمكين Firebase Admin SDK for 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.13.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 أو الأحدث) الذي يحتوي على تغييرات أخرى في واجهة برمجة التطبيقات (API).

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

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

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

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

تغييرات FCM API

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

تغييرات IID API

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