Ответ 1
1. Как я могу понять, что подписка прошла успешно?
Редактировать:
Теперь вы можете проверить успешность подписки, добавив addOnSuccessListener()
FirebaseMessaging.getInstance().subscribeToTopic("news").addOnSuccessListener(new OnSuccessListener<Void>() {
@Override
public void onSuccess(Void aVoid) {
Toast.makeText(getApplicationContext(),"Success",Toast.LENGTH_LONG).show();
}
});
Оригинал:
В документах ничего не упоминается об ответе, полученном при успешной подписке.
Однако, если вам нужно поручить всем своим пользователям подписаться на определенную тему, вам следует сначала вызвать subscribeToTopic
в вашем приложении. Скорее всего, это обеспечит подключение к Интернету (так как оно, вероятно, было загружено и установлено через Play Store) и успешная подписка.
Тем не менее, если вы хотите убедиться, вы можете также выполнить проверку через свой собственный сервер приложений. Как упомянуто в документах:
Вы можете воспользоваться API-интерфейсами Instance ID для выполнения основных задач по управлению темами на стороне сервера. Учитывая регистрационные токены экземпляров клиентских приложений, вы можете сделать следующее:
- Узнайте подробности о подписках экземпляра клиентского приложения, включая название каждой темы и дату подписки. См. Получение информации об экземплярах приложения.
Проверьте через маркеры регистрации, если они не были успешно подписаны на вашу тему, отправьте ему уведомление, где оно вызовет ваше клиентское приложение для вызова subscribeToTopic
.
2. Является ли плохой практикой вызывать subscribeToTic при каждом запуске моего приложения?
Редактировать: добавив его из раздела комментариев: подписка при запуске приложения должна быть в порядке.
Спасибо @FrankvanPuffelen за проверку. :)