private void addRequestBody()

in sdk/communication/azure-communication-chat/src/main/java/com/azure/android/communication/chat/implementation/notifications/fcm/RegistrarClient.java [214:254]


    private void addRequestBody(
        HttpRequest request,
        String deviceRegistrationToken,
        SecretKey cryptoKey,
        SecretKey authKey) {
        this.registrationId = UUID.randomUUID().toString();

        ClientDescription clientDescription = new ClientDescription();
        clientDescription.languageId = "";
        clientDescription.platform = PLATFORM;
        clientDescription.platformUIVersion = PLATFORM_UI_VERSION;
        clientDescription.applicationId = PUSHNOTIFICATION_APPLICATION_ID;
        clientDescription.templateKey = PUSHNOTIFICATION_TEMPLATE_KEY;

        clientDescription.aesKey = Base64Util.encodeToString(cryptoKey.getEncoded());
        clientDescription.authKey = Base64Util.encodeToString(authKey.getEncoded());
        clientDescription.cryptoMethod = ENCRYPTION_KEY;

        Transports transports = new Transports();
        transports.fcm = new ArrayList<>();

        FcmTransport transport = new FcmTransport();
        transport.creationTime = "";
        transport.context = "";
        transport.path = deviceRegistrationToken;
        transport.ttl = "2700";
        transports.fcm.add(transport);

        RegistrarRequestBody registrarRequestBody = new RegistrarRequestBody();
        registrarRequestBody.clientDescription = clientDescription;
        registrarRequestBody.nodeId = NODE_ID;
        registrarRequestBody.registrationId = this.registrationId;
        registrarRequestBody.transports = transports;

        try {
            String body = this.jacksonSerder.serialize(registrarRequestBody, SerdeEncoding.JSON);
            request.setBody(body);
        } catch (IOException e) {
            throw logger.logExceptionAsError(new RuntimeException(e));
        }
    }