راهنمای پیاده‌سازی API Cross Web and App

API گزارش‌دهی انتساب، امکان انتساب متقابل برنامه و وب را برای منابع و محرک‌هایی که در یک دستگاه رخ می‌دهند، فراهم می‌کند. مرورگرهایی مانند کروم، می‌توانند ثبت منابع و محرک‌ها را به API گزارش‌دهی انتساب برای اندروید واگذار کنند، به جای اینکه این ثبت‌ها را در مرورگر مدیریت کنند. این به اندروید اجازه می‌دهد تا منابع و محرک‌ها را در سایت‌ها و برنامه‌ها مطابقت دهد.

این راهنما به شما نحوه تنظیم اتریبیوشن بین اپلیکیشنی و وب را آموزش می‌دهد.

همانطور که اتریبیوشن بین برنامه‌ای و وب را تنظیم می‌کنید، اکیداً توصیه می‌شود که با راه‌حل‌های اشکال‌زدایی موجود نیز آشنا شوید تا مطمئن شوید که تنظیمات شما طبق برنامه کار می‌کند.

ثبت منابع و تریگرها با سیستم عامل اندروید

انتساب بین اپلیکیشنی و وب تنها در صورتی در دسترس خواهد بود که API گزارش‌دهی انتساب هم در مرورگر و هم در سیستم عامل اندروید در همان دستگاه فعال باشد. در دسترس بودن API گزارش‌دهی انتساب اندروید از طریق هدر Attribution-Reporting-Support ارسال می‌شود. این هدر، بسته به آنچه در آن دستگاه موجود است، os، web یا هر دو را برمی‌گرداند. اگر هر دو در دسترس باشند، تکنسین‌های تبلیغات می‌توانند منابع وب و تریگرهای وب را با مرورگر یا سیستم عامل ثبت کنند.

تکنسین تبلیغات باید تصمیم بگیرد که آیا منبع وب یا تریگر وب را در مرورگر ثبت کند یا در سیستم عامل.

  • برای کمپین‌های مختص وب، تکنسین‌های تبلیغات همچنان می‌توانند هم منابع و هم تریگرها را با API گزارش‌دهی نسبت‌دهی کروم ثبت کنند یا هر دو را به سیستم‌عامل واگذار کنند. برای کمپین‌های مختص وب که در آن‌ها منبع یا تریگر ممکن است در یک WebView رخ دهد، تکنسین‌های تبلیغات باید ثبت منبع و تریگر را به سیستم‌عامل واگذار کنند. برای اطلاعات بیشتر به بخش WebViews مراجعه کنید.
  • تکنسین‌های تبلیغات باید از ثبت همزمان منابع و تریگرها با هر دو API کروم و اندروید خودداری کنند تا از ایجاد گزارش‌های انتساب تکراری جلوگیری شود.

  • انتساب برای مرورگرها و سیستم عامل به طور جداگانه اتفاق می‌افتد. اگر منبعی در مرورگر ثبت شده باشد اما تریگر در سیستم عامل ثبت شده باشد، این دو قابل تطبیق نیستند و برعکس.

  • برای منابعی که ممکن است منجر به یک برنامه یا یک تریگر وب شوند، اکیداً توصیه می‌شود که تکنسین تبلیغات، ثبت منابع وب و تریگر را به API گزارش‌دهی نسبت‌دهی اندروید (Android Attribution Reporting API) واگذار کند.

  • برای محرک‌هایی که ممکن است توسط منابع مبتنی بر برنامه هدایت شده باشند، تکنسین تبلیغات می‌تواند ثبت محرک وب را به API گزارش‌دهی نسبت‌دهی اندروید (Android Attribution Reporting API) واگذار کند.

  • برای کمپین‌هایی که هم منبع و هم محرک در یک برنامه اتفاق می‌افتند، هر دو باید در رابط برنامه‌نویسی گزارش‌دهی نسبت‌دهی سیستم‌عامل (OS Attribution Reporting API) ثبت شوند.

یک منبع برنامه و تریگر وب ثبت کنید

برای برخی از کمپین‌ها، منبع ممکن است در یک برنامه رخ دهد در حالی که عامل محرک در یک وب‌سایت در مرورگر تلفن همراه در همان دستگاه رخ می‌دهد.

مثال

کاربری در حال خواندن مقالات در برنامه خبری مورد علاقه‌اش است. او تبلیغی برای پروازهای ارزان به پاریس می‌بیند و با هیجان برای رزرو کلیک می‌کند. تکنسین تبلیغاتی که تبلیغ را در برنامه خبری ارائه می‌دهد، منبع کلیک را با API گزارش‌دهی نسبت‌دهی اندروید ثبت می‌کند. کاربر به صفحه وب تبلیغ‌کننده در کروم منتقل می‌شود که در آنجا می‌تواند تبدیل کند. تکنسین تبلیغاتی در سایت تبلیغ‌کننده بررسی می‌کند که آیا API سطح سیستم عامل در دسترس است یا خیر، و همینطور است. تکنسین تبلیغاتی با دستور دادن به کروم برای واگذاری ثبت نام به سیستم عامل به جای ثبت مستقیم آن با API گزارش‌دهی نسبت‌دهی کروم، محرک تبدیل را ثبت می‌کند. سپس API گزارش‌دهی نسبت‌دهی سطح سیستم عامل می‌تواند منبع برنامه و محرک وب را مطابقت دهد و گزارش‌های مربوطه را ارسال کند.

جریان انتساب برنامه به وب
جریان انتساب برنامه به وب

ثبت منبع برنامه:

  1. کیت توسعه نرم‌افزار (SDK) فناوری تبلیغات در اپلیکیشن اندروید Daily News، کلیک را با استفاده از registerSource() ثبت می‌کند.

  2. رابط برنامه‌نویسی کاربردی گزارش‌دهی انتساب در اندروید، درخواستی را به آدرس اینترنتی سرور فناوری تبلیغات ارائه شده به registerSource() ارسال می‌کند.

  3. سرور فناوری تبلیغات با هدر Attribution-Reporting-Register-Source پاسخ می‌دهد تا ثبت منبع را تکمیل کند.

ثبت تریگر وب:

  1. تکنسین تبلیغات یک تریگر ثبت می‌کند و در دسترس بودن سیستم عامل را در API گزارش‌دهی تخصیص بررسی می‌کند.

  2. ARA وب اطلاعاتی در مورد پلتفرم پشتیبانی شده ارائه می‌دهد.

  3. هدر OS-Trigger به رابط برنامه‌نویسی کاربردی وب ARA می‌گوید که تابع registerWebTrigger() رابط برنامه‌نویسی کاربردی OS ARA را فراخوانی کند.

  4. فراخوانی تابع registerWebTrigger() به صورت مخفیانه انجام می‌شود و توسعه‌دهنده نیازی به فراخوانی مستقیم registerWebTrigger() با سیستم‌عامل ندارد.

  5. OS ARA کنترل را به دست می‌گیرد و درخواستی را به آدرس اینترنتی سرور فناوری تبلیغات که توسط هدر Attribution-Reporting-Register-OS-Trigger ارائه شده است، ارسال می‌کند.

  6. تکنسین تبلیغات، ثبت تریگر را با رابط برنامه‌نویسی سیستم عامل تکمیل خواهد کرد.

  7. سیستم عامل OS ARA، تخصیص را طبق همان منطقی که برای تخصیص app<>app اعمال می‌شود، انجام می‌دهد و گزارش‌های مشابهی را ارسال می‌کند.

گردش کار

مراحل زیر شامل جزئیات بیشتر در مورد نحوه انجام کار است:

  1. فناوری تبلیغات این برنامه، منبعی را با تنظیمات زیر در API گزارش‌دهی انتساب اندروید ثبت می‌کند:

    • برای ثبت یک منبع برنامه که انتظار می‌رود در یک وب‌سایت تبدیل شود، هدر پاسخ Attribution-Reporting-Register-Source باید به جای یک مقصد برنامه، شامل یک مقصد وب (eTLD+1) باشد.
    Attribution-Reporting-Register-Source: {
        "web_destination": "https://advertiser.example",
        ...
    }
    
    • برخی از تبلیغ‌کنندگان ممکن است از چندین ارائه‌دهنده اندازه‌گیری (مثلاً یک ابزار اندازه‌گیری شخص ثالث یا یک ابزار تحلیلی) با استفاده از زنجیره‌های ریدایرکت 302 استفاده کنند. در برخی موارد، API گزارش‌دهی نسبت‌دهی (Attribution Reporting API) مسیر ریدایرکت مشخص شده در هدر Attribution-Reporting-Redirect را در پس‌زمینه دنبال می‌کند و همزمان مسیر ریدایرکت 302 برای درخواست‌های ناوبری موجود در پیش‌زمینه اجرا می‌شود. این درخواست‌ها به یک URL یکسان می‌روند و می‌توانند منجر به شمارش مجدد ثبت‌نام‌ها توسط ارائه‌دهنده اندازه‌گیری شخص ثالث شوند. برای جلوگیری از شمارش مجدد ثبت‌نام‌ها، تکنسین‌های تبلیغات می‌توانند رفتار ریدایرکت را تغییر دهند تا ثبت‌نام API گزارش‌دهی نسبت‌دهی را به یک URL جایگزین اما قطعی ارسال کنند.
    • برای فعال کردن این رفتار، تکنسین‌های تبلیغات باید هنگام پاسخ به درخواست ثبت‌نام، یک هدر HTTP جدید اضافه کنند:

      • عنوان Attribution-Reporting-Redirect-Config است.
      • مقدار هدر باید redirect-302-to-well-known باشد.
      Attribution-Reporting-Redirect-Config: redirect-302-to-well-known
      
    • بقیه فرآیند ثبت منبع مشابه ثبت منبع استاندارد از یک برنامه به برنامه دیگر است.

  2. فناوری تبلیغات در وب‌سایت تبلیغ‌کننده، با درخواست از کروم برای واگذاری ثبت به API گزارش‌دهی نسبت‌دهی اندروید، تریگر را ثبت می‌کند:

    • به محض اینکه کاربری تبدیلی را در یک وب‌سایت انجام می‌دهد، شرکت تبلیغاتی درخواستی برای ثبت تریگر در کروم ارسال می‌کند.

      1. می‌توان از یک درخواست پیکسل یا fetch() برای ایجاد درخواست ثبت یک تریگر استفاده کرد.

      2. هدر درخواست Attribution-Reporting-Support توسط کروم به فناوری تبلیغات برگردانده می‌شود. اگر API هم در مرورگر کروم و هم در دستگاه اندروید فعال باشد، هدر os, web را برمی‌گرداند.

      Attribution-Reporting-Support: os, web
      
    • سپس تکنسین تبلیغات باید با استفاده از هدر Attribution-Reporting-Register-OS-Trigger به کروم بگوید که به سیستم‌عامل واگذار شود که:

      1. به کروم می‌گوید که ثبت نام را به سیستم عامل واگذار کند

      2. کروم با فراخوانی تابع registerWebTrigger() از API سیستم‌عامل، ثبت را به سیستم‌عامل واگذار می‌کند.

        • فراخوانی تابع registerWebTrigger() به صورت مخفیانه انجام می‌شود، تکنسین تبلیغات نیازی به فراخوانی مستقیم registerWebTrigger() ندارد.
      3. رابط برنامه‌نویسی سیستم عامل، یک فراخوانی رابط برنامه‌نویسی ثانویه به آدرس اینترنتی فناوری تبلیغات که از مرورگر ارسال شده است، آغاز می‌کند.

      Attribution-Reporting-Register-OS-Trigger: "https://adtech.example/register-trigger",
      "https://other-adtech.example/register-trigger"
      
    • در برخی موارد، هدر Attribution-Reporting-Support در دسترس نیست و نمی‌توان آن را ارسال کرد. وقتی این اتفاق می‌افتد، تکنسین تبلیغات همچنان می‌تواند با وارد کردن هدر Attribution-Reporting-Info ، یک پلتفرم ترجیحی را برای مدیریت ثبت تریگر تنظیم کند. کلید، preferred-platform است و مقادیر مجاز os و web هستند. مرورگر در صورت وجود، از پلتفرم ترجیحی استفاده می‌کند و در صورت عدم دسترسی به سیستم عامل، به پلتفرم وب برمی‌گردد.

    Attribution-Reporting-Info: preferred-platform=os
    
    • برای تکمیل ثبت تریگر، نقطه پایانی فناوری تبلیغات باید با استفاده از هدر پاسخ به درخواست API گزارش‌دهی نسبت‌دهی اندروید (Android Attribution Reporting API) پاسخ دهد.
    Attribution-Reporting-Register-Trigger: {
        "event_trigger_data": [{"trigger_data":"1"}],
        "aggregatable_trigger_data": [
            {"key_piece":"0x400","source_keys":["campaignCounts"]},
            {"key_piece":"0xA80","source_keys":["geoValue"]}
        ],
        ...
    }
    

یک منبع وب و یک تریگر برنامه ثبت کنید

برای برخی از کمپین‌ها، ممکن است منبع در یک سایت در مرورگر تلفن همراه رخ دهد در حالی که عامل محرک در یک برنامه در همان دستگاه رخ می‌دهد.

مثال

کاربری در مرورگر کروم گوشی اندروید خود در حال گشت و گذار در سایتی است. او تبلیغی برای یک ژاکت از یکی از فروشگاه‌های مورد علاقه‌اش می‌بیند. روی تبلیغ کلیک می‌کند و به برنامه‌ای که قبلاً دانلود کرده است، هدایت می‌شود. تکنسین تبلیغات در وب‌سایتی که تبلیغ در آن نمایش داده شده است، منبع کلیک را با دستور دادن به کروم برای واگذاری ثبت نام به API گزارش‌دهی نسبت‌دهی اندروید به جای استفاده از API گزارش‌دهی نسبت‌دهی در کروم، ثبت می‌کند. کاربر ژاکت را در برنامه خرید خریداری می‌کند. تکنسین تبلیغات در برنامه تبلیغ‌کننده، سپس عامل تبدیل را با API گزارش‌دهی نسبت‌دهی اندروید ثبت می‌کند. API گزارش‌دهی نسبت‌دهی در سطح سیستم عامل قادر است منبع وب و عامل برنامه را مطابقت دهد و گزارش‌های مربوطه را ارسال کند.

جریان انتساب وب به برنامه
جریان انتساب وب به برنامه

ثبت منبع وب:

  1. تکنسین تبلیغات، منبعی را ثبت می‌کند و در دسترس بودن سیستم عامل را در API گزارش‌دهی تخصیص بررسی می‌کند.

  2. ARA وب اطلاعاتی در مورد پلتفرم پشتیبانی شده ارائه می‌دهد.

  3. هدر OS-Source به رابط برنامه‌نویسی کاربردی وب ARA می‌گوید که تابع registerWebSource() رابط برنامه‌نویسی کاربردی OS ARA را فراخوانی کند.

  4. فراخوانی تابع registerWebSource() به صورت مخفیانه انجام می‌شود و توسعه‌دهنده نیازی به فراخوانی مستقیم تابع registerWebSource() با سیستم‌عامل ندارد.

  5. OS ARA کنترل را به دست می‌گیرد و درخواستی را به آدرس اینترنتی سرور فناوری تبلیغات که توسط هدر Attribution-Reporting-Register-OS-Source ارائه شده است، ارسال می‌کند.

  6. تکنسین تبلیغات، ثبت منبع را با رابط برنامه‌نویسی سیستم عامل تکمیل خواهد کرد.

ثبت ماشه برنامه:

  1. کیت توسعه نرم‌افزار (SDK) فناوری تبلیغات در اپلیکیشن اندروید فروشگاه پوشاک، تریگر را با OS ARA ثبت می‌کند.

  2. رابط برنامه‌نویسی کاربردی گزارش‌دهی انتساب در اندروید، درخواستی را به آدرس اینترنتی سرور فناوری تبلیغات ارائه شده برای registerTrigger() ارسال می‌کند.

  3. سرور فناوری تبلیغات با هدر Attribution-Reporting-Register-Trigger پاسخ می‌دهد تا ثبت تریگر را تکمیل کند.

  4. سیستم عامل OS ARA، تخصیص را طبق همان منطقی که برای تخصیص app<>app اعمال می‌شود، انجام می‌دهد و گزارش‌های مشابهی را ارسال می‌کند.

گردش کار

مراحل زیر شامل جزئیات بیشتر در مورد نحوه انجام کار است:

  1. فناوری تبلیغات در وب‌سایت ناشر، با دستور دادن به کروم برای واگذاری ثبت به API گزارش‌دهی اسناد اندروید، منبع را ثبت می‌کند:

    • برای یک مورد استفاده از وب به اپلیکیشن، هنگام ثبت یک منبع، پارامتر منبع انتساب باید مستقیماً مشخص شود، یا با استفاده از برچسب attributionsrc یا با استفاده از ثبت جاوا اسکریپت.
    • مثال زیر از تگ attributionsrc برای تعیین پارامتر منبع استفاده می‌کند:
    <img src="https://adtech.example/conversionpixel"
    attributionsrc="https://adtech.example/register-source?purchase=12">
    
  2. هدر درخواست Attribution-Reporting-Support توسط کروم به فناوری تبلیغات برگردانده می‌شود. اگر API هم در مرورگر کروم و هم در دستگاه اندروید فعال باشد، هدر os, web را برمی‌گرداند.

    Attribution-Reporting-Support: os, web
    
  3. تکنسین تبلیغات باید با استفاده از هدر Attribution-Reporting-Register-OS-Source به کروم بگوید که این وظیفه را به API سطح سیستم عامل واگذار کند که:

    1. به کروم می‌گوید که ثبت نام را به سیستم عامل واگذار کند
    2. کروم با فراخوانی تابع registerWebSource() از API سیستم‌عامل، ثبت را به سیستم‌عامل واگذار می‌کند.
    3. فراخوانی تابع registerWebSource() به صورت مخفیانه انجام می‌شود، تکنسین تبلیغات نیازی به فراخوانی مستقیم registerWebSource() ندارد.
    4. رابط برنامه‌نویسی سیستم عامل، یک فراخوانی رابط برنامه‌نویسی ثانویه به آدرس اینترنتی فناوری تبلیغات که از مرورگر ارسال شده است، آغاز می‌کند.
    Attribution-Reporting-Register-OS-Source: "https://adtech.example/register-source"
    
    • در برخی موارد، هدر Attribution-Reporting-Support در دسترس نیست. وقتی این اتفاق می‌افتد، تکنسین تبلیغات همچنان می‌تواند با وارد کردن هدر Attribution-Reporting-Info ، یک پلتفرم ترجیحی را برای مدیریت ثبت منبع تنظیم کند. کلید، preferred-platform است و مقادیر مجاز os و web هستند. مرورگر در صورت وجود از پلتفرم ترجیحی استفاده می‌کند و در صورت عدم دسترسی به سیستم عامل، به پلتفرم وب رجوع می‌کند.
    Attribution-Reporting-Info: preferred-platform=os
    
    • برای تکمیل ثبت منبع، نقطه پایانی فناوری تبلیغات باید به درخواست API گزارش‌دهی نسبت‌دهی اندروید با عنوان پاسخ Attribution-Reporting-Register-Source پاسخ دهد. پاسخ همچنین باید یک مقصد برنامه را در فیلد مقصد مشخص کند.
    Attribution-Reporting-Register-Source: {
        "source_event_id":"123001",
        "destination":"android-app://com.example.advertiser",
        ...
    }
    
    • برای پشتیبانی از تغییر مسیرها برای ثبت منابع، کروم تغییر مسیرها را دنبال می‌کند و APIهای زمینه وب را برای هر گام تغییر مسیر فراخوانی می‌کند.
    • بقیه ثبت منبع به قوت خود باقی است.
  4. فناوری تبلیغات در اپلیکیشن تبلیغ‌کننده، یک تریگر (فعال‌کننده) را در API گزارش‌دهی نسبت‌دهی اندروید (Android Attribution Reporting API) ثبت می‌کند:

کمپین‌هایی که هم مقاصد بالقوه اپلیکیشن و هم وب دارند

  1. تنظیم دو مقصد

    • برخی از کمپین‌ها ممکن است طوری تنظیم شوند که در اپلیکیشن تبلیغ‌کننده یا در صفحه وب تبلیغ‌کننده تبدیل شوند، که این امر به عوامل مختلفی مانند نصب اپلیکیشن توسط کاربر بستگی دارد.
    • در این موارد، توصیه می‌شود در صورت امکان، ثبت منبع را به سیستم عامل واگذار کنید تا بتوان منبع را صرف نظر از محل وقوع تریگر، به درستی نسبت داد. هنگام ثبت منبع در سیستم عامل، می‌توان هم مقصد برنامه و هم مقصد وب را در پارامترهای مربوطه مشخص کرد.
    • مقصد برنامه باید در فیلد destination باشد
    • مقصد وب باید در فیلد web_destination باشد.
    • توسعه‌دهندگان کروم باید توجه داشته باشند که فیلد destination برای API گزارش‌دهی نسبت‌دهی سیستم‌عامل باید یک بسته‌ی برنامه باشد و نه یک URL.
    Attribution-Reporting-Register-Source: {
        "source_event_id":"123001",
        "destination":"android-app://com.example.advertiser",
        "web_destination": "https://example.advertiser"
        ...
    }
    
    • بخش بعدی در مورد گزارش‌های کلی توضیح می‌دهد که چگونه استفاده از دو مقصد ممکن است بر نویز گزارش‌های شما تأثیر بگذارد.
  2. از گزارش‌دهی دقیق برای کاهش نویز در گزارش‌های سطح رویداد برای منابع مقصد دوگانه استفاده کنید:

    • اگر هم یک سیستم عامل (برنامه) و هم یک مقصد وب در ثبت منبع مشخص شده باشند، گزارش‌های سطح رویداد مشخص می‌کنند که آیا تریگر به طور پیش‌فرض در یک مقصد وب یا مقصد برنامه رخ داده است. با این حال، برای حفظ محدودیت‌های حریم خصوصی، نویز اضافی به این گزارش‌ها اضافه خواهد شد.
    • تکنسین‌های تبلیغات می‌توانند از فیلد coarse_event_report_destinations در زیر هدر Attribution-Reporting-Register-Source برای فعال کردن گزارش‌دهی درشت و کاهش نویز استفاده کنند. اگر منبعی با فیلد coarse_event_report_destinations مشخص شده، attribution را دریافت کند، گزارش حاصل شامل مقاصد برنامه و وب بدون تمایز در مورد محل وقوع تریگر واقعی است، اما با نویز کمتر نسبت به گزارش‌هایی که در آنها مقصد برنامه یا وب مشخص شده است.
    • گزارش‌های کلی بدون تغییر باقی می‌مانند.

برای برنامه‌هایی که از تب‌های سفارشی کروم استفاده می‌کنند

برخی از برنامه‌ها ممکن است از تب‌های سفارشی برای رندر محتوای وب استفاده کنند. تب‌های سفارشی هنگام مقایسه بین برنامه‌ها و وب‌سایت‌های موبایل، مشابه یک صفحه وب معمولی رفتار می‌کنند.

  1. یک منبع برنامه و تریگر تب سفارشی ثبت کنید:

  2. یک منبع تب سفارشی و تریگر برنامه ثبت کنید:

  3. یک منبع CCT و تریگر CCT ثبت کنید

برای برنامه‌هایی که از WebView استفاده می‌کنند

برخی از برنامه‌ها ممکن است از WebView برای نمایش محتوا استفاده کنند. موارد استفاده متنوعی برای WebView وجود دارد، مانند رندر کردن تبلیغات، میزبانی محتوای وب یا ویژگی‌های سفارشی برنامه که برای قالب وب مناسب‌تر هستند.

  1. برای اینکه WebViewها بتوانند از Attribution Reporting API استفاده کنند، برنامه‌ی جاسازی باید با مجوزهای صحیح پیکربندی شود.

  2. فقط انتساب در سطح سیستم‌عامل در WebView موجود است. هدر Attribution-Reporting-Support فقط os را برمی‌گرداند، و فقط در صورتی که API گزارش‌دهی انتساب اندروید در دسترس باشد.

  3. هنگام واگذاری اختیار به سیستم‌عامل، WebView ممکن است registerSource یا registerWebSource و registerTrigger یا registerWebTrigger استفاده کند. اینکه WebView از چه متدهایی استفاده کند، توسط برنامه‌ای که WebView را رندر می‌کند تعیین می‌شود و بر اساس هر WebView تعیین می‌شود.

    • تفاوت بین registerSource و registerWebSource در این است که کدام منبع به عنوان ناشر ثبت می‌شود. با registerSource ، برنامه به عنوان ناشر ثبت می‌شود؛ مثالی از زمان استفاده از registerSource می‌تواند یک برنامه ناشر باشد که تبلیغی را نشان می‌دهد که با استفاده از WebView رندر می‌شود. با registerWebSource ، وب‌سایتی که در WebView میزبانی می‌شود به عنوان ناشر ثبت می‌شود؛ مثالی از زمان استفاده از registerWebSource می‌تواند برنامه‌ای باشد که میزبان یک WebView است و وب‌سایتی که توسط WebView رندر می‌شود، تبلیغات را نشان می‌دهد. registerTrigger و registerWebTrigger رفتار مشابهی دارند. نمودار در مورد شماره ۳ سناریوهای مختلفی را برای زمانی که یک توسعه‌دهنده برنامه یا SDK می‌خواهد API را برای استفاده registerSource یا registerWebSource و registerTrigger یا registerWebTrigger پیکربندی کند، شرح می‌دهد.
    • به طور پیش‌فرض، WebView هنگام فراخوانی API گزارش‌دهی Android Attribution registerSource و registerWebTrigger استفاده می‌کند. این کار منابع را با برنامه مرتبط می‌کند و هنگام وقوع trigger، triggerها با مبدأ سطح بالای URL در WebView مرتبط می‌شوند.
      • اگر یک برنامه به رفتار متفاوتی نیاز داشته باشد، باید از متد جدید setAttributionRegistrationBehavior در کلاس androidx.webkit.WebViewSettingsCompat استفاده کند. این متد مشخص می‌کند که آیا WebView باید registerWebSource() یا registerWebTrigger() را به جای registerSource() یا registerTrigger() فراخوانی کند.

      • این رفتار باید برای هر WebView که آغاز می‌شود، تنظیم شود.

      • اگر SDK مربوط به فناوری تبلیغات، WebView را راه‌اندازی کند، SDK باید این رفتار پیش‌فرض را تنظیم کند.

      • برای برنامه‌هایی که مایل به استفاده از registerWebSource() برای مرتبط کردن ثبت منابع با وب‌سایت در WebView به جای برنامه هستند، باید به لیست مجاز WebApp بپیوندند. برای پیوستن به لیست مجاز، این فرم را تکمیل کنید . هدف از لیست مجاز، کاهش ملاحظات حریم خصوصی در مورد ایجاد اعتماد برای زمینه وب است.

      ارزش توضیحات مثال مورد استفاده
      APP_SOURCE_AND_WEB_TRIGGER (پیش‌فرض) به برنامه‌ها اجازه می‌دهد تا منابع برنامه (منابع مرتبط با نام بسته برنامه) و تریگرهای وب (تریگرهای مرتبط با eTLD+1) را از WebView ثبت کنند. برنامه‌هایی که از WebView برای نمایش تبلیغات به جای فعال کردن مرور وب استفاده می‌کنند
      منبع_وب_و_فعال_کننده_وب به برنامه‌ها اجازه می‌دهد تا منابع وب و تریگرهای وب را از WebView ثبت کنند. برنامه‌های مرورگر مبتنی بر WebView، که در آن‌ها نمایش تبلیغات و تبدیل‌ها می‌توانند هر دو در وب‌سایت‌های موجود در WebView اتفاق بیفتند.
      منبع برنامه و فعال کننده برنامه به برنامه‌ها اجازه می‌دهد تا منابع برنامه و محرک‌های برنامه را از WebView ثبت کنند. برنامه‌های مبتنی بر WebView که در آنها نمایش تبلیغات و تبدیل‌ها باید همیشه به برنامه مرتبط باشند، نه به eTLD+1 مربوط به WebView.
      معلول ثبت منبع و تریگر را از WebView غیرفعال می‌کند.
    1. منبع و تریگر کردن ثبت نام ها از WebView
    2. تکنسین‌های تبلیغات باید با استفاده از هدر Attribution-Reporting-Register-OS-Source به ثبت منابع پاسخ دهند. بر اساس رفتار تعیین‌شده برای WebView، این تابع یا registerSource() یا registerWebSource() را با سیستم‌عامل فراخوانی می‌کند و یک فراخوانی API ثانویه را از Android Attribution Reporting API به URI تکنسین تبلیغات آغاز می‌کند.

      • برای تکمیل ثبت منبع، نقطه پایانی فناوری تبلیغات باید به درخواست API گزارش‌دهی نسبت‌دهی اندروید با هدر پاسخ پاسخ دهد.
       Attribution-Reporting-Register-OS-Source: {
        "source_event_id":"123001",
        "destination":"android-app://com.example.advertiser",
        ...
      }
      
    3. بقیه ثبت منبع به قوت خود باقی است.

    4. تکنسین‌های تبلیغات باید با استفاده از هدر Attribution-Reporting-Register-OS-Trigger به ثبت‌های تریگر پاسخ دهند. بر اساس رفتار تنظیم‌شده برای WebView، این تابع یا registerTrigger() یا registerWebTrigger() را با سیستم‌عامل فراخوانی می‌کند و یک فراخوانی API ثانویه از Rb به URI تکنسین تبلیغات آغاز می‌کند.

    5. برای تکمیل ثبت تریگر، نقطه پایانی فناوری تبلیغات باید به درخواست API گزارش‌دهی نسبت‌دهی اندروید با هدر پاسخ پاسخ دهد.

    Attribution-Reporting-Register-OS-Trigger: {
        "event_trigger_data": [{"trigger_data":"1"}],
        "aggregatable_trigger_data": [
            {"key_piece":"0x400","source_keys":["campaignCounts"]},
            {"key_piece":"0xA80","source_keys":["geoValue"]}
        ],
        ...
    }
    

اشکال‌زدایی

هنگام تنظیم پیاده‌سازی وب برای یک برنامه، توصیه می‌شود گزارش‌های اشکال‌زدایی را تنظیم کنید تا تأیید شود که آیا منابع و محرک‌ها به درستی ثبت شده‌اند یا خیر، و اگر ثبت نشده‌اند، اطلاعاتی در مورد دلیل آن دریافت کنید.

برای مراحل کلی اشکال‌زدایی گزارش انتساب، به کتاب آشپزی اشکال‌زدایی مراجعه کنید.