you should just send the temperature value over with SerialBT.print(temperature);
format the text that is displayed in the app with the appinventor code, when it receives the data.
also I had better luck using
String stringReceived = (SerialBT.readString());
This is how I structured a similar ESP32 project.
I send data from the ESP32 as a single string.
//prepares the data as text string with : separator to be sent over bluetooth.
String stringOne = ":";
String stringTwo = variable1 + stringOne + variable2 ;
SerialBT.print(stringTwo);
in appinventor split the received text in to a list with
I send a command using a 4 letter code and a variable e.g. this in for minimum temperature.
read it with the ESP32
String stringReceived = (SerialBT.readString());
if (stringReceived.startsWith("mint")) { //command "mint" minium temperature followed by the new value, e.g. mint20
int received = (stringReceived.substring(4).toInt());// this reads whatever is after the 4th letter in the string, and converts to a Int
}