Facebook api
のラッパーを作成してログインし、ログインしてください。 私のAPIで、私はRXフローの他のステップでのオブザーバブルからの再利用の結果
- facebookでログイン、
- 私のAPIを使用してログイン彼女の
facebook id
と - 更新ユーザーに必要です。
CustomerRepositoryメソッドとFacebookRepositoryメソッドはすべてObservablesを返します。
だから最初に私はmFacebookRepository.startLoginFlow()
を使ってfbでユーザーにログインします。
この結果は、mCustomerRepository.loginWithFacebook
とmCustomerRepository.updateFacebookId
で使用されるFacebookユーザーですが、loginWithFacebook
が動作した場合にのみ呼び出される必要があります。
私は外部最終配列を使用しようとしましたが、本当に悪いです。
final String[] facebookUserId = new String[1]; Subscription subscription = mFacebookRepository.startLoginFlow() .compose(applyIoSchedulers()) .switchMap(user -> { facebookUserId[0] = user.getId(); // Save it for reuse later :( mCustomerRepository.loginWithFacebook(user); }) .switchMap(session -> mCustomerRepository.getCurrent()) .switchMap(customer -> mCustomerRepository.updateFacebookId(customer, facebookUserId[0]) // Reused here) .subscribe(user -> { mView.dismissProgress(); mView.startLoggedView(); mView.close(); }, error -> { mView.dismissProgress(); manageErrorFlow(error); });
どのように私は、複数の加入者とFacebookのユーザーIDを共有することができますか?
が、混乱をtheresの、ユーザーが顧客、Facebookのと同じではありません私にユーザーを与えて、そのユーザーを使って複数のことをするが、チェーンのさまざまなステップでそれを使う方法は? – Caipivara
@danielgomezrico、わかりますように、私のコードでは、ユーザーは顧客と同じではありません。 私は 'user'オブジェクトをコードに含めませんでした。 実際には、上記のコードでは、チェーンのさまざまなステップで 'User'オブジェクトを使用することができますが、何を意味するのか分かりません。 '.map(デバイス - >新しいFacebookCredential(ユーザ、デバイス))'と '.map(customer - > updateFacebookId(customer、user.getId()))の は、このコードはあなたのために働くはずです。 – Alexander
@danielgomezricoちょうど私の偽の機能とオブジェクトをフェイスブックから特定のものに置き換えてください。 – Alexander