在我正在开发的应用中。在某些方面,用户需要进行审查...而我该如何为其设置Firebase?如果用户被批准,他们将继续使用该应用程序;如果用户被拒绝,则他们将被拒绝活动。
我一直试图找出像这样的数据库,但我不知道这种结构是否正确。
我已经尝试过的方法(我将翻译为英语)此AuthManager来自instagram API登录。
public class Review extends AppCompatActivity {
private static final String TAG = "Review_activity";
private ImageButton DIHome;
private DatabaseReference mDatabase;
private DatabaseReference mDatabase1;
private DatabaseReference mDatabase2;
private DatabaseReference mDatabase3;
private DatabaseReference mDatabase4;
private FirebaseAuth firebaseAuth;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_review);
firebaseAuth = FirebaseAuth.getInstance();
DIHome = (ImageButton) findViewById(R.id.DIHomeButton);
mDatabase = FirebaseDatabase.getInstance().getReference().child("profiles").child("profiles under analysis");
mDatabase1 = FirebaseDatabase.getInstance().getReference().child("profiles").child("approved profiles");
mDatabase2 = FirebaseDatabase.getInstance().getReference().child("profiles").child("rejected profiles");
mDatabase3 = FirebaseDatabase.getInstance().getReference().child("profiles").child("expired profiles");
mDatabase4 = FirebaseDatabase.getInstance().getReference().child("profiles").child("profiles banned or blocked");
AuthManager.getInstance().getUserInfoAsync(new AuthManager.Callback<UserInfo>() {
@Override
public void onSuccess(UserInfo userInfo) {
String userName = userInfo.getUserName();
String photoUrl = userInfo.getPhotoUrl();
int followedBy = userInfo.getCounts().getFollowedBy();
String identificadorUsuarios = Base64Custom.codificarBase64(firebaseAuth.getCurrentUser().getEmail().toString());
mDatabase.child(identificadorUsuarios).child("instagram").setValue("https://www.instagram.com/" + userName);
mDatabase.child(identificadorUsuarios).child("photo").setValue(photoUrl);
mDatabase.child(identificadorUsuarios).child("followed").setValue(followedBy);
mDatabase1.child(identificadorUsuarios).child("under analysis").setValue("approved profiles");
mDatabase2.child(identificadorUsuarios).child("under analysis").setValue("rejected profiles");
mDatabase3.child(identificadorUsuarios).child("under analysis").setValue("expired profiles");
mDatabase4.child(identificadorUsuarios).child("under analysis").setValue("profiles banned or blocked");
}
@Override
public void onError(@NonNull InstagramAuthException e) {
}
});
DIHome.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
DIHome();
}
});
mDatabase1.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
if (dataSnapshot.getValue().equals("approved")){
approved();
}
}
@Override
public void onCancelled(DatabaseError databaseError) {
Log.w(TAG, "onCancelled", databaseError.toException());
}
});
mDatabase2.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
if (dataSnapshot.getValue().equals("rejected")){
rejected();
}
}
@Override
public void onCancelled(DatabaseError databaseError) {
Log.w(TAG, "onCancelled", databaseError.toException());
}
});
}
public void approved(){
Intent intent = new Intent(this, approved.class);
startActivity(intent);
}
public void rejected(){
Intent intent = new Intent(this, rejected.class);
startActivity(intent);
}
public void DIHome() {
Intent intent = new Intent(this, MainActivity.class);
startActivity(intent);
}
}