首页 > 解决方案 > 如何获取 Firebase 设备令牌之类的字符串?

问题描述

我想在向服务器发送会员信息时发送设备令牌信息。

但是我应该怎么去,因为 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);

标签: androidfirebasegoogle-cloud-messagingandroid-devicetoken

解决方案


为了解决这个问题,您需要使用如下代码行中的成功侦听器:

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
        }
});

推荐阅读