使用Firebase批准配置文件

时间:2018-12-30 06:35:48

标签: android firebase-realtime-database

在我正在开发的应用中。在某些方面,用户需要进行审查...而我该如何为其设置Firebase?如果用户被批准,他们将继续使用该应用程序;如果用户被拒绝,则他们将被拒绝活动。

我一直试图找出像这样的数据库,但我不知道这种结构是否正确。

我已经尝试过的方法(我将翻译为英语)此AuthManager来自instagram API登录。

Firebase structure

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);
}
}

Review rules

0 个答案:

没有答案