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