0
デバイスにFirebaseトークンを使用してメッセージを送信しようとすると、そのデバイスにはインターネット接続が確立されず、どのようなレスポンスが生成されますか?特に「エラー」メッセージが生成されるかどうかを知りたいですか?オフラインデバイスのFirebaseレスポンス
は、私は、デバイスがオフラインであるという理由だけで私のデータベースからトークンを削除したくない
while(rs.next())
{
URL url = new URL(API_URL_FCM);
HttpURLConnection conn;
conn = (HttpURLConnection) url.openConnection();
conn.setUseCaches(false);
conn.setDoInput(true);
conn.setDoOutput(true);
conn.setRequestMethod("POST");
conn.setRequestProperty("Authorization","key="+AUTH_KEY_FCM);
conn.setRequestProperty("Content-Type","application/json");
JSONObject infoJson = new JSONObject();
infoJson.put("title","Vehicle Alert");
String alert=request.getParameter("alert");
infoJson.put("body", alert);
String token;
OutputStreamWriter wr = new OutputStreamWriter(conn.getOutputStream());
token=rs.getString(1);
JSONObject json = new JSONObject();
json.put("to",token.trim());
json.put("data", infoJson);
wr.write(json.toString());
out.println("<br>Message sent from server to firebase for Token : "+token+"</br>");
wr.flush();
int status = 0;
if(null != conn){
status = conn.getResponseCode();
}
if(status != 0){
if(status == 200)
{//SUCCESS message
BufferedReader br=new BufferedReader(new InputStreamReader(conn.getInputStream()));
Boolean res=br.readLine().contains("error");
if(res) //Remove Invalid Token(s)
{
Statement st=con.createStatement();
query="DELETE from Token WHERE token='"+token+"'";
st.executeUpdate(query);
out.println("<br>Unvalid Token removed from Database</br>");
}
}
else if(status == 401)
{
//client side error
以下のコードを見てみましょう。トークンは、もはや有効でない場合にのみ削除する必要があります。 提案がありますか?
Yess ....!ドキュメントも同じことを言います。提案をありがとう!!!! –