not*_*oti 7 android firebase firebase-authentication firebase-remote-config
我将Firebase集成到我的Android项目中,以便为不同的应用程序用户获取不同的参数值.我做了以下事情:

UID是AAAAAAA ......和BBBBBBB ......因此.
并设置条件的值: 
输入以下代码以从应用程序登录用户:
Task resultTask =
firebaseAuth.signInWithEmailAndPassword("test1@gmail.com", password);firebaseRemoteConfig.fetch()
.addOnCompleteListener(new OnCompleteListener() {
@Override
public void onComplete(@NonNull Task task) {
if (task.isSuccessful()) {
// Once the config is successfully fetched it must be activated before newly fetched
// values are returned.
firebaseRemoteConfig.activateFetched();
Log.d(TAG, firebaseRemoteConfig.getString("MyParameter"));
} else {
Log.d(TAG, "fetch firebase remote config failed. Reason = " + task.getException());
}
}
});结果是我总是得到默认值:DefaultValue
我做错了什么?我错过了什么?
经过一番调查后,我发现Firebase Analytics和Firebase身份验证是2个不同的模块,不会自动互连.
正如我所料,使用Firebase身份验证并未自动将用户标识为特定受众的一部分.
我需要告诉Firebase Analytics,当前用户具有特定的用户ID,因此可以将其与相关受众进行匹配.我将以下代码添加到登录onComplete回调中:
Task<AuthResult> resultTask =
firebaseAuth.signInWithEmailAndPassword("test1@gmail.com", password);
resultTask.addOnCompleteListener(new OnCompleteListener<AuthResult>() {
@Override
public void onComplete(@NonNull Task<AuthResult> task) {
// Task completed successfully
if (task.isSuccessful()) {
firebaseAnalytics.setUserId(task.getResult().getUser().getUid());
} else {
Log.d(TAG, "signInWithEmail firebase failed");
}
}
});
Run Code Online (Sandbox Code Playgroud)
重要的是:
firebaseAnalytics.setUserId(task.getResult().getUser().getUid());
有些事情需要注意:
| 归档时间: |
|
| 查看次数: |
2302 次 |
| 最近记录: |