In diesem Dokument wird beschrieben, wie Sie Altersangaben mithilfe der Play Age Signals API anfordern.
Das Play Age Signals 0.0.4 SDK führt eine Architektur mit zwei Funktionen ein, die darauf ausgelegt ist, Altersanfragen zu vereinfachen und unser auf der Nutzerauswahl basierendes Modell zu unterstützen. So fordern Sie Altersinformationen an:
Rufen Sie die Methode requestAgeSignalsAccess(Activity) auf, die ageSignalsStatus zurückgibt. Der Wert von ageSignalsStatus kann SHARED, NOT_SHARED oder VERIFICATION_REQUIRED sein.
- Wenn
ageSignalsStatus == NOT_SHARED: Ihre App erhält keine Alterssignale in der API-Antwort. - Wenn
ageSignalsStatus == SHARED: Rufen Sie die MethodecheckAgeSignals()auf. Wenn der Nutzer oder der Elternteil sich entschieden hat, die Altersangaben freizugeben, erhalten Sie diese als Teil der API-Antwort und können entscheiden, wie Sie die Antwort verarbeiten. - Wenn
ageSignalsStatus == VERIFICATION_REQUIRED: Das Alter des Nutzers ist unbekannt und der Nutzer befindet sich in einem anwendbaren Rechtssystem oder einer anwendbaren Region, in der die Altersüberprüfung und die Weitergabe von Altersinformationen obligatorisch sind. Wenn Sie in diesen Regionen ein Alters-Signal von Google Play erhalten möchten, bitten Sie den Nutzer, den Play Store aufzurufen, um seinen Status zu ändern.
Die Methode requestAgeSignalsAccess(Activity) gibt unterschiedliche Werte zurück, je nachdem, ob die obligatorische Weitergabe von Informationen zur Altersgruppe in einer Region gilt:
- Bei berechtigten Nutzern in US-Bundesstaaten, in denen App-Shops gesetzlich dazu verpflichtet sind, Entwicklern bestätigte Altersangaben zur Verfügung zu stellen, wird die Aufforderung in der App nicht ausgelöst.
Stattdessen werden Nutzer aufgefordert, den Altersnachweis durchzuführen oder die Elternaufsicht einzurichten, wenn sie die Google Play Store App aufrufen. Verwenden Sie den Wert von
ageSignalsStatus, um den Bestätigungsstatus zu ermitteln:- Wenn der Nutzer den Altersnachweis abgeschlossen hat oder die Elternaufsicht aktiv ist, lautet der Wert von
ageSignalsStatusSHARED. - Wenn der Nutzer sein Alter noch nicht bestätigt oder die Elternaufsicht noch nicht eingerichtet hat, ist der Wert von
ageSignalsStatusVERIFICATION_REQUIRED. Weitere Informationen finden Sie unter Änderungen bei Google Play aufgrund anstehender App-Shop-Gesetze für Nutzer in bestimmten US-Bundesstaaten.
- Wenn der Nutzer den Altersnachweis abgeschlossen hat oder die Elternaufsicht aktiv ist, lautet der Wert von
- Für Nutzer in anderen Regionen, in denen die Altersangabe auf der Entscheidung des Nutzers oder Erziehungsberechtigten basiert:
- Wenn die Einstellung des Nutzers Vor dem Teilen fragen lautet, wird die Aufforderung in der App angezeigt. Wenn der Nutzer einwilligt, sein Alter weiterzugeben, ist der Wert von
ageSignalsStatusSHARED, andernfallsNOT_SHARED. - Wenn die Einstellung des Nutzers Immer teilen ist, wird die Aufforderung in der App nicht angezeigt und der Wert von
ageSignalsStatusistSHARED. - Wenn die Einstellung des Nutzers Never Share (Nie teilen) lautet, wird die Aufforderung in der App nicht angezeigt und der Wert von
ageSignalsStatusistNOT_SHARED. - Bei Nutzern mit Elternaufsicht können Eltern in den Family Link App-Einstellungen das Alter ihres Kindes angeben. Wenn die Eltern das Alter angeben, ist der Wert von
ageSignalsStatusSHARED, andernfallsNOT_SHARED.
- Wenn die Einstellung des Nutzers Vor dem Teilen fragen lautet, wird die Aufforderung in der App angezeigt. Wenn der Nutzer einwilligt, sein Alter weiterzugeben, ist der Wert von
Das folgende Bild zeigt die Altersgruppenkonfiguration für Vor dem Teilen fragen in den Google Play-Einstellungen.
Das folgende Bild zeigt die Anfrage zur Freigabe der Altersgruppe in der App, die Nutzern angezeigt wird, wenn das Alter über die API angefordert wird und ihre Einstellung Vor der Freigabe fragen lautet.
Das folgende Bild zeigt, wie der Nutzer die Altersfreigabe für eine bestimmte App aktivieren oder deaktivieren kann.
Im folgenden Beispiel sehen Sie, wie Altersinformationen angefordert werden:
Kotlin
// 1. Initialize the AgeSignalsManager (usually in onCreate or class initialization)
val ageSignalsManager = AgeSignalsManagerFactory.create(applicationContext)
// 2. Request or check for age signals access.
// Passing the current Activity allows the Play Store to render the age sharing prompt UI if required.
val accessRequest = AgeSignalsAccessRequest.builder()
.setActivity(this)
.build()
ageSignalsManager.requestAgeSignalsAccess(accessRequest)
.addOnSuccessListener { accessResult ->
if (accessResult.ageSignalsStatus() == AgeSignalsStatus.SHARED) {
// The user (or parent) has agreed to share age range, or is in an eligible auto-share region.
// Retrieve the actual age signals.
retrieveAgeSignals(ageSignalsManager)
} else {
// Age signals are not shared (user didn't share age range, parent rejected the request, or not eligible).
}
}
.addOnFailureListener { exception ->
// Handle API/Play Store connection and system errors
handleAgeSignalsError(exception)
}
private fun retrieveAgeSignals(manager: AgeSignalsManager) {
// 3. Perform the actual age signals query once sharing is active.
manager.checkAgeSignals(AgeSignalsRequest.builder().build())
.addOnSuccessListener { ageSignalsResult ->
val installId = ageSignalsResult.installId()
val ageLower = ageSignalsResult.ageLower()
val ageUpper = ageSignalsResult.ageUpper()
val significantChangeDate = ageSignalsResult.significantChangeApprovalDate()
val ageRangeSource = ageSignalsResult.ageRangeSource()
if (ageLower != null) {
if (ageUpper != null) {
// The user is in a specific closed age range [ageLower, ageUpper] (e.g. [13, 15])
} else {
// The user is in the highest open-ended age band [ageLower, null] (e.g. [18, null])
}
} else {
// Both bounds are null: The user is not sharing their age (e.g. they are a verified adult)
}
}
.addOnFailureListener { exception ->
handleAgeSignalsError(exception)
}
}
Java
// 1. Initialize the AgeSignalsManager (usually in onCreate or class initialization)
AgeSignalsManager ageSignalsManager = AgeSignalsManagerFactory.create(getApplicationContext());
// 2. Request or check for age signals access.
// Passing the current Activity allows the Play Store to render the age sharing prompt UI if required.
AgeSignalsAccessRequest accessRequest = AgeSignalsAccessRequest.builder()
.setActivity(this)
.build();
ageSignalsManager.requestAgeSignalsAccess(accessRequest)
.addOnSuccessListener(accessResult -> {
Integer status = accessResult.ageSignalsStatus();
if (status == AgeSignalsStatus.SHARED) {
// The user (or parent) has agreed to share age range, or is in an eligible auto-share region.
// Retrieve the actual age signals.
retrieveAgeSignals(ageSignalsManager);
} else {
// Age signals are not shared (user didn't share age range, parent rejected the request, or not eligible).
}
})
.addOnFailureListener(exception -> {
// Handle API/Play Store connection and system errors
});
private void retrieveAgeSignals(AgeSignalsManager manager) {
// 3. Perform the actual age signals query once sharing is active.
manager.checkAgeSignals(AgeSignalsRequest.builder().build())
.addOnSuccessListener(ageSignalsResult -> {
String installId = ageSignalsResult.installId();
Integer ageLower = ageSignalsResult.ageLower();
Integer ageUpper = ageSignalsResult.ageUpper();
Date significantChangeDate = ageSignalsResult.significantChangeApprovalDate();
@AgeRangeSource Integer ageRangeSource = ageSignalsResult.ageRangeSource();
if (ageLower != null) {
if (ageUpper != null) {
// The user is in a specific closed age range [ageLower, ageUpper] (e.g. [13, 15])
} else {
// The user is in the highest open-ended age band [ageLower, null] (e.g. [18, null])
}
} else {
// Both bounds are null: The user is not sharing their age (e.g. they are a verified adult)
}
})
.addOnFailureListener(exception -> {
handleAgeSignalsError(exception);
});
}
Wichtige Punkte zum Code
- Mit der Methode
requestAgeSignalsAccess(Activity)wird eine blockierende Prüfung der aktuellen Altersignale und des Freigabestatus der Altersignale des Nutzers durchgeführt. - Nachdem Sie
requestAgeSignalsAccess(Activity)aufgerufen haben, wird in Google Play nur für Nutzer ohne Elternaufsicht eine integrierte Aufforderung in der App angezeigt. Eltern von Nutzern mit Elternaufsicht können das Alter ihres Kindes freigeben, indem sie die Einstellungen für die Altersfreigabe in der Family Link App verwalten. - Wenn der Nutzer die Weitergabe des Alters ablehnt oder schließt, wird die Aufforderung in der App einige Male angezeigt, bevor sie unterdrückt wird.
- Die Methode
checkAgeSignals()ruft den Wert der Altersfreigabe in der API-Antwort ab. Diese Methode gibtageRangeSource,ageUpper,ageLowerund andere Werte für signifikante Änderungen zurück.