Android 可以从应用程序外部访问firebase数据库吗

Android 可以从应用程序外部访问firebase数据库吗,android,firebase,firebase-realtime-database,Android,Firebase,Firebase Realtime Database,我需要实现一种可能性,在我的Android应用程序中的某段时间内尝试完整版本。为此,我需要将试用期的结束日期保存在某个地方 我认为使用firebase可以保存一些设备id和试用期的结束日期 你能告诉我,firebase数据库是否可以在移动应用程序之外访问?例如,我可以使用postman发送http请求来更新试用结束日期吗 我的应用程序没有任何用户身份验证 是的,firebase数据库可以通过其他sdk(如javascript)在应用程序外部访问。 但是您必须设置规则,以便在不进行身份验证的情况下

我需要实现一种可能性,在我的Android应用程序中的某段时间内尝试完整版本。为此,我需要将试用期的结束日期保存在某个地方

我认为使用firebase可以保存一些设备id和试用期的结束日期

你能告诉我,firebase数据库是否可以在移动应用程序之外访问?例如,我可以使用postman发送http请求来更新试用结束日期吗


我的应用程序没有任何用户身份验证

是的,firebase数据库可以通过其他sdk(如javascript)在应用程序外部访问。 但是您必须设置规则,以便在不进行身份验证的情况下读取。 此外,如果要控制谁可以写入数据库,则需要在firebase中进行一些身份验证,以便应用写入规则


如果您不想添加任何类型的身份验证,那么您将向任何人公开您的数据库。是的,firebase数据库可以通过其他sdk(如javascript)在应用程序外部访问。 但是您必须设置规则,以便在不进行身份验证的情况下读取。 此外,如果要控制谁可以写入数据库,则需要在firebase中进行一些身份验证,以便应用写入规则


如果您不想添加任何类型的身份验证,那么您将向任何人公开您的数据库进行写入。

是的,您可以使用云函数通过HTTPS调用Firebase后端,请参阅

在这个云功能中,您可以更新实时数据库的一个或多个特定节点

在这段官方视频中,您将看到一个关于如何通过HTTP云函数读取数据库的好例子:

您可以调整它,通过GET调用它,并将时间戳作为查询字符串参数传递,然后在函数中使用此时间戳写入数据库。比如:

exports.updateTrialPeriodDate = functions.https.onRequest((req, res) => {
   const timestamp = req.query.ts;
   consta trialPeriodDate = new Date(timestamp);

   periodDate = {trialPeriodDate: trialPeriodDate};

   admin.database().ref('/....').update(periodDate)  //  <- set the correct path where you want to write
     .then(() => {
         res.status(200).send("success");
     })
     .catch(error => {
        console.log(error);
        res.status(500).send(err);
     });

});
然后按如下方式调用此函数:

https://us-central1-<your-project-id>.cloudfunctions.net/updateTrialPeriodDate?ts=1528718473

是的,您可以使用云函数通过HTTPS调用Firebase后端,请参阅

在这个云功能中,您可以更新实时数据库的一个或多个特定节点

在这段官方视频中,您将看到一个关于如何通过HTTP云函数读取数据库的好例子:

您可以调整它,通过GET调用它,并将时间戳作为查询字符串参数传递,然后在函数中使用此时间戳写入数据库。比如:

exports.updateTrialPeriodDate = functions.https.onRequest((req, res) => {
   const timestamp = req.query.ts;
   consta trialPeriodDate = new Date(timestamp);

   periodDate = {trialPeriodDate: trialPeriodDate};

   admin.database().ref('/....').update(periodDate)  //  <- set the correct path where you want to write
     .then(() => {
         res.status(200).send("success");
     })
     .catch(error => {
        console.log(error);
        res.status(500).send(err);
     });

});
然后按如下方式调用此函数:

https://us-central1-<your-project-id>.cloudfunctions.net/updateTrialPeriodDate?ts=1528718473

好的,但如果我设置只有登录的用户才能写。有人可以在应用程序之外登录吗?好的,但如果我设置为只有已登录的用户才能写入。有人可以在应用程序之外登录吗?