Использование Google Assistant Изменить значение базы данных Firebase - PullRequest
0 голосов
/ 08 июня 2018

Я создал приложение для Android, в котором при нажатии кнопки и изменении значения в базе данных Firebase (0/1) я хочу сделать это с помощью помощника Google, пожалуйста, помогите мне, я искал, но не нашел ничегосоответствующее руководство, пожалуйста, помогите мне

Ответы [ 3 ]

0 голосов
/ 13 июня 2018

Я на самом деле работаю над проектом, используя Dialogflow webhook и интегрированную базу данных Firebase.Чтобы сделать это возможным, вы должны использовать выполнение в формате JSON (вы не можете вызывать firebasedatabase так, как вы это делаете)

Вот пример для вызова базы данных firebase и отображения простого текста на функцию.Сначала вы должны взять переменную из json ... это что-то вроде этого (в моем случае это зависит от вашего имени сущности, в моем случае это была "tema")

var concepto = request.body.queryResult.parameters.tema;

, а затем в вашемfunction:

    'Sample': () => {
 db.child(variable).child("DESCRIP").once('value', snap => {
 var descript = snap.val(); //firebasedata
          let responseToUser = {
              "fulfillmentMessages": [
                  { //RESPONSE FOR WEB PLATFORM===================================
                      'platform': 'PLATFORM_UNSPECIFIED',
                      "text": {
                          "text": [
                              "Esta es una respuesta por escritura de PLATFORM_UNSPECIFIED" + descript;
                          ]
                      },
                  }
              ]
          }
          sendResponse(responseToUser); // Send simple response to user
 });
      },

это ссылки для форматирования вашего json: Para formatear JSON:

A) https://cloud.google.com/dialogflow-enterprise/docs/reference/rest/Shared.Types/Platform

B) https://cloud.google.com/dialogflow-enterprise/docs/reference/rest/Shared.Types/Message#Text

И, наконец, это образец, который очень помог !!https://www.youtube.com/watch?v=FuKPQJoHJ_g

Хороший день!

0 голосов
/ 11 августа 2018

после поиска я нахожу руководство , которое может помочь в этом:

  • нам нужно сначала создать чат-бота на dialogflow / api.pi ​​
  • Затемнам нужно обучить нашего бота и использовать webhook в качестве полного заполнения в ответ.
  • Теперь нам нужно настроить firebase-инструменты для отправки ответа и внесения изменений в базу данных firebase.
  • Наконец нам нужноинтегрировать диалог с помощником Google с помощью google-actions

Вот мой пример кода, который я использовал:

`var admin = require('firebase-admin');
const functions = require('firebase-functions');
admin.initializeApp(functions.config().firebase);
var database = admin.database();
// // Create and Deploy Your First Cloud Functions
// // https://firebase.google.com/docs/functions/write-firebase-functions
//
exports.hello = functions.https.onRequest((request, response) => {
let params = request.body.result.parameters;
database.ref().set(params);
response.send({
speech: "Light controlled successfully"
});
});`
0 голосов
/ 09 июня 2018

Код для этого достаточно прост - в вашем выполнении webhook вам понадобится объект базы данных Firebase, который я называю fbdb ниже.В вашем обработчике Intent вы получите ссылку на местоположение, которое вы хотите изменить, и сделаете это изменение.

В Javascript это может выглядеть примерно так:

app.intent('value.update', conv => {
  var newValue = conv.prameters.value;
  var ref = fbdb.ref('path/to/value');
  return ref.set(newValue)
    .then(result => {
      return conv.ask(`Ok, I've set it to ${newValue}, what do you want to do now?`);
    })
    .catch(err => {
      console.error( err );
      return conv.close('I had a problem with the database. Try again later.');
    });
  return 
});

Реальноепроблема в том, какого пользователя вы хотите использовать для обновления.Вы можете сделать это с помощью соединения на уровне администратора, которое может предоставить вам широкий доступ, выходящий за рамки ваших правил безопасности.Обратитесь к руководствам по аутентификации и будьте осторожны.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...