2016-05-25 2 views
0

私はAndroidアプリケーションでチャット機能を作成しましたが、ユーザーがアカウントを作成できるようにしたいと考えていました。しかし、私はユーザーがFirebaseを使用してアカウントを作成できるように管理しました。しかし、問題は、あなたがFacebookなどでアカウントを作成できるようにすることです。メールとパスワードを選択します。これでユーザー名を設定することはできません。おそらく、UIDを変更する方法がありますか?firebase androidのユーザー名を取得するには

誰かが私を助けてくれたら、とても感謝しています!

また、ユーザーにもユーザー名を作成させようとしています。

+0

私は別のフォームを作成しようとしましたが、ユーザー名フォームを作成してコード化しようとしましたが、うまくいきませんでした。 – DyRight

答えて

2

FirebaseUI implementation of its Email+Password registration flowを見てください:また

firebaseAuth.createUserWithEmailAndPassword(email, password) 
    .addOnCompleteListener(new OnCompleteListener<AuthResult>() { 
    @Override 
    public void onComplete(@NonNull Task<AuthResult> task) { 
     if (task.isSuccessful()) { 
     final FirebaseUser firebaseUser = task.getResult().getUser(); 
     Task<Void> updateTask = firebaseUser.updateProfile(
      new UserProfileChangeRequest 
       .Builder() 
       .setDisplayName(name).build()); 
     updateTask.addOnCompleteListener(new OnCompleteListener<Void>() { 
      @Override 
      public void onComplete(@NonNull Task<Void> task) { 
      mActivityHelper.dismissDialog(); 
      if (task.isSuccessful()) { 
       startSaveCredentials(firebaseUser, password); 
      } 
      } 
     }); 
     } 

、あなたはこれと他の多くの認証フローをカプセル化し使用 FirebaseUI、と簡単な場合があります。

+0

私は彼らのやり方のサンプルをダウンロードしました。自分のニーズに合ったコードを少し編集しましたが、実際にはどのようにユーザ名を使用するのかを説明していません。 – DyRight

+0

"username"の意味によるかもしれません。 Firebase認証には、 "Frank van Puffelen"という "表示名"の概念があります。それがあなたが探しているものなら、 'setDisplayName()'/'getDisplayName()'を使います。それがあなたが探しているものでないなら、あなたがしようとしていることと、あなたが何をしようとしているのかについて少し具体的に質問しなければなりません。 –

+0

私はDisplaynameを使ってみましたが、作成するアカウントには電子メールとパスワードが必要なため、名前は表示されません。どのように設定/名前を取得する方法を知っていれば、それは感謝します! – DyRight

関連する問題