ภาพรวมของ API หัวข้อสำหรับอุปกรณ์เคลื่อนที่

แสดงความคิดเห็น

เกี่ยวกับ Topics API

ในการโฆษณาบนอุปกรณ์เคลื่อนที่ ผู้ลงโฆษณาต้องการแสดงโฆษณาที่เกี่ยวข้อง ความสนใจของผู้ใช้ เช่น หากผู้ใช้สนใจข้อมูลที่เกี่ยวข้องกับ การทำอาหาร พวกเขาอาจพบว่าโฆษณาเกี่ยวกับการทำอาหารนั้นเกี่ยวข้องกับตนมากกว่า โฆษณาที่ไม่เกี่ยวข้องกับความสนใจของผู้ใช้ได้

การโฆษณาตามบริบทจะพิจารณาจากความสนใจที่ได้รับจาก เนื้อหาปัจจุบันที่กำลังดู (และโฆษณาบน) ข้อดีอย่างหนึ่งของ Topics API คือช่วยให้แอปที่เป็นประโยชน์ต่อผู้ใช้ แต่อาจมีประโยชน์ สร้างรายได้ผ่านการโฆษณาตามบริบทไม่ได้ง่ายนัก เพื่อแสดงโฆษณาที่เกี่ยวข้องมากขึ้น ให้กับผู้ใช้มากกว่าที่ควรจะเป็น ซึ่งช่วยสนับสนุนเงินทุนให้กับแอป ที่ผู้ใช้ใช้งาน

Topics API อนุมานสัญญาณความสนใจแบบหยาบๆ บนอุปกรณ์โดยอิงตาม การใช้งานแอปของผู้ใช้ สัญญาณเหล่านี้เรียกว่าหัวข้อ จะแชร์กับผู้ลงโฆษณา รองรับสัญญาณที่มาจากผู้บริโภคและสัญญาณของบุคคลที่หนึ่งอื่นๆ โดยไม่ต้องติดตาม ผู้ใช้รายบุคคลในแอปต่างๆ

Topics API ออกแบบมาเพื่อรองรับ SDK โฆษณาของบุคคลที่สามที่ มักทำงานในหลายแอป การสนับสนุนนี้จะมาในรูปของ แสดงความสนใจข้ามแอปบางส่วนที่ปกติแล้ว SDK เหล่านั้นทำ สังเกตการณ์ นักพัฒนาแอปแต่ละรายไม่ควรคาดหวังว่าจะต้องเรียนรู้เพิ่มเติม ข้อมูลเกี่ยวกับผู้ใช้ได้

หัวข้อสำคัญ

  • หัวข้อคือหัวข้อที่ผู้ใช้นี้สนใจและเป็นส่วนหนึ่งของ การจัดหมวดหมู่ Topics
  • ผู้โทรสังเกตหัวข้อ (แอปหรือ SDK ของบุคคลที่สามที่ใช้ใน แอป) หากผู้โทรส่งคำขอ Topics API จากแอปที่เชื่อมโยงกับ หัวข้อนี้ในช่วง 3 Epoch ที่ผ่านมา
  • Epoch คือระยะเวลาของการคำนวณหัวข้อ เช่น 1 สัปดาห์

วิธีการทำงาน

ด้วยข้อเสนอนี้ Topics API มีเจตนาที่จะให้บริการ หัวข้อโฆษณาแบบละเอียดตามความสนใจตามการใช้แอปของผู้ใช้ โดยหัวข้อเหล่านี้สามารถใช้เพื่อเสริมข้อมูลบริบทที่เกี่ยวข้องกับ แอปที่ต้องการแสดงโฆษณา และรวมเข้าด้วยกันได้เพื่อช่วยค้นหา โฆษณาให้แก่ผู้ใช้

โปรดดูคู่มือนักพัฒนาซอฟต์แวร์ Topics API เพื่อดูตัวอย่างโค้ดที่แสดง วิธีตั้งค่าความสามารถในการดึงหัวข้อสำหรับการโฆษณาตามความสนใจ หมายเหตุ: API ยังไม่สมบูรณ์

หัวข้อจะเลือกจากการจัดหมวดหมู่โอเพนซอร์สที่กำหนดไว้ล่วงหน้า

แพลตฟอร์มจะใช้โมเดลตัวแยกประเภทเพื่ออนุมานหัวข้อ หัวข้อ การติดตั้งใช้งาน API และการใช้งานตัวแยกประเภทจะเป็นส่วนหนึ่งของ Android เป็นโครงการโอเพนซอร์ส และจะปรับปรุงอย่างต่อเนื่อง

เพื่อเป็นการอธิบาย ตัวอย่างโค้ดต่อไปนี้จะแสดงให้เห็นถึงการใช้งาน หัวข้อที่จะดึงโฆษณาตามความสนใจ API ที่ใช้ที่นี่ยังไม่เป็นที่สิ้นสุด

// Initialize the Topics API.
…
topicsFuture = AdvertisingTopicsClient.getTopics();

// Retrieve Topics and use them in Ad request.
Futures.addCallback(
    topicsFuture,
    new FutureCallback<AdvertisingTopicsInfo>() {
        @Override
        public void onSuccess(@Nullable AdvertisingTopicsInfo topicsInfo) {
            // Sanitize Topics result.
            ...
            // Initialize ad request with Topics obtained.
            AdRequest adRequest = AdRequest.initialize(topicsInfo);
        }

        @Override
        public void onFailure(Throwable t) {
            // Handle error.
            ...
        }
});

เพื่อให้เข้าใจมากขึ้นเกี่ยวกับวิธีการทำงานของรูปแบบตัวแยกประเภท คุณสามารถทดสอบ วิธีที่ข้อมูลแอปแบบต่างๆ ตอบสนองในระบบโดยใช้ตัวแยกประเภทหัวข้อของ Android Colab

รับสิทธิ์เข้าถึง Topics API

แพลตฟอร์มเทคโนโลยีโฆษณาต้องลงทะเบียนเพื่อเข้าถึง Topics API โปรดดู ลงทะเบียนบัญชี Privacy Sandbox เพื่อรับข้อมูลเพิ่มเติม

รายละเอียด

  • เมื่อแต่ละ Epoch (เช่น สัปดาห์ละครั้ง) ระบบจะคํานวณหัวข้อยอดนิยม 5 อันดับแรกของผู้ใช้ โดยใช้ข้อมูลในอุปกรณ์

    • เมื่อมีการเรียก Topics API แพลตฟอร์มจะตรวจสอบว่าหัวข้อหนึ่งๆ คือ ที่กำหนดให้กับแอปที่เรียกใช้ API หากยังไม่มี หัวข้อหนึ่งจะมีการเลือกดังนี้ และหัวข้อที่เลือกจะเป็น ที่กำหนดให้กับแอปนี้สำหรับส่วนที่เหลือของ Epoch นี้
      • ด้วยความน่าจะเป็น 95% จะมีการสุ่มเลือกหัวข้อจากรายการ หัวข้อ 5 อันดับแรกที่คำนวณสำหรับ Epoch นั้น
      • ด้วยความน่าจะเป็น 5% หัวข้อจะถูกสุ่มเลือกจากการจัดหมวดหมู่
      • ผู้โทรสามารถระบุได้ว่าต้องการเรียกดูหัวข้อโดยไม่มี โปรดแก้ไขสถานะโดยเรียกใช้ getTopics โดยใช้พารามิเตอร์ shouldRecordObservation = false ซึ่งหมายความว่าหัวข้อสามารถ แสดงผล แต่การโทรจะไม่รวมอยู่ใน Epoch รายสัปดาห์ การคำนวณ และจะไม่อัปเดตรายการหัวข้อที่พบสำหรับ ของผู้โทร
    • เหตุผลที่แต่ละแอปมีหัวข้อใดหัวข้อหนึ่งจากหลายหัวข้อคือ ทำให้แอปแต่ละรายการมีหัวข้อไม่เหมือนกัน จึงทำให้แอปยากขึ้น เพื่อเชื่อมโยงผู้ใช้รายเดียวกัน
      • ตัวอย่างเช่น แอป A อาจเห็นหัวข้อ T1 สำหรับผู้ใช้ แต่แอป B อาจ ดูหัวข้อ T2 ซึ่งทำให้ทั้ง 2 แอป แสดงว่าข้อมูลนี้เชื่อมโยงกับผู้ใช้รายเดียวกัน
  • Topics API จะแสดงรายการสูงสุด 3 หัวข้อ โดย 1 รายการสำหรับแต่ละ 3 หัวข้อที่ผ่านมา Epoch

    • ด้วยการระบุหัวข้อสูงสุด 3 หัวข้อ แอปที่ไม่ได้ใช้บ่อยจึงจะเพียงพอ เพื่อค้นหาโฆษณาที่เกี่ยวข้อง แต่แอปที่ใช้บ่อยจะเรียนรู้ หัวข้อใหม่ 1 หัวข้อต่อสัปดาห์
    • ข้อมูลหัวข้อที่แสดงผลมีรหัสหัวข้อ (int) ที่เกี่ยวข้อง ไปยังรายการในการจัดหมวดหมู่ เวอร์ชันการจัดหมวดหมู่ และโมเดลตัวแยกประเภท เวอร์ชัน
    • เฉพาะผู้โทรที่สังเกตเห็นว่าผู้ใช้ใช้แอปที่เชื่อมโยงกับหัวข้อ ที่เป็นปัญหาภายใน 3 Epoch ที่ผ่านมาจะได้รับหัวข้อ
    • หัวข้อทั้งหมดที่แสดงผลจะหมายถึงความสนใจของผู้ใช้ และคุณสามารถ เลือกหัวข้อใดหัวข้อหนึ่งหรือทั้งหมดเหล่านี้สำหรับการปรับโฆษณาตามโปรไฟล์ของผู้ใช้ในโฆษณาของคุณ อีกครั้ง
  • หลังจากกำหนดหัวข้อให้กับแอปที่เรียกใช้ Topics API แล้ว จะกำหนดว่าผู้โทรจะได้รับหัวข้อนี้ได้หรือไม่

    • เฉพาะผู้โทรที่สังเกตเห็นการมีส่วนร่วมของผู้ใช้ในแอปที่เชื่อมโยงกับ หัวข้อที่เป็นปัญหาภายใน 3 Epoch ที่ผ่านมาสามารถรับหัวข้อนั้นได้
    • หากก่อนหน้านี้ผู้โทรไม่ได้เรียกใช้ API สำหรับผู้ใช้รายนั้นในแอป เกี่ยวกับหัวข้อนั้น หัวข้อนั้นจะไม่รวมอยู่ในรายการ ที่ API แสดงผล
    • หากผู้โทรไม่ได้รับหัวข้อใดๆ ใน 3 Epoch ที่ผ่านมา Topics API จะแสดงผลรายการที่ว่างเปล่า

    เช่น สมมติว่าผู้ใช้ติดตั้งแอป 7 แอปในอุปกรณ์คือ A, B, C, D, E F และ G สมมติว่าการจัดประเภทหัวข้อสำหรับแอปและโฆษณา SDK ทางเทคนิคในแอปเหล่านี้มีดังนี้

    App การจัดประเภทหัวข้อ SDK เทคโนโลยีโฆษณา
    A T1, T5 SDK โฆษณา 1, SDK โฆษณา 2
    B T2 SDK โฆษณา 2
    C T3, T6 SDK โฆษณา 3, SDK โฆษณา 4
    D T1 และ T4 SDK โฆษณา 1
    E T5 SDK โฆษณา 4, SDK โฆษณา 5
    F T6 SDK โฆษณา, SDK โฆษณา 3, SDK โฆษณา 4
    G T7 SDK โฆษณา 2
    • สิ้นสุดสัปดาห์ที่ 1: Topics API จะสร้างหัวข้อยอดนิยม 5 อันดับแรกของผู้ใช้สำหรับกระบวนการนี้ Epoch
    หัวข้อยอดนิยม ผู้โทรที่ดูข้อมูลเกี่ยวกับหัวข้อนี้ได้
    T1 SDK โฆษณา 1, SDK โฆษณา 2
    T2 SDK โฆษณา 2
    T3 SDK โฆษณา 3, SDK โฆษณา 4
    T4 SDK โฆษณา 1
    T5 SDK โฆษณา 1, SDK โฆษณา 2, SDK โฆษณา 4, SDK โฆษณา 5
    • ในสัปดาห์ที่ 2 หากผู้โทรในแอปใดก็ตามเรียกใช้ API หัวข้อที่แสดงผล รายการจะรวมเฉพาะหัวข้อที่ผู้โทรอยู่ใน "ผู้โทร" ที่สามารถเรียนรู้เกี่ยวกับหัวข้อนั้น" ของหัวข้อดังกล่าวสำหรับแอปนั้น Epoch นั้นได้เลย
    • หน้าต่างประวัติที่ใช้ในการคำนวณหัวข้อที่มี ผู้โทรแต่ละรายคือ 3 Epoch (หรือ 3 สัปดาห์)
    • เฉพาะหัวข้อที่เชื่อมโยงกับแอปที่เรียกใช้ Topics API ผ่านโฆษณา มีการใช้ SDK หมายความว่าหากแอปไม่มี SDK โฆษณาใดๆ ที่เรียกใช้ Topics API, หัวข้อที่เชื่อมโยงกับแอปดังกล่าวไม่ ร่วมให้ข้อมูลในกลุ่มหัวข้อที่เข้าถึงได้โดย SDK โฆษณา
    • แอปยังสามารถประกาศว่าเลือกไม่ใช้ Topics API ผ่าน ไฟล์ Manifest และองค์ประกอบ XML เพื่อไม่อนุญาตให้ SDK โฆษณาใช้ API ของแอปนั้น หัวข้อที่เชื่อมโยงกับแอปที่เลือกไม่ใช้จะไม่ ในการคำนวณหัวข้อรายสัปดาห์ เอกสารนี้จะ อัปเดตให้รวมรายละเอียดการใช้งานที่เกี่ยวข้อง
  • หากใช้แอปสำหรับแพลตฟอร์มไม่เพียงพอที่จะอนุมาน 5 หัวข้อได้ แพลตฟอร์มอาจพิจารณาตัวเลือกต่างๆ เช่น การสร้างหัวข้อที่เหลือแบบสุ่ม

การจัดหมวดหมู่

  • ในข้อเสนอปัจจุบัน การจัดหมวดหมู่เริ่มต้นจะรวมช่วงเวลาระหว่าง ไม่กี่แสนหัวข้อ ข้อเสนอการจัดหมวดหมู่เริ่มต้นจะ ถูกแชร์ในการอัปเดตเอกสารนี้ในอนาคต
  • การจัดหมวดหมู่นี้จะได้รับการจัดการโดยมนุษย์เพื่อให้หัวข้อที่ละเอียดอ่อนไม่เป็นส่วนหนึ่งของ การจัดหมวดหมู่
  • ระบบจะปรับการจัดหมวดหมู่นี้ให้เหมาะกับหมวดหมู่โฆษณาที่สามารถแสดง บนอุปกรณ์เคลื่อนที่ใน Android
  • การจัดหมวดหมู่มีให้บริการแบบสาธารณะและอาจมีการเปลี่ยนแปลง คุณส่งความคิดเห็นได้โดยใช้ปุ่มความคิดเห็นที่ด้านบนของหน้านี้

ตัวแยกประเภทหัวข้อ

หัวข้อที่สนใจได้มาจากโมเดลตัวแยกประเภทที่มีการฝึกกับ ข้อมูลแอปที่เผยแพร่ต่อสาธารณะ (เช่น ชื่อแอป คำอธิบาย และแพ็กเกจ) )

  • เมื่อใช้โมเดลตัวแยกประเภทสำหรับการอนุมานเพื่อคำนวณหัวข้อสำหรับ เมื่อระบุ Epoch ชุดสัญญาณที่ใช้จะยังคงอยู่ในอุปกรณ์ ชุดของ สัญญาณดังกล่าวอาจรวมถึงแอปที่ติดตั้งหรือใช้เมื่อเร็วๆ นี้ และอาจเป็น ครอบคลุมสัญญาณอื่นๆ ด้วย
  • Google จะฝึกโมเดลเริ่มต้น โดยข้อมูลการฝึกประกอบด้วย ป้ายกำกับที่มนุษย์ดูแลจัดการสำหรับข้อมูลแอปที่เผยแพร่ต่อสาธารณะ โมเดลจะ ให้แอปสามารถทดสอบเพื่อดูหัวข้อที่แอปจัดหมวดหมู่ เป็น
  • โมเดลเริ่มต้นจะได้รับการฝึกเกี่ยวกับข้อมูลของแอปที่เผยแพร่ต่อสาธารณะ จาก App Store ที่จำกัดอย่าง Google Play Store
  • อาจเป็นไปได้ว่าแอปแมปกับหัวข้อมากกว่า 1 หัวข้อ ไม่แมปหัวข้อเลย หรือ ระบบจะไม่เพิ่มในประวัติหัวข้อของผู้ใช้ ในกรณีที่แอปแมปกับ มากกว่า 1 หัวข้อในการจัดหมวดหมู่ จำนวนหัวข้อที่เลือกสำหรับแอปนี้ จะจำกัดอยู่ที่ 3 อันดับแรก

การควบคุมของผู้ใช้

  • การออกแบบนี้มีไว้เพื่อให้ผู้ใช้ดูและนำ หัวข้อที่เกี่ยวข้องกับการใช้งานแอปของตน การนำไปใช้งาน ความสามารถในการควบคุมของผู้ใช้ยังอยู่ระหว่างการพัฒนา และจะรวมไว้ใน อัปเดตในอนาคต
  • หากผู้ใช้ถอนการติดตั้งแอปที่มีส่วนร่วมในการเลือกแอป หัวข้อที่อนุมานใน 3 Epoch ที่ผ่านมา หัวข้อนั้นจะไม่ถูกนำออกจาก รายการหัวข้อที่แสดงผลสำหรับ 3 Epoch ที่ผ่านมาเพื่อหลีกเลี่ยงการเปิดเผย ข้อมูลเกี่ยวกับการถอนการติดตั้ง

เพื่อช่วยอำนวยความสะดวกในการทดสอบประสบการณ์การใช้งานของผู้ใช้ปลายทาง คุณสามารถ เปิด Intent ในแอปเพื่อดู UI การตั้งค่าสำหรับหัวข้อที่คล้ายกันด้วย กับลักษณะการแสดงผลของผู้ใช้ปลายทาง ดูตัวอย่างการโทรดังกล่าวได้ที่ด้านล่าง

//Button that launches settings UI
private Button mSettingsAppButton;
private static final String RB_SETTING_APP_INTENT = "android.adservices.ui.SETTINGS";


//Does setup for button on screen that will launch settings UI to observe Topics
private void registerLaunchSettingsAppButton() {
    mSettingsAppButton.setOnClickListener(
        new View.OnClickListener() {

            @Override
            public void onClick(View view) {
                Context context = getApplicationContext();
                Intent activity2Intent = new Intent(RB_SETTING_APP_INTENT);
                activity2Intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
                context.startActivity(activity2Intent);
            }
        });
}

ลงทะเบียนแพลตฟอร์มเทคโนโลยีโฆษณา

ในการเข้าถึง Topics API แพลตฟอร์มเทคโนโลยีโฆษณาทั้งหมด (รวมถึง Google) จะต้อง ทำตามกระบวนการลงทะเบียน

นักพัฒนาแอปสามารถจัดการนักพัฒนาเทคโนโลยีโฆษณาที่สามารถเข้าถึง Topics API ได้โดยทำดังนี้ ใส่รหัสการลงทะเบียนของนักพัฒนาซอฟต์แวร์เทคโนโลยีโฆษณาในไฟล์ Manifest ของแอป

การเข้ารหัสของหัวข้อที่แสดงผล

แพลตฟอร์มเทคโนโลยีโฆษณาที่ลงทะเบียนซึ่งเรียกใช้ Topics API จะต้องระบุด้วย คีย์การเข้ารหัสเพื่อให้แน่ใจว่าหัวข้อที่แสดงผลจะอ่านได้เฉพาะกับ ของผู้โทร

Privacy Sandbox จะดึงข้อมูลคีย์เหล่านี้จากปลายทางเทคโนโลยีโฆษณาที่จัดหาให้ พ แนวทางปฏิบัติแนะนำคือต้องอัปเดตคีย์บ่อยๆ แต่ไม่ต้องอัปเดตในภายหลัง ทุก 6 เดือน

Privacy Sandbox จะขอให้เทคโนโลยีโฆษณายืนยันความพร้อมใช้งานของอุปกรณ์ปลายทาง ที่ได้จากเทคโนโลยีโฆษณาระหว่างกระบวนการลงทะเบียน สำหรับรายละเอียดเพิ่มเติมเกี่ยวกับ ต้องดำเนินการตามข้อกำหนดของ AdTech ปัจจุบันและที่ลงทะเบียนใหม่ โปรดดูส่วน "การลงทะเบียน" คู่มือนักพัฒนาซอฟต์แวร์

รายละเอียดการเข้ารหัส

เมื่อใช้การเข้ารหัส การเรียกไปยัง "GetTopics()" จะสร้าง การตอบกลับที่มีรายการ "EncryptedTopic" ออบเจ็กต์ การถอดรหัสผลลัพธ์เหล่านี้จะ ผลลัพธ์เป็นออบเจ็กต์ที่มีรูปแบบ JSON เดียวกันกับออบเจ็กต์ Topic ก่อนหน้านี้

Topics API รองรับการใช้งาน HPKE (คีย์สาธารณะแบบไฮบริด) การเข้ารหัส) เราคาดหวังว่าผู้โทรที่ลงทะเบียนจะโฮสต์คีย์สาธารณะ 32 บิตบน ปลายทาง URL การเข้ารหัสสาธารณะที่ระบุระหว่างการลงทะเบียน คีย์เหล่านี้จะ ต้องเข้ารหัส Base64

ออบเจ็กต์ EncryptedTopic มี 3 ช่อง รายการหัวข้อที่แสดงผลสามารถเป็น ที่ได้รับจากการใช้คีย์ส่วนตัวที่เกี่ยวข้องสำหรับคีย์สาธารณะ

คุณทดสอบการเข้ารหัส Topics API ได้โดยการปิดใช้ เพื่อวัตถุประสงค์ในการพัฒนา การตรวจสอบการลงทะเบียน การดำเนินการนี้จะบังคับให้ API ใช้คีย์สาธารณะทดสอบสำหรับ เพื่อเข้ารหัสคำตอบของคุณ คุณสามารถถอดรหัสหัวข้อที่เข้ารหัสได้โดยใช้ คีย์ส่วนตัวที่ตรงกัน