La verificación instantánea de Facebook no está verificando el número de móvil a través de la aplicación de Facebook
Hola, estoy implementando la Facebook Instant Verification
en mi aplicación. En mi aplicación, estoy comprobando el número de clientes móviles, para lo cual estoy enviando OTP para obtener esta verificada.
Quiero cambiar el enfoque como recientemente Facebook lanzó un concepto de Facebook Instant Verification
que verifica el número de móvil sobre la base de cualquier número que haya configurado en su cuenta de Facebook
.
- Android, botón de inicio de sesión de Facebook causa bloqueo (SDK 4.0.0)
- Actividad de Facebook no se carga correctamente en facebook-sdk 4.4.0
- "Argumento 'contexto' no puede ser nulo"
- Error de inicio de sesión: hay un error al iniciar sesión en esta aplicación. Por favor, inténtelo de nuevo más tarde
- LoginButton pidiendo permiso de lista de amigos, ¿por qué?
Https://developers.facebook.com/blog/post/2016/12/20/introducing-instant-verification/
Https://developers.facebook.com/docs/accountkit/android
Https://developers.facebook.com/docs/accountkit/overview
He hecho lo que se dice en los artículos, pero como se escribe que cada vez que ingrese el mismo número que está configurado en su aplicación de Facebook, a continuación, kit de cuenta de Facebook verificará su número de móvil sobre la base de lo que está en su cuenta de facebook de lo contrario envía OTP a continuación, verificación.
Problema
En mi caso estoy entrando en el mismo número de teléfono móvil que está configurado en mi cuenta de Facebook y con la última aplicación de facebook, pero aún no verifica el número de móvil sobre la base de número de teléfono móvil configurado en la aplicación de Facebook, siempre envía OTP.
Como debe hacer la verificación sin OTP. No estoy seguro de lo que estoy perdiendo en mi código y configuración, ya que siempre hace la verificación con OTP.
Por favor apoya. Gracias por adelantado.
AndroidManifest.xml
<uses-permission android:name="android.permission.RECEIVE_SMS" /> <uses-permission android:name="android.permission.READ_PHONE_STATE" /> <uses-permission android:name="android.permission.INTERNET" /> <application android:allowBackup="true" android:icon="@mipmap/ic_launcher" android:label="@string/app_name" android:supportsRtl="true" android:theme="@style/AppTheme"> <activity android:name=".MainActivity"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> <meta-data android:name="com.facebook.accountkit.ApplicationName" android:value="@string/app_name" /> <meta-data android:name="com.facebook.sdk.ApplicationId" android:value="@string/FACEBOOK_APP_ID" /> <meta-data android:name="com.facebook.accountkit.ClientToken" android:value="@string/ACCOUNT_KIT_CLIENT_TOKEN" /> <activity android:name="com.facebook.accountkit.ui.AccountKitActivity"> <intent-filter> <action android:name="android.intent.action.VIEW" /> <category android:name="android.intent.category.DEFAULT" /> <category android:name="android.intent.category.BROWSABLE" /> <data android:scheme="@string/ak_login_protocol_scheme" /> </intent-filter> </activity> </application>
Construir un gradiente
apply plugin: 'com.android.application' android { compileSdkVersion 23 buildToolsVersion "23.0.1" defaultConfig { applicationId "spice.in.accountkitfacebookdemo" minSdkVersion 15 targetSdkVersion 23 versionCode 1 versionName "1.0" testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner" } buildTypes { release { minifyEnabled false proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' } } } repositories { jcenter() } dependencies { compile fileTree(dir: 'libs', include: ['*.jar']) androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', { exclude group: 'com.android.support', module: 'support-annotations' }) compile 'com.android.support:appcompat-v7:23.0.1' testCompile 'junit:junit:4.12' compile 'com.android.support:design:23.0.1' compile 'com.facebook.android:account-kit-sdk:4.+' compile 'com.google.android.gms:play-services:10.0.1' }
Strings.xml
<string name="app_name">AccountKitDemo</string> <string name="FACEBOOK_APP_ID">XXX</string> <string name="ACCOUNT_KIT_CLIENT_TOKEN">YYYY</string> <string name="ak_login_protocol_scheme">akXXX</string>
MainActivity.java
@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); AccountKit.initialize(getApplicationContext()); send = (Button) findViewById(R.id.send); send.setOnClickListener(this); } @Override public void onClick(View v) { onLoginPhone(); } public void onLoginPhone() { final Intent intent = new Intent(this, AccountKitActivity.class); AccountKitConfiguration.AccountKitConfigurationBuilder configurationBuilder = new AccountKitConfiguration.AccountKitConfigurationBuilder(LoginType.PHONE, AccountKitActivity.ResponseType.CODE); // or .ResponseType.TOKEN // ... perform additional configuration ... intent.putExtra(AccountKitActivity.ACCOUNT_KIT_ACTIVITY_CONFIGURATION, configurationBuilder.build()); startActivityForResult(intent, APP_REQUEST_CODE); } @Override protected void onActivityResult(final int requestCode, final int resultCode, final Intent data) { super.onActivityResult(requestCode, resultCode, data); if (requestCode == APP_REQUEST_CODE) { // confirm that this response matches your request AccountKitLoginResult loginResult = data.getParcelableExtra(AccountKitLoginResult.RESULT_KEY); String toastMessage; if (loginResult.getError() != null) { toastMessage = loginResult.getError().getErrorType().getMessage(); Toast.makeText(this, "Get Error " + loginResult.getError(), Toast.LENGTH_LONG).show(); } else if (loginResult.wasCancelled()) { toastMessage = "Login Cancelled"; } else { if (loginResult.getAccessToken() != null) { toastMessage = "Success:" + loginResult.getAccessToken().getAccountId(); } else { toastMessage = String.format( "Success:%s...", loginResult.getAuthorizationCode().substring(0, 10)); } Toast.makeText(this, "Successfully done", Toast.LENGTH_LONG).show(); } Toast.makeText(this, toastMessage, Toast.LENGTH_LONG).show(); } }
- ¿Cómo obtener el token de acceso actual en Facebook Android SDK V4?
- Facebook Login No Regresar Usuario access_token
- Login de Android Facebook "LoginActivity could not be started"
- ¿Cómo detectar un evento de cierre de sesión con la API de Android de Facebook v4?
- Inicio de sesión de Facebook en el fragmento en android
- Facebook Login / Google Login - ¿La misma actividad?
- La devolución de llamada de inicio de sesión no se activa mediante facebook-android-sdk 4
- Autenticación con Facebook al principio y luego Google provoca un error en Firebase para Android
One Solution collect form web for “La verificación instantánea de Facebook no está verificando el número de móvil a través de la aplicación de Facebook”
Debe agregar los hashes de clave de Android de su aplicación en su portal de desarrolladores para que la Verificación Instantánea funcione. Desafortunadamente esto no es claro en los documentos de verificación instantánea actuales (estamos trabajando en hacer esto más claro).
En este momento, un par de aplicaciones de usuario sólo puede realizar la Verificación instantánea una vez por hora. Estamos mejorando esto para permitir intentos infinitivos si eres un administrador o desarrollador de la aplicación, pero no estará listo hasta el final de la semana.
- ¿Cómo desarrollar un teclado personalizado para la aplicación de Android?
- Cannont resolver el símbolo JSONObject (Android Studio)