FCM推送通知无法从我的服务器运行

时间:2018-12-17 08:23:30

标签: java android firebase spring-boot firebase-cloud-messaging

我创建了一个Android应用来获取通知数据和基于此的应有任务。我的服务器代码是Java Spring。我遵循了一个教程,并能够在Java中创建代码以发送FCM通知。当我使用邮递员在本地系统上进行测试时,FCM消息已成功发送到具有注册FCM ID的应用程序。 但是我将应用程序托管在Google服务器中,并且在邮递员中使用服务器IP尝试相同的api时遇到了NotRegistered错误。为什么会这样?

有什么主意吗?

Java代码是:

@Service
public class AndroidPushNotificationsService {

    private static final String FIREBASE_SERVER_KEY =<KEY HERE>";
    private static final String FIREBASE_API_URL = "https://fcm.googleapis.com/fcm/send";

    @Async
    public CompletableFuture<String> send(HttpEntity<String> entity) {

        RestTemplate restTemplate = new RestTemplate();

        ArrayList<ClientHttpRequestInterceptor> interceptors = new ArrayList<>();
        interceptors.add(new HeaderRequestInterceptor("Authorization", "key=" + FIREBASE_SERVER_KEY));
        interceptors.add(new HeaderRequestInterceptor("Content-Type", "application/json"));
        restTemplate.setInterceptors(interceptors);

        String firebaseResponse = restTemplate.postForObject(FIREBASE_API_URL, entity, String.class);

        return CompletableFuture.completedFuture(firebaseResponse);
    }

0 个答案:

没有答案