Ich folgte diesem Google Cloud Funktion Tutorial - https://firebase.google.com/docs/functions/get-startedGoogle Cloud Funktionen + Android App
Und ich war in der Lage, die Funktion durch node.js auf meinem Mac läuft Sierra einzusetzen. Ich bin jetzt in der Lage, meinen addMessage HTTP-Endpunkt von einem Browser aus aufzurufen, und er fügt die Nachricht erfolgreich zu meiner Echtzeitdatenbank in der Firebase-Konsole hinzu.
Ich habe auch umgesetzt Google In meiner App-Zeichen gemäß diesem Tutorial: https://developers.google.com/identity/sign-in/android/start-integrating
Ich bin aber nicht in der Lage, die addMessage() Funktion von meinem Android-App über einen Standard-HTTP-Request aufrufen. Das ist mein Android-Code:
private Klasse HttpSenderTask erweitert AsyncTask {
String testString;
String content;
@Override
protected void onPreExecute() {
super.onPreExecute();
testString = text.getText().toString();
}
@Override
protected String doInBackground(String... strings) {
try{
URL url = new URL("**myCloudFunctionlinkFromFirebaseConsole**/addMessage?text=" + testString);
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
connection.setRequestMethod("POST");
connection.setDoOutput(true);
connection.setConnectTimeout(5000);
connection.setReadTimeout(5000);
connection.connect();
content = "Done";
}
catch (Exception ex){
Log.d(TAG, ex.toString());
}
return content;
}
@Override
protected void onPostExecute(String s) {
super.onPostExecute(s);
}
}
Was mache ich falsch?
Gibt es auch eine Dokumentation, die uns lehren kann, wie man Android-Code für die Nutzung von Cloud-Funktionen schreibt? Jede Hilfe in dieser Angelegenheit würde sehr geschätzt werden.
Vielen Dank an all
Ich habe die URL verwendet, die ich von der Firebase-Konsole für meine Funktion addMessage erhalten habe. Es funktioniert erfolgreich, wenn es von einem Browser gestartet wird. Aber nicht von der Android-App. Ist die CLI-URL etwas anderes? – user3324792
Nein. Bitte aktualisieren Sie, um den Fehler anzuzeigen, den Sie bekommen. Es ist nicht genug zu sagen, dass "es nicht funktioniert". –
Ich bekomme keinen Fehler. Es gibt keine Antwort vom Server überhaupt. – user3324792