2017-12-18 10 views
0

나는이 Google 클라우드 기능 튜토리얼 따라 - https://firebase.google.com/docs/functions/get-startedGoogle 클라우드 기능 + 안드로이드 응용 프로그램

을 그리고 시에라을 실행하는 내 Mac에서 Node.js를 통해 기능을 구축 할 수 있었다. 이제 브라우저에서 addMessage Http Endpoint를 성공적으로 호출 할 수 있으며 Firebase 콘솔의 실시간 데이터베이스에 메시지를 성공적으로 추가합니다.

나는 또한 구글은이 튜토리얼에 따라 내 응용 프로그램에 로그인하여 구현 한 : https://developers.google.com/identity/sign-in/android/start-integrating

는 그러나, 나는 표준 HTTP 요청을 통해 내 안드로이드 응용 프로그램에서 addMessage() 함수를 호출 할 수 없습니다입니다. 확장 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); 
    } 
} 

내가 무슨 일을하고있는 중이 야

개인 클래스 HttpSenderTask : 이것은 내 안드로이드 코드?

또한 Cloud 기능을 사용하기위한 Android 코드를 작성하는 방법을 알려주는 문서가 있습니까? 이 문제에 도움이된다면 크게 감사 할 것입니다.

당신이 잘못가는 곳이 줄은 아마 당신에게 모든

답변

0

감사합니다

URL url = new URL("myCloudFunctionlink/addMessage?text=" + testString); 

당신은 HTTPS 엔드 포인트 클라우드 기능에 의해 노출에 전체 URL에 URL을 구축 할 필요가있다. 함수를 배포 한 후 CLI에서이 정보를 얻을 수 있습니다. URL에 호스트 이름의 일부로 Firebase 프로젝트 이름이 포함됩니다.

HTTP 매개 변수에 안전하다고 확신하지 않는 한 모든 쿼리 문자열 매개 변수는 이스케이프해야합니다.

+0

내 addMessage 기능을 위해 Firebase 콘솔에서받은 URL을 사용했습니다. 브라우저에서 실행할 때 성공적으로 작동합니다. 하지만 안드로이드 애플 리케이션에서 아닙니다. CLI URL이 다른 URL입니까? – user3324792

+0

아니요. 오류가 표시되면 업데이트하십시오. "작동하지 않는다"고 말하는 것만으로는 충분하지 않습니다. –

+0

오류가 발생하지 않습니다. 서버로부터 전혀 응답이 없습니다. – user3324792