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
.
- Actividad de Facebook no se carga correctamente en facebook-sdk 4.4.0
- El botón de inicio de sesión de Facebook no está ejecutando la devolución de llamada al hacer clic
- Android - Facebook SDK login -> cerrar sesión -> inicio de sesión no funciona
- ¿Por qué el ID de aplicación de Facebook de repente se convierte en no válido?
- El inicio de sesión de Facebook falla en algunos dispositivos
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(); } }
- Android, botón de inicio de sesión de Facebook causa bloqueo (SDK 4.0.0)
- 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
- Facebook Login No Regresar Usuario access_token
- Analizar con inicio de sesión de Facebook - Posiblemente desde APK v42 o Graph API v2.4
- Inicio de sesión de Facebook: finaliza un error de hash de clave no válido, al intentar iniciar sesión de nuevo
- Error de SSL durante el inicio de sesión de Facebook en Android
- Acceso a Facebook en el navegador de celulares a través de la aplicación de Facebook
- Facebook onCompleted Email java.lang.NullPointerException
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)