Firebase Cloud Messaging- Group of devices



我尝试在Firebase Cloud Messaging 中创建一组设备,结果得到了一个异常"https://android.googleapis.com/gcm/googlenotification"。我有几个问题:

  1. 我需要在字段中输入什么:senderId,registrationId,idToken?
  2. 我如何更改这部分代码以创建组而不是添加到组?
  3. 我需要在哪里输入"授权","密钥=AIzaS..."?

法典:

public String addNotificationKey(
        String senderId, String userEmail, String registrationId, String idToken)
    throws IOException, JSONException {
    URL url = new URL("https://android.googleapis.com/gcm/googlenotification");
    HttpURLConnection con = (HttpURLConnection) url.openConnection();
    con.setDoOutput(true);
    // HTTP request header
    con.setRequestProperty("project_id", senderId);
    con.setRequestProperty("Content-Type", "application/json");
    con.setRequestProperty("Accept", "application/json");
    con.setRequestMethod("POST");
    con.connect();
    // HTTP request
    JSONObject data = new JSONObject();
    data.put("operation", "add");
    data.put("notification_key_name", userEmail);
    data.put("registration_ids", new JSONArray(Arrays.asList(registrationId)));
    data.put("id_token", idToken);
    OutputStream os = con.getOutputStream();
    os.write(data.toString().getBytes("UTF-8"));
    os.close();
    // Read the response into a string
    InputStream is = con.getInputStream();
    String responseString = new Scanner(is, "UTF-8").useDelimiter("\A").next();
    is.close();
    // Parse the JSON string and return the notification key
    JSONObject response = new JSONObject(responseString);
    return response.getString("notification_key");
}

对于 #3:

con.setRequestProperty("Authorization", "key=AIzaS...");
  1. 我需要在字段中输入什么:senderId,registrationId,idToken?

请参阅凭据中的定义。

发件人 ID 可以在 Firebase 控制台中找到。转到项目设置,然后转到云消息选项卡

注册令牌在客户端应用端生成。请参阅此处的相应设置文档,具体取决于客户端应用类型。

idToken (AFAIK( 仅用于客户端应用端。请参阅此处的 (Android( 文档。

  1. 我如何更改这部分代码以创建组而不是添加到组?

改变

data.put("operation", "add");

data.put("operation", "create");
  1. 我需要在哪里输入"授权","密钥=AIzaS..."?

参见普夫的回答。

相关内容

  • 没有找到相关文章