Как получить Firebase Device Token как строку? - PullRequest
0 голосов
/ 27 ноября 2018

Я хочу отправить информацию токена устройства при отправке информации о членстве на сервер.

Но как мне быть, потому что getToken больше не используется?

Я использовал это раньше:

params.put("deviceToken", FirebaseInstanceId.getInstance().getToken());

Легко и эффективно, но getToken устарело

}, new Response.ErrorListener() {

        @Override
        public void onErrorResponse(VolleyError error) {
            Log.e(TAG, "Registration Error: " + error.getMessage());
            Toast.makeText(getApplicationContext(),
                    error.getMessage(), Toast.LENGTH_LONG).show();
            hideDialog();
        }
    }) {

        @Override
        protected Map<String, String> getParams() {
            // Posting params to register url
            Map<String, String> params = new HashMap<String, String>();
            params.put("name", name);
            params.put("email", email);
            params.put("password", password);
            params.put("deviceToken", deviceTokenID); <<<---- DEVICE ID TOKEN

            return params;
        }

    };

    // Adding request to request queue
    AppController.getInstance().addToRequestQueue(strReq, tag_string_req);

Ответы [ 2 ]

0 голосов
/ 28 ноября 2018
 String deviceToken= FirebaseInstanceId.getInstance().getToken();
 params.put("deviceToken", deviceToken);
0 голосов
/ 27 ноября 2018

Чтобы решить эту проблему, вам нужно использовать прослушиватель успеха, как в следующих строках кода:

FirebaseInstanceId.getInstance().getInstanceId()
    .addOnSuccessListener(new OnSuccessListener<InstanceIdResult>() {
        @Override
        public void onSuccess(InstanceIdResult instanceIdResult) {
            String tokenId = instanceIdResult.getToken();
            //Do what you need to do with the token
        }
});
...