A)用户使用了我的应用程序,使用他的Google+帐户登录并创建了一堆数据。
B) 他从另一台设备启动了我的应用程序,并使用匿名登录方法创建了一堆数据。
因此,现有2个帐户。A(google+)和B(匿名)
现在他想从B设备登录到他的A帐户。
我的应用程序现在确定数据A和B之间的数据冲突。
我想向用户显示一个弹出窗口,允许他在以下选项之间进行选择:
- 保持与A的登录并丢失数据B
- 取消与A的登录并回退到B以保留数据B
我必须从以前的匿名FirebaseUser/FirebaseAuth.getInstance()中存储什么才能在以后重用匿名会话?
只要再次执行FirebaseAuth.getInstance().signInAnonymously();
,就会创建一个新的uid。
我还尝试了从FirebaseAuth.getInstance().getCurrentUser().getToken(true)
获取和重用令牌之类的方法。但由于缺少JavaDoc和库中的模糊代码,我目前丢失了。
好的,现在我使用这个解决方案:
起初,我尝试linkWithCredential()
,如果不起作用,我会显示弹出窗口,让用户决定匿名登录或切换到现有帐户。