1

ユーザーが自分のアプリケーションを削除するとすぐにfirebaseデータベースに新しいエントリ(with userid)を作成しようとしています。Firebase関数app_remove、get userid

'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を取得するために2つの変数を作成しましたが、どちらも未定義です。

uid2は未定義で、ユーザーはnullです。

私も

const user = event.data.user; 

を試みたが、それはどのようにアプリを削除したユーザーのユーザーIDを取得していますか?また、

nullですか

答えて

2

admin.auth().currentUserを呼び出すと、admin SDKを実行している管理者が表示されます。このユーザーにはUIDがありません。たとえそうであったとしても、アプリを削除したユーザーではありません。

event.data.user.userIdを呼び出すと、アプリがsetUserId APIで設定したユーザーIDが表示されます。 UserIdを設定しなかった場合、その呼び出しは値を与えません。

+0

IDを取得する方法は他にありません。ユーザーがアプリを削除した時点を追跡できますか?彼がインストールしたときも同じことをやるので、ユーザーがアプリを削除するのにどれくらい時間がかかります。しかし、どのユーザーが誰であるかを知るには何らかの方法が必要です – Sharpless512

+0

現在、「user.appInfo.appInstanceId」を使用してユーザーを識別しています。今は十分です – Sharpless512

関連する問題