Firebase Dynamic Links Analytics API

می‌توانید از این API REST برای دریافت داده‌های تحلیلی برای هر یک از پیوندهای پویای کوتاه خود، چه در کنسول یا به صورت برنامه‌نویسی ایجاد شده‌اند، استفاده کنید.

مجوز API

هنگامی که برای API های تجزیه و تحلیل پیوند پویا درخواست می کنید، باید یک نشانه دسترسی OAuth 2.0 را اضافه کنید که اجازه دسترسی به پروژه Firebase شما را می دهد.

می‌توانید با استفاده از کتابخانه سرویس گیرنده Google API، نشانه‌های دسترسی را دریافت کنید:

  1. همانطور که در راهنمای تنظیم Admin SDK توضیح داده شده است ، Firebase را به برنامه خود اضافه کنید . یعنی یک حساب کاربری ایجاد کنید و یک کلید خصوصی ایجاد کنید.
  2. از کتابخانه سرویس گیرنده Google API برای دریافت رمز دسترسی از اعتبار حساب سرویس خود استفاده کنید:

    جاوا

    استفاده از Google API Client Library برای جاوا :

    // 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 Client Library برای 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 API
کلیک تعداد هر کلیک روی پیوند پویا، صرف نظر از نحوه مدیریت و مقصد آن
تغییر مسیر تعداد تلاش‌ها برای هدایت کاربران، به اپ استور یا پلی استور برای نصب یا به‌روزرسانی برنامه، یا به مقصد دیگری
APP_INSTALL تعداد نصب های واقعی (فقط توسط Play Store پشتیبانی می شود)
APP_FIRST_OPEN تعداد اولین بازها پس از نصب
APP_RE_OPEN تعداد دفعاتی که پیوند پویا باعث باز شدن مجدد یک برنامه شده است
،

می‌توانید از این API REST برای دریافت داده‌های تحلیلی برای هر یک از پیوندهای پویای کوتاه خود، چه در کنسول یا به صورت برنامه‌نویسی ایجاد شده‌اند، استفاده کنید.

مجوز API

هنگامی که برای API های تجزیه و تحلیل پیوند پویا درخواست می کنید، باید یک نشانه دسترسی OAuth 2.0 را اضافه کنید که اجازه دسترسی به پروژه Firebase شما را می دهد.

می‌توانید با استفاده از کتابخانه سرویس گیرنده Google API، نشانه‌های دسترسی را دریافت کنید:

  1. همانطور که در راهنمای تنظیم Admin SDK توضیح داده شده است ، Firebase را به برنامه خود اضافه کنید . یعنی یک حساب کاربری ایجاد کنید و یک کلید خصوصی ایجاد کنید.
  2. از کتابخانه سرویس گیرنده Google API برای دریافت رمز دسترسی از اعتبار حساب سرویس خود استفاده کنید:

    جاوا

    استفاده از Google API Client Library برای جاوا :

    // 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 Client Library برای 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 API
کلیک تعداد هر کلیک روی پیوند پویا، صرف نظر از نحوه مدیریت و مقصد آن
تغییر مسیر تعداد تلاش‌ها برای هدایت کاربران، به اپ استور یا پلی استور برای نصب یا به‌روزرسانی برنامه، یا به مقصد دیگری
APP_INSTALL تعداد نصب های واقعی (فقط توسط Play Store پشتیبانی می شود)
APP_FIRST_OPEN تعداد اولین بازها پس از نصب
APP_RE_OPEN تعداد دفعاتی که پیوند پویا باعث باز شدن مجدد یک برنامه شده است