谷歌云计算功能+ Android应用

我跟着这个谷歌云功能教程 - https://firebase.google.com/docs/functions/get-started谷歌云计算功能+ Android应用

我能够通过我的Mac上运行的Node.js塞拉利昂部署功能。我现在可以成功地从浏览器中调用我的addMessage Http Endpoint,并成功将该消息添加到Firebase控制台中的实时数据库中。

我还实施了谷歌注册在我的应用程序按照本教程:https://developers.google.com/identity/sign-in/android/start-integrating

不过,我无法通过一个标准的HTTP请求来调用我的Android应用程序的方法addMessage()函数。这是我的Android代码:

私有类HttpSenderTask扩展的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);

}

}

我在做什么错?

此外,是否有一些文件,可以教我们如何编写利用云功能的android代码?任何帮助在这个问题将不胜感激。

谢谢大家

回答:

此行可能是你要去哪里错了:

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

你需要建立一个URL到完整URL到HTTPS端点通过云功能曝光。您可以在部署您的功能后通过CLI获取此信息。它会将您的Firebase项目名称作为URL中主机名的一部分。

另请注意,任何查询字符串参数都应该转义,除非您确定它们对于HTTP参数是安全的。

以上是 谷歌云计算功能+ Android应用 的全部内容, 来源链接: utcz.com/qa/261226.html

回到顶部