之前我曾经广泛使用过GCM 3.0,实际上它是消息传递应用程序的主干。但是,既然现在有一个新的应用程序的FCM,我正在使用FCM。现在,我看到我推送它的下游消息的奇怪行为。这是我试图推动的内容。
String json = "{\n" +
" \"to\": \""+ token + "\",\n" +
" \"priority\": \"high\",\n" +
" \"time_to_live\": 0 ,\n" +
" \"data\": " + dataJson +
"}";
HttpClient httpClient = HttpClientBuilder.create().build();
HttpPost post = new HttpPost(FCM_URL);
post.addHeader("Content-Type", "application/json");
post.addHeader("Authorization","Key="+SERVER_KEY);
StringEntity postingString = new StringEntity(json);//gson.tojson() converts your pojo to json
post.setEntity(postingString);
post.setHeader("Content-type", "application/json");
HttpResponse resp = httpClient.execute(post);
现在,我正面临着这些奇怪的行为。
前两个问题是不可接受的,因为它打破了整个体验。看起来消息不是尊重 TTL 和优先键。我尝试添加 collapse_key 和 delay_until_idle 参数。但随后整个交付完全不稳定。甚至无法弄清楚发生了什么。