0

Это может быть очень короткий и тривиальный вопрос, но как я могу получить информацию от Xamarin.Android до Xamarin.Forms?Получите информацию (токен GCM) от Xamarin.Android до Xamarin.Forms?

В принципе, то, что я хотел бы сделать, это следующее:

  • Сначала я получить маркер в моем Android проекта от Google Play Services.
  • Затем я запускаю основное приложение и показываю экран входа.
  • Во время входа в систему я хотел бы переслать токен на свой сервер, чтобы он знал мой токен и мог отправлять мне сообщения.

Это хорошая идея? Как получить свой токен в части формы моего приложения?

Заранее благодарен!

ответ

0

Существует множество вариантов обмена информацией между Xamarin.Forms и отдельными проектами конкретной платформы.

Вы можете вызвать Xamarin.Forms из каждого проекта довольно легко, обратившись к классу Xamarin.Forms.Application, и это свойство «Current», которое даст вам экземпляр вашего приложения Xamarin.Forms.

Вы также можете сделать обратный вызов в свой конкретный проект платформы, используя класс DependencyService из вашего общего кода Xamarin.Forms. С async/await и TaskCompletionSource это может быть хорошим способом абстрагироваться от присущего асинхронному характеру получения токенов на android/ios в один ожидаемый вызов функции. Дополнительная информация о DependencyService here

Наконец, из того, что я собираю, вы выясняете, как регистрироваться для push-уведомлений. Лучше всего просто использовать плагин PushNotifications, расположенный here.

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

Если у вас есть более конкретные вопросы или застряли где-нибудь, отправьте новый вопрос, у меня есть встроенные push-уведомления на Android и iOS успешно и, возможно, смогут вам помочь.

+0

Благодарим за информацию. К сожалению, я видел, что для PushNotificationService нужен Android 5.0+, это правда? Кроме того, я не уверен, что эта библиотека делает для меня? – Jannik

+0

Мое приложение использует push-уведомления, и я регулярно тестирую его на 4.2, 5.0 и 6.0. Когда вы работаете с локальными уведомлениями, есть вещи, которые вы можете делать только на 5.0 и выше, но push-уведомления, безусловно, работают. Эта библиотека предназначена для регистрации и отмены регистрации для вас, а также для анализа входящих сообщений и создания локальных уведомлений. Я лично не использовал его, так как я использую azure notification hub, но он все равно может быть хорошим источником для проверки того, как реализованы некоторые функции. – irreal

+0

Итак, что это значит «Должен компилироваться против 21, поскольку плагин использует специфические вещи API 21. [...]» означает тогда в их документации? Он должен скомпилировать до 21, но работает с более ранними уровнями, если я не использую функции, требующие уровня 21? И что вы имеете в виду при регистрации? Вы имеете в виду, что он регистрируется в Google и возвращает токен и т. Д. Для меня, а также получает все сообщения? Значит, мне не нужно регистрировать GCM? – Jannik

Смежные вопросы