Расширенный образец

В этом разделе предполагается, что вы уже прошли руководство по Hello World. Вам потребуется преобразовать это в полную реализацию. Он часто ссылается на разделы этого документа, посвященные разработке.

Отключите логику из примера hello world для вашей реальной межпрофильной логики.

Не стесняйтесь вносить беспорядок и пока не беспокойтесь о лучших практиках, таких как тестируемость. Обязательно проверьте, работает ли это!

Это включает в себя изменение межпрофильного класса, межпрофильных вызовов и поставщика. Если вам нужен Context в методе поставщика или конструкторе класса поставщика, вы можете добавить его в качестве параметра, и SDK автоматически предоставит его.

Вам нужно будет решить, будут ли ваши вызовы асинхронными или синхронными . Вам также следует убедиться, что поддерживаются все типы параметров и возвращаемых значений, используемые вашими межпрофильными вызовами.

Рефакторинг вашей логики, чтобы иметь архитектуру, которую вы могли бы представить

Сначала прочтите каждое из архитектурных предложений , чтобы вам не пришлось выполнять несколько конфликтующих рефакторингов. После того, как вы запланировали какие-либо изменения, просмотрите их и отметьте, перестраивая и тестируя после каждого изменения.

Перепроверьте конфиденциальность и безопасность

Дважды проверьте, что вы не рискуете хранить данные в неправильном профиле или отправлять данные на сервер (включая ведение журнала сервера) из неправильного профиля.

  • Рассмотрите возможность назначения профиля в качестве основного , чтобы упростить звонки. Подумайте, что произойдет, если ваша логика будет запущена в любом из профилей.
  • Обновите свой пользовательский интерфейс, когда изменится доступность другого профиля.
  • Просмотрите обсуждение исключений на случай, если вам понадобится предпринять какие-либо действия.
  • Если вы ожидаете, что пользователи могут использовать значок приложения только в одном из двух профилей, добавьте атрибут манифеста android:crossProfile = "true" . Это предотвращает делегирование приложения, не используемого пользователем напрямую, в нижние сегменты резервного приложения.

Добавить тесты

См. документацию по тестированию.

Учитывайте разрешения

  • Если ваше приложение имеет полное согласие , измените свое разрешение с INTERACT_ACROSS_USERS на INTERACT_ACROSS_PROFILES и реализуйте запрос разрешения у пользователя. Приложения, объявляющие INTERACT_ACROSS_PROFILES не могут быть загружены в магазин Play, пока они не внесены в список разрешенных, поэтому это изменение манифеста должно быть за флажком, пока это не будет сделано.

  • Если вашему приложению предоставлен предварительный доступ , вы также можете сделать это, если хотите напоминать пользователям, которые ранее его отключили (но будьте ответственны — не рассылайте пользователям спам).