Android Как получить токен устройства Firebase

APushService := TPushServiceManager.Instance.GetServiceByName(TPushService.TServiceNames.GCM);
APushService.AppProps[TPushService.TAppPropNames.GCMAppID] := '"XXXXXXX" '; SENDER ID from Console Firebase
AServiceConnection := TPushServiceConnection.Create(APushService);
AServiceConnection.Active := True;
AServiceConnection.OnChange := OnServiceConnectionChange;
AServiceConnection.OnReceiveNotification := OnReceiveNotificationEvent;

ADeviceID := APushService.DeviceIDValue[TPushService.TDeviceIDNames.DeviceID];
AdeviceToken := APushService.DeviceTokenValue[TPushService.TDeviceTokenNames.DeviceToken];

Я правильно использую SENDER ID, и ADeviceID отображается правильно, но ADeviceToken отображается пустым. Я получаю эту ошибку:

изображение


person Jose Castillo Reyes    schedule 17.04.2017    source источник
comment
Почему вы заключаете идентификатор отправителя в кавычки и пробелы? Кроме того, вы вызываете этот код в основном потоке пользовательского интерфейса или в рабочем потоке? Работа, не связанная с пользовательским интерфейсом, не должна находиться в основном потоке пользовательского интерфейса.   -  person Remy Lebeau    schedule 17.04.2017
comment
Кавычки и пробелы - это ошибка при вводе этого вопроса. Этот пример аналогичен следующему: thundaxsoftware.blogspot.pe /2017/01/. Просто использую Delphi 10.2 Tokyo. Эта ошибка появляется при попытке запросить токен.   -  person Jose Castillo Reyes    schedule 18.04.2017
comment
Исходя из этого потока, ошибка java.io.IOException: MAIN_THREAD означает, что вы вызываете метод регистрации из основного потока, что не разрешено. Вы должны вызвать его из другого потока. Вы можете проверить это Обработка Firebase Cloud Messaging на Android и iOS учебник.   -  person abielita    schedule 18.04.2017