1

我試圖在用戶刪除我的應用程序後立即在我的Firebase數據庫中創建一個新條目(使用用戶標識)。 (Qndroid)Firebase函數app_remove,獲取用戶ID

'use strict'; 
const admin = require('firebase-admin'); 
const functions = require('firebase-functions'); 
admin.initializeApp(functions.config().firebase); 

exports.appremoved = functions.analytics.event('app_remove').onLog(event => { 
    console.log("App remove detected"); 

    var user = admin.auth().currentUser; 
    var uid; 

    const uid2 = event.data.user.userId; 
    console.log("App remove detected2:" + uid2); 

    if (user != null) { 
    uid = user.uid; 
    console.log("User object not empty"); 
    admin.database().ref('/user_events/'+uid + "/"+Date.now()).set("app_remove"); 
    } 
}); 

我創建了兩個變量來獲取用戶ID,但它們都是未定義的。

uid2未定義,且用戶爲空。

我也試過

const user = event.data.user; 

但它也是空

如何獲取刪除的應用程序的用戶的用戶ID?

回答

2

調用admin.auth().currentUser可讓您獲得運行admin SDK的管理用戶。該用戶沒有UID。即使他們這樣做了,也不會是刪除應用程序的用戶。

調用event.data.user.userId爲您提供了您的應用程序可能通過setUserId API設置的用戶標識。如果你沒有設置UserId,那麼這個調用就不會給你任何價值。

+0

是否有任何其他方式來獲得ID,所以我可以跟蹤用戶何時刪除應用程序?當他安裝它時,我會做同樣的事情,所以我可以看到用戶需要多長時間才能刪除應用程序。但我需要一些方法來知道哪個用戶是誰 – Sharpless512

+0

好吧,我目前使用「user.appInfo.appInstanceId」來標識用戶。現在足夠好了 – Sharpless512