واجهة برمجة تطبيقات تحليلات الروابط الديناميكية لـ Firebase

يمكنك استخدام REST API للحصول على بيانات تحليلية لكل رابط من الروابط الديناميكية القصيرة، سواء تم إنشاؤها في وحدة التحكم أو برمجيًا .

ترخيص API

عند تقديم طلبات إلى واجهات برمجة تطبيقات Dynamic Link Analytics، يجب عليك تضمين رمز وصول OAuth 2.0 الذي يسمح بالوصول إلى مشروع Firebase الخاص بك.

يمكنك الحصول على رموز الوصول باستخدام مكتبة عميل Google API:

  1. أضف Firebase إلى تطبيقك كما هو موضح في دليل إعداد Admin SDK. أي إنشاء حساب خدمة وإنشاء مفتاح خاص.
  2. استخدم مكتبة عميل Google API للحصول على رمز وصول من بيانات اعتماد حساب الخدمة الخاص بك:

    جافا

    استخدام مكتبة عميل Google API لجافا :

    // Load the service account key JSON file
    FileInputStream serviceAccount = new FileInputStream("path/to/serviceAccountKey.json");
    
    // Authenticate a Google credential with the service account
    GoogleCredential googleCred = GoogleCredential.fromStream(serviceAccount);
    
    // Add the required scope to the Google credential
    GoogleCredential scoped = googleCred.createScoped(
        Arrays.asList(
          "https://www.googleapis.com/auth/firebase"
        )
    );
    
    // Use the Google credential to generate an access token
    scoped.refreshToken();
    String token = scoped.getAccessToken();
    
    // Include the access token in the Authorization header.
    

    Node.js

    استخدام مكتبة عميل Google API لـ Node.js :

    var { google } = require("googleapis");
    
    // Load the service account key JSON file.
    var serviceAccount = require("path/to/serviceAccountKey.json");
    
    // Specify the required scope.
    var scopes = [
      "https://www.googleapis.com/auth/firebase"
    ];
    
    // Authenticate a JWT client with the service account.
    var jwtClient = new google.auth.JWT(
      serviceAccount.client_email,
      null,
      serviceAccount.private_key,
      scopes
    );
    
    // Use the JWT client to generate an access token.
    jwtClient.authorize(function(error, tokens) {
      if (error) {
        console.log("Error making request to generate access token:", error);
      } else if (tokens.access_token === null) {
        console.log("Provided service account does not have permission to generate access tokens");
      } else {
        var accessToken = tokens.access_token;
    
        // Include the access token in the Authorization header.
      }
    });
    

    بايثون

    باستخدام مكتبة Google Auth لبيثون:

    from google.oauth2 import service_account
    from google.auth.transport.requests import AuthorizedSession
    
    # Specify the required scope
    scopes = [
      "https://www.googleapis.com/auth/firebase"
    ]
    
    # Authenticate a credential with the service account
    credentials = service_account.Credentials.from_service_account_file(
        "path/to/serviceAccountKey.json", scopes=scopes)
    
    # Use the credentials object to authenticate a Requests session.
    authed_session = AuthorizedSession(credentials)
    response = authed_session.get(
        "https://firebasedynamiclinks.googleapis.com/v1/SHORT_DYNAMIC_LINK/linkStats?durationDays=DURATION")
    
    # Or, use the token directly, as described below.
    request = google.auth.transport.requests.Request()
    credentials.refresh(request)
    access_token = credentials.token
    

احصل على إحصائيات لارتباط ديناميكي واحد

استخدم نقطة نهاية linkStats للحصول على إحصائيات الأحداث لارتباط ديناميكي واحد.

طلب HTTP

طلب linkStats له التنسيق التالي:

GET https://firebasedynamiclinks.googleapis.com/v1/SHORT_DYNAMIC_LINK/linkStats?durationDays=DURATION

Authorization: Bearer ACCESS_TOKEN

على سبيل المثال، لاسترداد الإحصائيات من آخر 7 أيام للرابط القصير https://example.page.link/wXYz :

GET https://firebasedynamiclinks.googleapis.com/v1/https%3A%2F%2Fexample.page.link%2FwXYz/linkStats?durationDays=7

Authorization: Bearer ya29.Abc123...
حدود
SHORT_DYNAMIC_LINK الرابط الديناميكي القصير المشفر بعنوان URL والذي تريد الحصول على بيانات الحدث الخاصة به.
DURATION عدد الأيام التي سيتم خلالها الحصول على بيانات الأحداث. على سبيل المثال، إذا حددت 30 ، فسيقوم الطلب باسترداد البيانات لآخر 30 يومًا. لاحظ أن بعض الأحداث التي تم تسجيلها خلال آخر 36 ساعة قد لا يتم تضمينها.
ACCESS_TOKEN رمز وصول غير منتهي الصلاحية. راجع ترخيص واجهة برمجة التطبيقات (API) .

هيئة الاستجابة

الاستجابة للطلب هي كائن JSON كما يلي:

{
  "linkEventStats": [
    {
      "platform": "ANDROID",
      "count": "123",
      "event": "CLICK"
    },
    {
      "platform": "IOS",
      "count": "123",
      "event": "CLICK"
    },
    {
      "platform": "DESKTOP",
      "count": "456",
      "event": "CLICK"
    },
    {
      "platform": "ANDROID",
      "count": "99",
      "event": "APP_INSTALL"
    },
    {
      "platform": "ANDROID",
      "count": "42",
      "event": "APP_FIRST_OPEN"
    },

    ...

  ]
}

يحتوي كل عنصر في قائمة linkEventStats على عدد خاص بالنظام الأساسي لبعض الأحداث ذات الصلة بالارتباط الديناميكي (مثل عدد النقرات على Android). لاحظ أن هذه الإحصائيات قد لا تتضمن الأحداث التي تم تسجيلها خلال آخر 36 ساعة.

حدث وصف وحدة تحكم Firebase واجهة برمجة تطبيقات REST
انقر حساب أي نقرة على الرابط الديناميكي، بغض النظر عن كيفية التعامل معه ووجهاته
إعادة توجيه عدد محاولات إعادة توجيه المستخدمين، إما إلى App Store أو Play Store لتثبيت التطبيق أو تحديثه، أو إلى وجهة أخرى
APP_INSTALL عدد عمليات التثبيت الفعلية (يدعمها متجر Play فقط)
APP_FIRST_OPEN عدد عمليات الفتح الأولى بعد التثبيت
APP_RE_OPEN عدد المرات التي تسبب فيها الارتباط الديناميكي في إعادة فتح التطبيق