Gigya Android 不会在登录时进入待注册回调

科博沃

我正在尝试使用 Gigya 回调,onPendingRegistration因为当用户使用社交媒体登录时,我们的注册需要其他详细信息。初始社交注册工作正常,因为我可以验证用户是否存在于 Gigya 控制台中,但由于待处理的注册状态,我们特定应用程序的注册没有通过。

目前我的登录功能有回调onSuccessonErroronPendingRegistration出于某种原因,它总是进入onError回调,但在检查日志时,它说错误是 206001,即“帐户待注册”

登录功能

public void facebookLoginTapped(View view) {
    processGigyaLogin(FACEBOOK);
}

private void processGigyaLogin(String loginProvider) {
    HashMap<String, Object> params = new HashMap<String, Object>();
    params.put("screenSet","GIGYA-RegistrationLogin");
    params.put("startScreen","gigya-complete-registration-screen");
    mGigya.login(loginProvider, new HashMap<>(), new GigyaLoginCallback<MyAccount>() {
        @Override
        public void onSuccess(MyAccount obj) {
            // Success
            Log.i("GIGYA-CDC", obj.toString());
        }

        @Override
        public void onError(GigyaError error) {
            // Fail
            Log.e("GIGYA-CDC", error.toString());
        }

        @Override
        public void onPendingRegistration(@NonNull GigyaApiResponse response, @NonNull IPendingRegistrationResolver resolver) {
            Log.d("GIGYA-CDC", "onPendingRegistration");
        }

    });
}
科博沃

我发现了问题。您需要确保本机应用程序部分正在工作以防止中断工作。所以在过去的几周里,我不得不在不使用原生 SDK 的情况下设置社交登录,因为它们仍在由不同的团队设置。总之,长话短说,一旦我开始将原生 SDK 与应用程序连接起来(即使用 Facebook 或 Google 应用程序进行身份验证),那么@OverrideSDK v4 文档中方法就开始起作用了。

正如 TalMihr 早先指出的那样,您不应该使用screen-sets中断并使用resolver接口。我现在正在处理这个问题,一旦我得到实际的解析器对象,我就会更新我的答案。

仅供参考:我目前的设置来完成这项工作(使用 Gigya SDK v 4.0.1):

//Facebook
implementation 'com.facebook.android:facebook-android-sdk:4.41.0'

//Google Sign In
implementation 'com.google.android.gms:play-services-auth:16.0.1'

在代码方面,其他一切都与示例应用程序相似。

编辑:

有用!resolver顺便说一句,我还没有使用该界面来解决这个问题。我被告知要尝试使屏幕设置正常工作,因为我们希望避免创建额外的 UI。它是如何工作的,当您使用屏幕设置时,您需要提供额外的参数。

待定注册码:

private void processGigyaLogin(String loginProvider) {
    mGigya = Gigya.getInstance(MyAccount.class);

    HashMap<String, Object> params = new HashMap<String, Object>();
    params.put("screenSet","SCREEN-SET-RegistrationLogin");
    params.put("startScreen","gigya-complete-registration-screen");

    mGigya.login(loginProvider, new HashMap<>(), new GigyaLoginCallback<MyAccount>() {
        @Override
        public void onSuccess(MyAccount obj) {
            // Success
            Log.i("GIGYA-CDC", "Logged in using" + obj.getSocialProviders() + " as: " + obj.getProfile().getFirstName() + " " + obj.getProfile().getLastName() + ", " + obj.getProfile().getEmail());
        }

        @Override
        public void onConflictingAccounts(@NonNull GigyaApiResponse response, @NonNull ILinkAccountsResolver resolver) {
            Log.d("GIGYA-CDC", "onConflictingAccounts");
        }

        @Override
        public void onPendingRegistration(@NonNull GigyaApiResponse response, @NonNull IPendingRegistrationResolver resolver) {
            Log.d("GIGYA-CDC", "onPendingRegistration");
            params.put("regToken", response.getField("regToken", String.class));
            mGigya.showScreenSet("SCREEN-SET-RegistrationLogin", false, params, new GigyaPluginCallback<MyAccount>() {
                @Override
                public void onLogin(@NonNull MyAccount obj) {
                    Log.i("GIGYA-CDC", "Logged in using" + obj.getSocialProviders() + " as: " + obj.getProfile().getFirstName() + " " + obj.getProfile().getLastName() + ", " + obj.getProfile().getEmail());
                }
            });
        }

        @Override
        public void onError(GigyaError error) {
            Log.e("GIGYA-CDC", error.getLocalizedMessage() + " Status Code: " + error.getStatusCode() + " Error Code: " + error.getErrorCode());
        }
    });
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

使用Gigya Android Sdk的“使用Apple登录” WebBridge实现

无法在Android中将Facebook本机应用程序与Gigya社交登录一起使用

使用Gigya Android SDK的密码智能锁

Gigya Swift Facebook 和 Google Native 登录

Android按钮单击不会在片段中注册

尝试在iOS上使用Gigya进行社交登录时无效的redirect_uri

Android Studio调试器不会在运行API 29 Android 10和API 30 Android 11的设备上的Retrofit回调断点处停止

Google和Yahoo运作时,Gigya不适用于Facebook

Gigya定制分享栏

Android ExpandableListView不会在返回LinearLayout或View时扩展

Android OnClickListener不会在首次点击时触发

Android Button不会在点击时改变颜色

Android按钮不会在每次点击时触发事件

Android不会在FritzBox路由器上注册SIP

构造和验证Gigya签名

addValueChangeListener 不会在 android 中触发

SharedPreference不会在Android上保存

NS应用程序不会在卸载和安装时重置设置(Android)

当我创建新的TextToSpeech实例时,onInit永远不会在Android 4.4.2上发生

HashMap android不会在android中被调用

如果用户不会在Android Studio中更新图像,则会在更新详细信息时出错

Maestral 不会在登录时启动

使用JS API时,使用Linkedin登录不会在iOS Safari上触发回调

Gigya Swift SDK:“无效的请求签名”

以 Gigya 形式显示用户名

Gigya SDK-评论插件的昵称

Gigya - 移动 sdks - 新用户检测

passport.js 不会在登录/注册时填充数据

Gensim word2vec培训不会在批次结束时回调