[英]Firebase Cloud Functions - How to use same return value in multiple .then() methods
[英]Firebase cloud functions for multiple projects at the same app flavor
在我的應用程序中,我正在處理多個 Firebase 項目,因為我需要我的數據庫在邏輯上按國家/地區分隔。
為此,我使用 FirebaseOptions 在運行時訪問來自不同 Firebase 項目的數據庫。
此外,在每個 Firebase 項目上,我分別部署了相同的雲 function。
問題是只有默認 Firebase 項目(在 google-services.json 文件中聲明的項目)的雲 function 正在工作。 似乎 FirebaseOptions 不影響雲功能的執行。
有人有線索嗎?
解決方案
我只能向與特定發件人 ID 關聯的注冊令牌發送通知。 基本上,我試圖發送屬於其他項目的代幣。
為此,我應該允許多個項目向同一個客戶端應用程序發送消息。 要啟用此功能,我們需要確保我們擁有每個項目的發件人 ID。 請求注冊時,客戶端應用程序多次獲取令牌,每次使用令牌檢索方法在受眾字段中使用不同的發件人 ID。
換句話說,我們必須調用 getToken() 並傳遞發件人 ID 和簡單的“FCM”(例如 getToken("2xxxxx3344", "FCM"))作為參數。 還要確保為您需要的每個發件人(項目)調用它。
聽起來像是您的構建變體中的問題。
如果我是對的。 您可以使用 env-variables 和 >firebase use(cli 命令)來控制您的構建。
https://firebase.google.com/docs/functions/config-env#env-variables
初始化 FireBase-Admin-SDK。
https://firebase.google.com/docs/admin/setup#add_firebase_to_your_app
關於如何導入不同的 cred.json 文件的第一個想法。
import serviceAccountProd = require("./prodCred.json");
import serviceAccountDev = require("./devCred.json");
admin.initializeApp({
credential: admin.credential.cert(
development ? (serviceAccountDev as admin.ServiceAccount) : (serviceAccountProd as admin.ServiceAccount)),
databaseURL: database,
storageBucket: bucket,
});
我沒有完全實現它 - 隨意編輯
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.