как отправить уведомление конкретному пользователю firebase из Android? [Дубликат]

Это потому, что Bigdecimal не потерян, и если вы разделите 1/3, например, это приведет к повторению десятичной до бесконечности. 0.33333333 ... теоретически, если вы умножаете назад, вы получаете точный результат. Но число бесконечности будет генерировать стек над потоком, и в этом случае исключение запускается.

Мое решение:

 try {
     result = n1.divide(n2);
 } catch (ArithmeticException e){
     Log.d("Error bigdecimal", e.toString());
     result = (n1.doubleValue() / n2.doubleValue());
 };

, в этом случае ваш результат не будет сокращен Rounding

16
задан Olcay Sönmez 5 March 2018 в 09:21
поделиться

2 ответа

Мне нужно создать веб-сервер

Да. Вам нужно место, где вы можете сопоставить имя / адрес электронной почты с регистрационными идентификаторами. Эти идентификаторы регистрации должны быть включены в запрос в FCM, например

{
    'registration_ids': ['qrgqry34562456', '245346236ef'],
    'notification': {
        'body': '',
        'title': ''
    },
    'data': {

    }
}

отправит push на «qrgqry34562456» и «245346236ef».

Идентификатор регистрации, который вы используете в вызов - это тот, который называется «токен» в этом обратном вызове в приложении.

public class MyService extends FirebaseInstanceIdService {
    @Override
    public void onTokenRefresh() {
    }
}
19
ответ дан Tim Castelijns 17 August 2018 в 09:36
поделиться

вы можете отправить сообщение на другое устройство с помощью этого кода. в этом коде нет необходимости в сервере.

public  String send(String to,  String body) {
            try {

                final String apiKey = "AIzaSyBsY_tfCQjUSWEWuNNwQdC1Vtb0szzz";
                URL url = new URL("https://fcm.googleapis.com/fcm/send");
                HttpURLConnection conn = (HttpURLConnection) url.openConnection();
                conn.setDoOutput(true);
                conn.setRequestMethod("POST");
                conn.setRequestProperty("Content-Type", "application/json");
                conn.setRequestProperty("Authorization", "key=" + apiKey);
                conn.setDoOutput(true);
                JSONObject message = new JSONObject();
                message.put("to", to);
                message.put("priority", "high");

                JSONObject notification = new JSONObject();
               // notification.put("title", title);
                notification.put("body", body);
                message.put("data", notification);
                OutputStream os = conn.getOutputStream();
                os.write(message.toString().getBytes());
                os.flush();
                os.close();

                int responseCode = conn.getResponseCode();
                System.out.println("\nSending 'POST' request to URL : " + url);
                System.out.println("Post parameters : " + message.toString());
                System.out.println("Response Code : " + responseCode);
                System.out.println("Response Code : " + conn.getResponseMessage());

                BufferedReader in = new BufferedReader(new InputStreamReader(conn.getInputStream()));
                String inputLine;
                StringBuffer response = new StringBuffer();

                while ((inputLine = in.readLine()) != null) {
                    response.append(inputLine);
                }
                in.close();

                // print result
                System.out.println(response.toString());
                return response.toString();
            } catch (Exception e) {
                e.printStackTrace();
            }
            return "error";
        }
0
ответ дан Durgesh Kumar 17 August 2018 в 09:36
поделиться
  • 1
    Это не рекомендуется, потому что любой может получить ваш ключ API с помощью таких инструментов, как Smali2Java, и может отправить уведомление кому-либо. – kunwar97 26 November 2017 в 09:27
  • 2
    это часть взлома, и да, я также не рекомендую это, но я давал ответ, что мы тоже можем это сделать, мы можем защитить эту часть, зашифровав ключ, если это необходимо. и да, спасибо, что позволил мне это узнать. – Durgesh Kumar 26 November 2017 в 09:56
  • 3
    Как мы будем использовать это? – Tarlan Ahad 26 December 2017 в 20:48
  • 4
    просто укажите token_id получателя и тела, которые вы хотите отправить. Также не забудьте изменить ключ api – Durgesh Kumar 14 January 2018 в 12:48
  • 5
    мы можем защитить эту часть, зашифровав ключ - это не так – Tim Castelijns 21 February 2018 в 23:04
Другие вопросы по тегам:

Похожие вопросы: