درباره Topics API در اندروید و مراحل اجرای آن بیاموزید. همچنین می توانید مستقیماً به اجرای موضوعات بپرید.
How the Topics API works
The Topics API can be used to observe and provide access to topics that appear to be of interest to the user, based on their activity. The Topics API can then give API callers (such as ad tech platforms) access to a user's topics of interest, but without revealing additional information about the user's activity.
Key concepts
- A topic is a human-readable topic of interest for the current user and is part of the Topics taxonomy.
- A caller is an entity, such as an app, a third-party SDK, a website, or service, that makes a request to the Topics API to observe or access a user's interests.
- A topic is observed by a caller, if the caller made a Topics API request from a web page or app associated with this topic during the past three epochs.
- An epoch is a period of topic computation, which defaults to one week.
- A taxonomy is a hierarchical list of categories, which includes, for example, such categories as
/Arts & Entertainment/Music & Audio/Soul & R&B
and/Business & Industrial/Business Services/Corporate Events
. - Topics are derived using a classifier model that maps user activity to zero or more topics.
Topics API flow core steps
The Topics API lifecycle has three main steps:
- Observe user activity, such as when they visit the web page
https://cats.example/tabby/index.html
or download the appcats
. - Derive topics from user activity, for example
/Pets & Animals/Pets/Cats
. - Access topics previously observed for the user, for example as a signal to select relevant advertising (such as a cat food promotion).
Observe topics
Callers can only access topics of interest that they've observed. A caller observes a topic when they make a Topics API request from a context associated with this topic. To illustrate this concept, consider the following simplified example.
- Suppose there are two Topics API callers: A and B.
- There are two contexts:
- Greenhouse, for example an app named Greenhouse or a website greenhouse.example, associated with the topic
Home & Garden
. - Tennis exercises, for example an app named Tennis Exercises or a website tennis.example, associated with the topic
Sports/Tennis
.
- Greenhouse, for example an app named Greenhouse or a website greenhouse.example, associated with the topic
- Both caller A and B are present in the context of Greenhouse.
- Only the caller B is present in the context of Tennis exercises.
- Assume that no topics were observed for the user before epoch 1, for the sake of simplification.
- The user visits the Greenhouse app, and callers A and B make a Topics API call to record the user visit to the page or app (see the implementation guide suggested in Next steps to find out how to call the Topics API). This record (a hostname or app data) is later used to derive topics of interest. The Topics API will later mark the topic
Home & Garden
as observed by both callers A and B. - The user visits the Tennis exercises app. Only the caller B sends a Topics API request. The Topics API will later mark the topic
Sports/Tennis
as observed by the caller B. - By the end of the epoch, the Topics API refreshes the user's top topics and determines the callers that observed these topics based on user activity.
- Later, when the caller B makes another Topics API call, it can get either
Home & Garden
orSports/Tennis
topic (or, with a 5% chance, a random topic) for this user in the response array. - Caller A can only access the topic
Home & Garden
, as it has never observed the topicSports/Tennis
. This means that a third-party will only learn about a user's topic of interest within the specific context (app or website) where it is present.

Derive topics
Topics derives topics of interest from user activity. The topics are selected from a predefined open-source taxonomy. Once per epoch, Topics refreshes the user's top five topics and the callers that observed them during the epoch. The Topics classifier model derives topics from user activity: hostname for a web page visit, app information on Android.
Caller accesses user's topics of interest
The API returns only topics that have been observed by the caller within the most recent three epochs. A maximum of three topics may be returned to a caller,one topic for each of the three recent epochs (if the caller observed topics for that epoch). The returned topics can be used by the caller to supplement any contextual information and can be combined to help find a more relevant ad for the user.
Epochs
The Topics API must ensure that the topics of interest it provides are kept up to date. The topics are inferred for a user based on their activity during a period of time known as an epoch, one week by default. Each user has their own epochs (epochs are "per user") and the initial start time is randomized.
Once each epoch, the Topics API computes the user's top five topics and determines which callers observed those topics using on-device information. The topic selected for each epoch is randomly selected from the user's top five topics for that time period. To further enhance privacy and ensure that all topics may be represented, there is a 5% chance the topic is randomly selected from all possible topics in the taxonomy of interests.
مباحث اندروید در عمل
Topics API در Android برای پشتیبانی از SDK های تبلیغاتی شخص ثالث طراحی شده است که معمولاً در چندین برنامه کار می کنند. Topics بدون تکیه بر شناسه های متقابل برنامه، موضوعات تبلیغاتی درشت را بر اساس استفاده کاربر از برنامه ارائه می دهد. این موضوعات را می توان برای تکمیل هر گونه اطلاعات متنی مرتبط با برنامه ای که می خواهد تبلیغی را نمایش دهد، استفاده کرد و می تواند برای کمک به انتخاب یک تبلیغ مناسب برای کاربر، ترکیب شوند.
در زمینه Topics API، خریداران و تبلیغکنندگان به سمت فروش وابسته هستند. این طرف فروشنده است که حضور گسترده ای در برنامه های ناشر دارد و موضوعات کاربر را مشاهده می کند و سپس موضوعات را با خریداران به اشتراک می گذارد تا به آنها در انتخاب تبلیغات مرتبط تر کمک کند. برای دریافت موضوعات، برنامههای جانبی فروش و SDKها باید با ناظر به Topics API برای حداقل یک دوره، ردپایی ایجاد کنند.
برای نمونه کدهایی که نحوه تنظیم توانایی واکشی موضوعات برای تبلیغات مبتنی بر علاقه را نشان می دهد، به راهنمای پیاده سازی Topics API مراجعه کنید.
ادغام موضوعات بر اساس نوع کسب و کار
برای IBA (تبلیغات مبتنی بر علاقه) با Topics API فعال کنید. برای ادغام Topics API و آماده شدن برای راهاندازی، مراحل را بر اساس نوع کسبوکار فناوری تبلیغات خود دنبال کنید.
برای همه فناوری های تبلیغاتی
- طبقه بندی موضوعات را مرور کنید و بازخورد ارائه دهید.
- با برنامههای نمونه Topics API آزمایش کنید تا ببینید چه دادههایی از طبقهبندی کننده روی دستگاه بازگردانده میشوند.
- برای شروع تماس با Topics API، برنامه و جریان های SDK را به روز کنید.
- برای شروع ارسال موضوعات در درخواست های تبلیغاتی، پروتکل ها را به روز کنید.
- فناوری تبلیغات خود را در جعبه ایمنی حریم خصوصی ثبت کنید .
برای فناوری های تبلیغاتی طرف فروش
- برای ایجاد ردپای Topics API یک ناظر شوید. Topics API سیگنال جدیدی ارائه می دهد، بنابراین برای شروع فراخوانی Topics API باید SDK خود را به روز کنید. برای بازیابی مداوم موضوعات، SDK شما باید حداقل یک بار در هر دوره با API از برنامههای ناشر تماس بگیرد. حداکثر تا چهار دوره طول می کشد تا حداکثر تعداد موضوعات (سه موضوع) برای ارسال با درخواست های تبلیغاتی شما بدست آید.
- اطلاعات Topics API را در درخواست های تبلیغاتی خود لحاظ کنید. برای هر درخواست تبلیغات، شروع به اشتراک گذاری داده های Topics API خود با شرکای طرف خرید کنید. Topics API قصد دارد سیگنالهای دیگر (مانند سیگنالهای متنی) را تکمیل کند تا به یافتن یک تبلیغ مناسب برای یک بازدیدکننده کمک کند.
- در پروتکلی برای به اشتراک گذاری موضوعات با شرکای طرف خرید خود همکاری کنید. Topics API به هر SDK نیاز دارد تا با شرکای پایین دستی کار کند تا در مورد نحوه اشتراک گذاری داده های Topics API توافق کنند.
برای فناوری های تبلیغات سمت خرید
- با شرکای طرف فروش ارتباط برقرار کنید تا برنامه های آنها را برای مشاهده موضوعات و ایجاد ردپای تأیید کنید. برای دریافت موضوعات، ارائه دهندگان طرف فروش باید حداقل یک بار در هر دوره با Topics API تماس بگیرند.
- در پروتکلی برای دریافت موضوعات از شرکای طرف فروش خود همکاری کنید. Topics سیگنال جدیدی است که توسط شرکای طرف فروش به عنوان بخشی از درخواست تبلیغ به اشتراک گذاشته می شود. مصرف کنندگان طرف خرید باید اطمینان حاصل کنند که با شرکای بالادستی خود در مورد نحوه اشتراک گذاری موضوعات کار می کنند.
- موضوعات را در مناقصه و مدل های بهینه سازی بگنجانید. انتظار می رود Topics API سیگنال های دیگری مانند متنی را تکمیل کند تا به یافتن یک تبلیغ مناسب برای بازدیدکننده کمک کند.
چگونه API موضوعات را برای یک برنامه استنباط می کند
در Android، Topics API موضوعات یک برنامه را بر اساس اطلاعات برنامه، با استفاده از مدل طبقهبندی کننده استنباط میکند. در پیادهسازی فعلی، Topics از نام برنامه و بسته برای اختصاص موضوعات مورد علاقه به یک برنامه استفاده میکند، اما ممکن است بعداً این مورد برای شامل اطلاعات دیگری مانند توضیحات برنامه گسترش یابد.
طبقه بندی موضوع
موضوعات مورد علاقه از یک مدل طبقهبندی کننده که بر روی اطلاعات برنامه عمومی در دسترس است، مشتق شدهاند.
- هنگامی که از مدل طبقهبندی کننده برای استنتاج برای محاسبه موضوعات برای یک دوره معین استفاده میشود، مجموعه سیگنالهای مورد استفاده روی دستگاه باقی میماند. این مجموعه سیگنالها ممکن است شامل برنامههایی باشد که نصب شده یا اخیراً استفاده شدهاند، و ممکن است بعداً برای شامل سایر سیگنالها گسترش یابد.
- مدل V5 توسط گوگل بر روی 540000 اطلاعات برنامه با برچسب انسانی و 17 میلیون ML در دسترس عموم از فروشگاه های برنامه مانند فروشگاه Google Play آموزش داده شد. این مدل از نام برنامهها و نام بستهها بهعنوان سیگنال ورودی استفاده میکند و بهطور رایگان برای توسعهدهندگان برنامهها در دسترس است تا آنها را آزمایش کنند و ببینند برنامه آنها در چه موضوعاتی طبقهبندی میشود.
- این امکان وجود دارد که یک برنامه به بیش از یک موضوع، یا به هیچ موضوعی نگاشت شود، یا به تاریخچه موضوعی کاربر اضافه نشود. در صورتی که یک برنامه به بیش از یک موضوع در طبقه بندی نگاشت شود، تعداد موضوعات انتخاب شده برای این برنامه به سه موضوع برتر محدود می شود.
برای درک بهتر نحوه عملکرد مدل طبقهبندیکننده، میتوانید با استفاده از Android Topics Classifier Colab آزمایش کنید که چگونه دادههای برنامههای مختلف بر طبقهبندی تأثیر میگذارند.
طبقه بندی
موضوعات از طبقه بندی منبع باز از پیش تعریف شده انتخاب می شوند. طبقه بندی برای عموم در دسترس است و ممکن است تغییر کند. پیشنهادات را می توان با استفاده از دکمه بازخورد در بالای این صفحه ثبت کرد. این طبقه بندی توسط انسان تنظیم می شود تا موضوعات حساس بخشی از طبقه بندی نباشد. برای دستهبندی تبلیغاتی که میتوانند در برنامههای تلفن همراه در اندروید نشان داده شوند، تنظیم میشود.
مباحث اندروید در عمل
فرض کنید یک کاربر هفت برنامه روی دستگاه نصب کرده است: A، B، C، D، E، F و G. فرض کنید که طبقه بندی موضوع برای برنامه و SDK های فناوری تبلیغات در این برنامه ها به شرح زیر است:
برنامه | طبقه بندی موضوع | SDK فناوری تبلیغات |
الف | T1، T5 | ad-sdk1، ad-sdk2 |
ب | T2 | ad-sdk2 |
سی | T3، T6 | ad-sdk3، ad-sdk4 |
D | T1، T4 | ad-sdk1 |
E | T5 | ad-sdk4، ad-sdk5 |
اف | T6 | ad-sdk2، ad-sdk3، ad-sdk4 |
جی | T7 | ad-sdk2 |
پایان هفته اول: Topics API 5 موضوع برتر کاربر را برای این دوره تولید می کند.
موضوع برتر | تماس گیرندگانی که می توانند در مورد موضوع یاد بگیرند |
T1 | ad-sdk1، ad-sdk2 |
T2 | ad-sdk2 |
T3 | ad-sdk3، ad-sdk4 |
T4 | ad-sdk1 |
T5 | ad-sdk1، ad-sdk2، ad-sdk4، ad-sdk5 |
در هفته دوم، اگر تماسگیرندهای در هر برنامهای با API تماس بگیرد، لیست موضوعات برگشتی فقط شامل موضوعاتی میشود که تماسگیرنده در ستون «تماسگیرندگانی که میتوانند درباره موضوع یاد بگیرند» برای آن موضوع برای آن برنامه برای آن دوره است.
- پنجره تاریخ گنجانده شده در محاسبه موضوعات موجود برای هر تماس گیرنده سه دوره (یا سه هفته) است.
- فقط از موضوعات مرتبط با برنامههایی استفاده میشود که از طریق کیتهای توسعه نرمافزار (SDK) آگهی، موضوعات API را فراخوانی میکنند. این به این معنی است که اگر برنامهای شامل هیچ کیت توسعه نرمافزاری (SDK) تبلیغاتی نباشد که آنها API موضوعات را فراخوانی میکنند، موضوعات مرتبط با آن برنامه به مجموعه موضوعات قابل دسترسی توسط کیت توسعه نرمافزارهای تبلیغاتی کمک نمیکنند.
- یک برنامه همچنین میتواند به صورت اعلامی از Topics API انصراف دهد . موضوعات مرتبط با برنامه های انصراف داده شده در محاسبه موضوع هفتگی کمکی نمی کند. این سند بهروزرسانی میشود تا شامل جزئیات پیادهسازی مرتبط باشد.
اگر استفاده از برنامه کافی برای پلتفرم برای استنباط پنج موضوع وجود نداشته باشد، پلتفرم ممکن است گزینه هایی مانند تولید تصادفی موضوعات باقی مانده را در نظر بگیرد.
رمزگذاری موضوعات برگشتی
پلتفرمهای فناوری تبلیغاتی ثبتشده که Topics API را فراخوانی میکنند نیز ملزم به ارائه کلیدهای رمزگذاری هستند تا اطمینان حاصل شود که موضوعات بازگشتی فقط برای تماسگیرنده قابل خواندن هستند.
Privacy Sandbox این کلیدها را از نقطه پایانی ارائه شده توسط فناوری تبلیغات دریافت می کند. به عنوان بهترین روش توصیه می کنیم که کلیدها به طور مرتب به روز شوند، اما نه حداقل هر شش ماه یکبار.
Privacy Sandbox از تکنسینهای تبلیغات میخواهد تا در دسترس بودن نقطه پایانی را که در طول فرآیند ثبتنام ارائه میکنند تأیید کنند. برای جزئیات بیشتر در مورد اقدامات مورد نیاز توسط فناوری های تبلیغاتی فعلی و تازه ثبت نام شده، به راهنمای ثبت نام مراجعه کنید
Next steps
Implement Topics
Control & transparency
همچنین ببینید
برای درک بهتر Topics API در Android، منابع ما را بررسی کنید.
- نمونه برنامهها، همکاریها و ویدیوهای راهنما را بررسی کنید.
- ببینید کاربران و توسعه دهندگان چگونه می توانند API را کنترل کنند .
- برای پرسیدن سؤال، مشارکت و به اشتراک گذاشتن بازخورد ، منابع پشتیبانی را بررسی کنید.