Erweitertes Beispiel

In diesem Abschnitt wird davon ausgegangen, dass Sie den Hello World-Leitfaden bereits abgeschlossen haben. Sie werden durch die Umwandlung in eine vollständige Implementierung geführt. Es enthält häufig Links zu den Referenzabschnitten für die Entwicklung in diesem Dokument.

Ersetzen Sie die Logik aus dem Hello World-Beispiel durch Ihre echte plattformübergreifende Logik.

Bleibt es chaotisch und macht euch keine Gedanken über Best Practices wie die Testbarkeit. Prüfe, ob es funktioniert.

Dazu gehören die Änderung der geräteübergreifenden Klasse, der geräteübergreifenden Aufrufe und des Anbieters. Wenn du in der Anbietermethode oder im Konstruktor der Anbieterklasse eine Context benötigst, kannst du sie als Parameter hinzufügen. Sie wird dann automatisch vom SDK bereitgestellt.

Sie müssen entscheiden, ob die Aufrufe asynchron oder synchron sind. Außerdem sollten Sie darauf achten, dass alle Parameter- und Rückgabetypen, die in Ihren profilübergreifenden Aufrufen verwendet werden, unterstützt werden.

Refaktorisieren Sie Ihre Logik, um eine Architektur zu erhalten, die Sie einreichen können.

Lesen Sie sich zuerst alle architektonischen Vorschläge durch, damit Sie nicht mehrere in Konflikt stehende Refactorings durchführen müssen. Nachdem Sie alle Änderungen geplant haben, gehen Sie sie noch einmal durch und haken Sie sie ab. Erstellen Sie nach jeder Änderung die Website neu und testen Sie sie.

Datenschutz und Sicherheit überprüfen

Prüfen Sie, ob Sie nicht Gefahr laufen, Daten im falschen Profil zu speichern oder Daten aus dem falschen Profil an einen Server zu senden (einschließlich Serverprotokollierung).

  • Sie können ein Profil als primär festlegen, um Anrufe zu vereinfachen. Überlegen Sie, was passiert, wenn Ihre Logik auf einem der beiden Profile ausgeführt wird.
  • Aktualisieren Sie die Benutzeroberfläche, wenn sich die Verfügbarkeit des anderen Profils ändert.
  • Lesen Sie die Diskussion zu Ausnahmen, falls Maßnahmen Ihrerseits erforderlich sind.
  • Wenn Sie davon ausgehen, dass Nutzer das App-Symbol nur in einem der beiden Profile verwenden, fügen Sie das Manifest-Attribut android:crossProfile = "true" hinzu. Dadurch wird verhindert, dass die Anwendung, die nicht direkt vom Nutzer verwendet wird, in niedrigere App-Standby-Buckets delegiert wird.

Tests hinzufügen

Weitere Informationen finden Sie in der Testdokumentation.

Berechtigungen berücksichtigen

  • Wenn für Ihre App die Einwilligung des Nutzers erforderlich ist, ändern Sie die Berechtigung von INTERACT_ACROSS_USERS in INTERACT_ACROSS_PROFILES und implementieren Sie die Anforderung der Berechtigung vom Nutzer. Apps, die INTERACT_ACROSS_PROFILES deklarieren, können erst nach Aufnahme in die Zulassungsliste in den Play Store hochgeladen werden. Diese Manifeständerung sollte daher bis dahin mit einem Flag versehen sein.

  • Wenn Ihre App vorab genehmigt ist, können Sie dies auch tun, wenn Sie Nutzer, die sie zuvor deaktiviert haben, dazu auffordern möchten, sie zu aktivieren. Seien Sie dabei aber verantwortungsbewusst und nerven Sie Nutzer nicht mit Spam.