blob: 6766aaefe8bea1bbe23e760bdb09b8ec5384d385 [file] [log] [blame]
<?xml version="1.0" encoding="utf-8"?>
<!--
/*
* Copyright (C) 2022 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-->
<manifest
xmlns:android="http://schemas.android.com/apk/res/android"
package="com.android.adservices.api">
<!-- Declare the broadcast as protected so only the system service can send it. The AdServices
System Service will send this broadcast to the AdServices module where there is a package
change.-->
<protected-broadcast android:name="com.android.adservices.PACKAGE_CHANGED" />
<!-- Allows the system service to query app status-->
<uses-permission android:name="android.permission.QUERY_ALL_PACKAGES"/>
<!-- Permissions required for showing notifications. -->
<uses-permission android:name="android.permission.POST_NOTIFICATIONS" />
<!-- Permissions required for reading device configs -->
<uses-permission android:name="android.permission.READ_DEVICE_CONFIG"/>
<!-- Used for reporting -->
<uses-permission android:name="android.permission.INTERNET"/>
<!-- Used for persisting scheduled jobs -->
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
<!-- Allows an application to access AdServices Topics API. -->
<permission android:name="android.permission.ACCESS_ADSERVICES_TOPICS"
android:label="@string/permlab_accessAdServicesTopics"
android:description="@string/permdesc_accessAdServicesTopics"
android:protectionLevel="normal" />
<!-- Allows an application to access AdServices Attribution APIs. -->
<permission android:name="android.permission.ACCESS_ADSERVICES_ATTRIBUTION"
android:label="@string/permlab_accessAdServicesAttribution"
android:description="@string/permdesc_accessAdServicesAttribution"
android:protectionLevel="normal" />
<!-- Allows an application to access AdServices Custom Audience APIs. -->
<permission android:name="android.permission.ACCESS_ADSERVICES_CUSTOM_AUDIENCE"
android:label="@string/permlab_accessAdServicesCustomAudience"
android:description="@string/permdesc_accessAdServicesCustomAudience"
android:protectionLevel="normal" />
<!-- Allows Consent Service to access AdServices. -->
<permission android:name="android.permission.ACCESS_ADSERVICES_CONSENT"
android:label="@string/permlab_accessAdServicesConsent"
android:description="@string/permdesc_accessAdServicesConsent"
android:protectionLevel="signature|privileged" />
<!-- Allows AdServices to access API for Ad ID. -->
<permission android:name="android.permission.ADSERVICES_ACCESS_AD_ID"
android:label="@string/permlab_adServicesAccessAdId"
android:description="@string/permdesc_adServicesAccessAdId"
android:protectionLevel="signature" />
<!-- Allows AdServices to access API for App set ID. -->
<permission android:name="android.permission.ADSERVICES_ACCESS_APP_SET_ID"
android:label="@string/permlab_adServicesAccessAppSetId"
android:description="@string/permdesc_adServicesAccessAppSetId"
android:protectionLevel="signature" />
<!-- Allows AdServices to access Consent Service. -->
<permission android:name="android.permission.ADSERVICES_ACCESS_CONSENT_SERVICE"
android:label="@string/permlab_adServicesAccessConsentService"
android:description="@string/permdesc_adServicesAccessConsentService"
android:protectionLevel="signature" />
<uses-permission android:name="android.permission.ADSERVICES_ACCESS_AD_ID" />
<uses-permission android:name="android.permission.ADSERVICES_ACCESS_APP_SET_ID" />
<uses-permission android:name="android.permission.ADSERVICES_ACCESS_CONSENT_SERVICE" />
<application
android:label="Android AdServices"
android:forceQueryable="true"
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true"
android:theme="@style/FilterTouches">
<service android:name="com.android.adservices.adselection.AdSelectionService"
android:exported="true"
android:visibleToInstantApps="false">
<intent-filter android:priority="1">
<action android:name="android.adservices.adselection.AD_SELECTION_SERVICE"/>
</intent-filter>
</service>
<service android:name=
"com.android.adservices.customaudience.CustomAudienceService"
android:exported="true"
android:visibleToInstantApps="false">
<intent-filter android:priority="1">
<action android:name=
"android.adservices.customaudience.CUSTOM_AUDIENCE_SERVICE"/>
</intent-filter>
</service>
<service android:name="com.android.adservices.topics.TopicsService"
android:exported="true"
android:visibleToInstantApps="false">
<intent-filter android:priority="1">
<action android:name="android.adservices.TOPICS_SERVICE"/>
</intent-filter>
</service>
<service android:name="com.android.adservices.measurement.MeasurementService"
android:exported="true"
android:visibleToInstantApps="false"
>
<intent-filter android:priority="1">
<action android:name="android.adservices.MEASUREMENT_SERVICE" />
</intent-filter>
</service>
<service android:name="com.android.adservices.common.AdServicesCommonService"
android:exported="true"
android:visibleToInstantApps="false"
>
<intent-filter android:priority="1">
<action android:name="android.adservices.AD_SERVICES_COMMON_SERVICE"/>
</intent-filter>
</service>
<!-- Daily maintenance Job. -->
<service android:name="com.android.adservices.service.MaintenanceJobService"
android:permission="android.permission.BIND_JOB_SERVICE">
</service>
<!-- Epoch computation Job. -->
<service android:name="com.android.adservices.service.topics.EpochJobService"
android:permission="android.permission.BIND_JOB_SERVICE">
</service>
<!-- Activity for Adservices Settings UI -->
<activity
android:name="com.android.adservices.ui.settings.AdServicesSettingsActivity"
android:exported="true"
android:theme="@style/Theme.AdServices.Settings">
<intent-filter android:priority="1">
<action android:name="android.adservices.ui.SETTINGS" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>
<!-- Measurement event main report upload job. -->
<service android:name="com.android.adservices.service.measurement.reporting.EventReportingJobService"
android:permission="android.permission.BIND_JOB_SERVICE">
</service>
<!-- Measurement event fallback report upload job. -->
<service android:name=
"com.android.adservices.service.measurement.reporting.EventFallbackReportingJobService"
android:permission="android.permission.BIND_JOB_SERVICE">
</service>
<!-- Measurement aggregate main report upload job. -->
<service android:name=
"com.android.adservices.service.measurement.reporting.AggregateReportingJobService"
android:permission="android.permission.BIND_JOB_SERVICE">
</service>
<!-- Measurement aggregate fallback report upload job. -->
<service android:name=
"com.android.adservices.service.measurement.reporting.AggregateFallbackReportingJobService"
android:permission="android.permission.BIND_JOB_SERVICE">
</service>
<!-- Attribution Job.-->
<service android:name=
"com.android.adservices.service.measurement.attribution.AttributionJobService"
android:permission="android.permission.BIND_JOB_SERVICE">
</service>
<!-- Deletion Job.-->
<service android:name=
"com.android.adservices.service.measurement.DeleteExpiredJobService"
android:permission="android.permission.BIND_JOB_SERVICE">
</service>
<!-- FLEDGE Background Fetch Job -->
<service android:name=
"com.android.adservices.service.customaudience.BackgroundFetchJobService"
android:permission="android.permission.BIND_JOB_SERVICE">
</service>
<receiver android:name="com.android.adservices.service.common.PackageChangedReceiver"
android:exported="true">
<intent-filter>
<!-- This intent must match the intent definition in the AdServices system
service. -->
<action android:name="com.android.adservices.PACKAGE_CHANGED"/>
</intent-filter>
</receiver>
<provider
android:name=
"com.android.adservices.service.measurement.attribution.TriggerContentProvider"
android:authorities="com.android.adservices.provider.trigger"
android:exported="false"
/>
</application>
</manifest>