MVP'de oturum açmanın nasıl gerçekleştirileceğini gösteren çok sayıda proje gördüm, ancak Google/Facebook girişiyle ilgili hiçbir şey bulamıyor.MVP mimarisini üçüncü taraf SDK'larla nasıl izlerim?
Oturum açma akışının Android bileşenleri yaşam döngüsüne güçlü bir şekilde bağlı olduğu durumda ne yapmalıyız? MVP'nin ana faydasını Context
'un üzerinde bir soyutlama oluşturduğumdan görüyorum, ancak bu soyutlama, örneğin Facebook giriş akışını takip etmemiz gerektiğinde çok karmaşık görünecektir: CallbackManager
ile FacebookCallback
'u kaydetmeniz gerekiyor, logInWithReadPermissions()
numaralı telefonu arayın. Fragmanı), onActivityResult()
'u callbackManager
'a verin ve bu da FacebookCallback'in yöntemlerini tetikleyecektir.
Ne aklında var
gerçekleştirme aşamasında Bağlamında hakkında bilmek veGoogleApiClient
başlatır
interface AuthInteractor {
void doFacebookLogin();
void doGoogleLogin();
}
gibi bir şey yaratmaktır. Presenter'a enjekte edilecek, ancak tüm bu geri bildirimlerle (özellikle de Facebook'un SDK'sında) olan şeyler çok karmaşık hale gelecektir. Böyle durumlarda MVP'yi atlamak daha iyi değil mi?
kadar emin değil, ama ben arayüze katılıyorum, IMHO Ben aynı arayüzü uygulayan bir FacebookLogin ve GoogleLogin sınıfı oluşturmak ve her giriş akışının özelliği soyut. – jonathanrz
@ jonathanrz evet, önceki projelerimde de aynısını yaptım ve bu kodu yeniden kullanacağım, iki yönetici AuthInteractorImpl üyesi olabilir. Ama gerçekten böyle bir mimariyi sevmiyorum ve MVP – Yaroslav
olmadan bunu daha iyi yazmam, çünkü denetleyici içinde kimlik doğrulama akışı kalmalıdır, neden MVP modelini kırdığını anlamıyorum. Sunucunun bir Etkinlik olmaması durumunda, – jonathanrz