اذهب إلى المحتوى

لوحة المتصدرين

  1. Flutter Dev

    Flutter Dev

    الأعضاء


    • نقاط

      7

    • المساهمات

      787


  2. Mohamd Imran

    Mohamd Imran

    الأعضاء


    • نقاط

      5

    • المساهمات

      1070


  3. Sami Remili

    Sami Remili

    الأعضاء


    • نقاط

      3

    • المساهمات

      79


  4. عبدالرشيد احمد

    • نقاط

      3

    • المساهمات

      20


المحتوى الأكثر حصولًا على سمعة جيدة

المحتوى الأعلى تقييمًا في 06/20/20 في كل الموقع

  1. هل من رابط لهذا الكتاب بارك الله فيكم اسمه : الخوارزميّة بواسطة لغة بايثون Algorithmics with Python in Arabic for beginners, Basics of programming in Python اعداد و تاليف الدكتور وليد خليفة الاستاذ خليل ابو شنب
    1 نقطة
  2. السلام عليكم ورحمة الله وبركاته اسعد الله اوقاتكم جميعا يا رب لدي استفسار لو تكرمتو قمت بتجربة خدمة فايربيس لتحقق من رقم الهاتف . في بداية تفعيلي للخدمه كان كل شي ولكن مع التجارب وطلب الرمز لكذا مره حدث انقطاع في استقبل الرمز لم اعد قادر على استقبل رمز التحقق طبعا قلت ممكن يحتاج وقت وتوقفت اكثر من 5 ساعات ولكن بعد التجربة لا تزال المشكلة مستمرة. وقد شاهدت ايضا بانني لو قمت باضافة رقم هاتفي في نظام هواتف الاختبار بعد حذف الرقم لا يعود قادر على استقبل رسائل التحقق ايضا لا اعلم ما هو السبب هل يوجد حل لهذا المشكلة ؟ هذا هو الكود الذي استخدمه : public class MainActivitytt extends AppCompatActivity { private Spinner spinner; private EditText editText; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); spinner = findViewById(R.id.spinnerCountries); spinner.setAdapter(new ArrayAdapter<String>(this, android.R.layout.simple_spinner_dropdown_item, CountryData.countryNames)); editText = findViewById(R.id.editTextPhone); findViewById(R.id.buttonContinue).setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { String code = CountryData.countryAreaCodes[spinner.getSelectedItemPosition()]; String number = editText.getText().toString().trim(); if (number.isEmpty() || number.length() < 6) { editText.setError("Valid number is required"); editText.requestFocus(); return; } String phoneNumber = "+" + code + number; Intent intent = new Intent(MainActivitytt.this, VerifyPhoneActivity.class); intent.putExtra("phonenumber", phoneNumber); startActivity(intent); } }); } @Override protected void onStart() { super.onStart(); if (FirebaseAuth.getInstance().getCurrentUser() != null) { Intent intent = new Intent(this, ProfileActivitytt.class); intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK); startActivity(intent); } } } public class VerifyPhoneActivity extends AppCompatActivity { private String verificationId; private FirebaseAuth mAuth; private ProgressBar progressBar; private EditText editText; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_verify_phone); mAuth = FirebaseAuth.getInstance(); progressBar = findViewById(R.id.progressbar); editText = findViewById(R.id.editTextCode); String phonenumber = getIntent().getStringExtra("phonenumber"); sendVerificationCode(phonenumber); findViewById(R.id.buttonSignIn).setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { String code = editText.getText().toString().trim(); if (code.isEmpty() || code.length() < 6) { editText.setError("Enter code..."); editText.requestFocus(); return; } verifyCode(code); } }); } private void verifyCode(String code) { PhoneAuthCredential credential = PhoneAuthProvider.getCredential(verificationId, code); signInWithCredential(credential); } private void signInWithCredential(PhoneAuthCredential credential) { mAuth.signInWithCredential(credential) .addOnCompleteListener(new OnCompleteListener<AuthResult>() { @Override public void onComplete(@NonNull Task<AuthResult> task) { if (task.isSuccessful()) { Intent intent = new Intent(VerifyPhoneActivity.this, ProfileActivitytt.class); intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK); startActivity(intent); } else { Toast.makeText(VerifyPhoneActivity.this, task.getException().getMessage(), Toast.LENGTH_LONG).show(); } } }); } private void sendVerificationCode(String number) { progressBar.setVisibility(View.VISIBLE); PhoneAuthProvider.getInstance().verifyPhoneNumber( number, 60, TimeUnit.SECONDS, TaskExecutors.MAIN_THREAD, mCallBack ); } private PhoneAuthProvider.OnVerificationStateChangedCallbacks mCallBack = new PhoneAuthProvider.OnVerificationStateChangedCallbacks() { @Override public void onCodeSent(String s, PhoneAuthProvider.ForceResendingToken forceResendingToken) { super.onCodeSent(s, forceResendingToken); verificationId = s; } @Override public void onVerificationCompleted(PhoneAuthCredential phoneAuthCredential) { String code = phoneAuthCredential.getSmsCode(); if (code != null) { editText.setText(code); verifyCode(code); } } @Override public void onVerificationFailed(FirebaseException e) { Toast.makeText(VerifyPhoneActivity.this, e.getMessage(), Toast.LENGTH_LONG).show(); } }; } قمت بتجربة لحل المشكلة باستخدام السطر التالي ولكن لم ينجح الامر FirebaseAuth.getInstance().signOut();
    1 نقطة
  3. هناك العديد من الطرق بالطبع. هناك من يربط المتاجر بالدول: فمثلاً عند تسجيل متجر جديد يحدد المتجر الدول التي يتواجد بها، وبهذا وبعد أن يقوم المستخدم بإختيار دولته، يقوم الموقع بعرض المتاجر الموجودة بتلك الدولة التي اختارها المستخدم، أو بالأحرى يقوم الموقع بعرض السلع المتواجدة بمتاجر تلك الدولة. وهناك من يقوم بعرض السلع الأكثر زيارةً أو الأكثر شراءًا من طرف المستخدمين في تلك الدولة التي اختارها المستخدم. يمكنك عمل هذا عن طريق إضافة خانة عند تسجيل متجر جديد أو عند التعديل على معلومات المتجر تطلب من المتجر إدخال الدولة أو الدول التي يتواجد بها، وبعد ذلك عند دخول مستخدم ما وإختار دولته، قم بتسجيل الدولة ضمن معلومات المستخدم، وإن لم يكن المستخدم مسجلًا لدخوله يمكنك تسجيل الدولة في التطبيق، وبعد ذلك عندما تقوم بإرسال طلب لجانب الخادم ليأتي بالمواضيع، ارسل رقم أو إسم الدولة، وقم بالبحث عن المواضيع التي تتواجد بمتاجر تلك الدولة.
    1 نقطة
  4. على العموم يمكنك إستخدام بعض مميزات firebase مع قواعد بيانات mysql، كما يمكنك الإشتغال ب firebase وحده، بحيث أن firebase يوفر ميزة قواعد البيانات real time. نعم، يمكن إستخدام قواعد بيانات firebase في حالتك، عليك فهم الطريقة التي تعمل بها هذه القواعدة والطريقة التي يمكنك عن طريقها القيام بكل عملية من العمليات في جزء الخادم، فالإشتغال ب firebase مختلف عن الإشتغال عن طريق PHP وMySQL في جزء الخادم.
    1 نقطة
  5. مش متاكد إذا كان النضام من عندهم للتوفير sms ولاكن يوفر. نعم أذا تقوم بالتجارب فقط، عادي! ولاكن للمستخدم الحقيقي أذا تعرض لاهاذا السيناريو, إذا خرج وحاول أن يدخل مرة أخرى، عشان لا ينتصر لساعات ولا يستطيع أن يدخل البرنامج تعامل مع هاذا السيناريو. طيب السلام عليكم ورحمه الله وبركاته
    1 نقطة
  6. طيب شفت المشكلة، إذا تم إستخدام الرمز وتم التحقيق مع تجربتي لم يرسل رمز جديد أيضاً وهاذا عشان لا داعي، هاذا الطريق توفر sms و جميل. عندنا ثلاثة سيناريوهات هنا: ١. onCodeSent هنا إذا تم إرسال رمز روح لإشاشة التحقيق مع intent ٢. onVerificationCompleted هنا إذا تم التحقيق من قبل و خرج المستخدم ب singout ولم يمر مدة كثيرة والبرنامج في نفس الهاتف، لا داعي لإرسال رمز جديد. هنا firebase تتعامل مع هاذا وعليك أن تعمل signin with credentials فقت ثم intent الذي تريد بعده ٣.onVerificationFailed هنا تعامل بالمشاكل بطريقتك الخاصة. رابط للمعلومات https://firebase.google.com/docs/auth/android/phone-auth
    1 نقطة
  7. السلام عليكم ورحمه الله وبركاته، حبيبي هل مشكلتك عندما يجيك الرمز وإستخدمته، ثم خرجت من البرنامج وحاولت أن تدخل مرة أخرى لم يصلك رمز جديد؟
    1 نقطة
  8. السلام عليكم ورحمة الله وبركاته .. يعطيكم العافية .... لدي سؤال وهو في حال دخلت لموقع واعجبني واردت التعامل مع الشركة المصصمة او المبرمجة للموقع ماهي الطريقة مثلا موقع دورب او اكاديمية ابو عمر كيف اعرف الشركة التي قامت بإنشاء الموقع لهم ؟ خاصة انه مافي اي بيانات للوصول ؟
    1 نقطة
  9. هناك نوعان: النوع الأول تتعلمه من التجربة، فغالبًا إكتشاف الأخطاء وإصلاحها يعتمد على وضع إفتراضات لمكان حصول المشكلة والتحقق من أن إفتراضاتك صحيحة، وستقوم بتطوير هذه المهارة من خلال التجربة. أما النوع الثاني فهو إحتراف الأدوات، يمكنك البحث عن دورات أو فيديوهات تشرح مثلًا: كيف يمكنك عمل debugging من خلال Chrome DevTools. كيف يمكنك عمل debugging من خلال vscode. أو أي editor أو ide تستخدمه.
    1 نقطة
  10. تقريباً نسيت إرجاع المتغير mToken إلى قبل أي هكذا أي هكذا private PhoneAuthProvider.ForceResendingToken mToken;
    1 نقطة
  11. اذا انا فاهم عدل بيكون شكل الكود كالتالي كامل: public class VerifyPhoneActivity extends AppCompatActivity { private static final String TAG = "VerifyPhoneActivity"; private PhoneAuthProvider.ForceResendingToken mResendToken; private PhoneAuthProvider.OnVerificationStateChangedCallbacks mCallbacks; private String verificationId; private FirebaseAuth mAuth; private ProgressBar progressBar; private EditText editText; private String mToken; String mText; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_verify_phone); mAuth = FirebaseAuth.getInstance(); progressBar = findViewById(R.id.progressbar); editText = findViewById(R.id.editTextCode); findViewById(R.id.tt).setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { // mAuth.getInstance().signOut(); resendVerificationCode(mText,mToken); // resendVerificationCode(editText.getText().toString(),mToken); } }); String phonenumber = getIntent().getStringExtra("phonenumber"); sendVerificationCode(phonenumber); findViewById(R.id.buttonSignIn).setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { mText = editText.getText().toString(); String code = editText.getText().toString().trim(); if (code.isEmpty() || code.length() < 6) { editText.setError("Enter code..."); editText.requestFocus(); return; } verifyCode(code); } }); } private void verifyCode(String code) { PhoneAuthCredential credential = PhoneAuthProvider.getCredential(verificationId, code); signInWithCredential(credential); } private void signInWithCredential(PhoneAuthCredential credential) { mAuth.signInWithCredential(credential) .addOnCompleteListener(new OnCompleteListener<AuthResult>() { @Override public void onComplete(@NonNull Task<AuthResult> task) { if (task.isSuccessful()) { Intent intent = new Intent(VerifyPhoneActivity.this, ProfileActivitytt.class); intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK); startActivity(intent); } else { Toast.makeText(VerifyPhoneActivity.this, task.getException().getMessage(), Toast.LENGTH_LONG).show(); } } }); } private void sendVerificationCode(String number) { progressBar.setVisibility(View.VISIBLE); PhoneAuthProvider.getInstance().verifyPhoneNumber( number, 10, TimeUnit.SECONDS, this, mCallBack ); } private PhoneAuthProvider.OnVerificationStateChangedCallbacks mCallBack = new PhoneAuthProvider.OnVerificationStateChangedCallbacks() { /* @Override public void onCodeSent(String s, PhoneAuthProvider.ForceResendingToken forceResendingToken) { super.onCodeSent(s, forceResendingToken); verificationId = s; } */ @Override public void onCodeSent(String s, PhoneAuthProvider.ForceResendingToken forceResendingToken ) { super.onCodeSent(s, forceResendingToken); verificationId = s; // mToken = forceResendingToken; mText = editText.getText().toString().trim(); } @Override public void onVerificationCompleted(PhoneAuthCredential phoneAuthCredential) { String code = phoneAuthCredential.getSmsCode(); if (code != null) { editText.setText(code); verifyCode(code); } } @Override public void onVerificationFailed(FirebaseException e) { Toast.makeText(VerifyPhoneActivity.this, e.getMessage(), Toast.LENGTH_LONG).show(); } }; private void resendVerificationCode(String phoneNumber, PhoneAuthProvider.ForceResendingToken token) { PhoneAuthProvider.getInstance().verifyPhoneNumber( phoneNumber, 10, TimeUnit.SECONDS, this, mCallBack, token); } }
    1 نقطة
  12. اعتذر قم بإضافة متغير من نوع String بإسم mText وأعد إرجاع المتغير mToken إلى اوبجيك PhoneAuthProvider.ForceResendingToken وقم بإسناد editText.getText().toString() إليه ثم إستخدمه في الميثود في ال onClicklistener الخاص بال edittext mText = editText.getText().toString(); resendVerificationCode(mText,mToken);
    1 نقطة
  13. قمت بتعديل التالي: private String mToken; فظهرت لدي المشكله التاليه : 'resendVerificationCode(java.lang.String, com.google.firebase.auth.PhoneAuthProvider.ForceResendingToken)' in 'com.example.myapplication.VerifyPhoneActivity' cannot be applied to '(java.lang.String, java.lang.String)' Incompatible types. Found: 'com.google.firebase.auth.PhoneAuthProvider.ForceResendingToken', required: 'java.lang.String'
    1 نقطة
  14. شكرا اخي لقد حللت المشكلة ... و انا اسف للناشر لقد استخرجتهPDF من الموقع ..
    1 نقطة
  15. هنا قم بتعديل المتغير إلى نوع String private String mToken; وإستدل TaskExecutors.MAIN_THREAD بthis الميثود التالية private void sendVerificationCode(String number) { progressBar.setVisibility(View.VISIBLE); PhoneAuthProvider.getInstance().verifyPhoneNumber( number, 10, TimeUnit.SECONDS, this, mCallBack ); } وبالنسبة للخطأ هذا فهو ببساطة لأنه يحتاج إلى تسجل الدخول أولاً قبل الحصول على التوكن ,لذلك يجب أن تقوم بإستخدام تسجيل الدخول مع جوجل ثم الحصول على المستخدم وإستخدامه في الميثود signInWithCredential تفضل متوفر هنا الكود الرسمي من جوجل لهذه العملية هنا ,بعد تطبيق ذلك المفترض أن يعمل بدون مشاكل وبالنسبة لإعادة تشغيل الجهاز فهو لأن الجلسة تنتهي عند إغلاق التطبيق لكن بعد تطبيق المذكور ستحل المشكلة إن شاء الله
    1 نقطة
  16. شكرا اخي لكن اريده بصيغة PDF اذا امكن
    1 نقطة
  17. هلا بيك عزيزي @Mohamd Imran قمت بعمل الكود كامل مع تعديلك كالتالي : public class VerifyPhoneActivity extends AppCompatActivity { private static final String TAG = "VerifyPhoneActivity"; private PhoneAuthProvider.ForceResendingToken mResendToken; private PhoneAuthProvider.OnVerificationStateChangedCallbacks mCallbacks; private String verificationId; private FirebaseAuth mAuth; private ProgressBar progressBar; private EditText editText; private PhoneAuthProvider.ForceResendingToken mToken; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_verify_phone); mAuth = FirebaseAuth.getInstance(); progressBar = findViewById(R.id.progressbar); editText = findViewById(R.id.editTextCode); findViewById(R.id.tt).setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { // mAuth.getInstance().signOut(); resendVerificationCode(editText.getText().toString(),mToken); } }); String phonenumber = getIntent().getStringExtra("phonenumber"); sendVerificationCode(phonenumber); findViewById(R.id.buttonSignIn).setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { String code = editText.getText().toString().trim(); if (code.isEmpty() || code.length() < 6) { editText.setError("Enter code..."); editText.requestFocus(); return; } verifyCode(code); } }); } private void verifyCode(String code) { PhoneAuthCredential credential = PhoneAuthProvider.getCredential(verificationId, code); signInWithCredential(credential); } private void signInWithCredential(PhoneAuthCredential credential) { mAuth.signInWithCredential(credential) .addOnCompleteListener(new OnCompleteListener<AuthResult>() { @Override public void onComplete(@NonNull Task<AuthResult> task) { if (task.isSuccessful()) { Intent intent = new Intent(VerifyPhoneActivity.this, ProfileActivitytt.class); intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK); startActivity(intent); } else { Toast.makeText(VerifyPhoneActivity.this, task.getException().getMessage(), Toast.LENGTH_LONG).show(); } } }); } private void sendVerificationCode(String number) { progressBar.setVisibility(View.VISIBLE); PhoneAuthProvider.getInstance().verifyPhoneNumber( number, 10, TimeUnit.SECONDS, TaskExecutors.MAIN_THREAD, mCallBack ); } private PhoneAuthProvider.OnVerificationStateChangedCallbacks mCallBack = new PhoneAuthProvider.OnVerificationStateChangedCallbacks() { /* @Override public void onCodeSent(String s, PhoneAuthProvider.ForceResendingToken forceResendingToken) { super.onCodeSent(s, forceResendingToken); verificationId = s; } */ @Override public void onCodeSent(String s, PhoneAuthProvider.ForceResendingToken forceResendingToken) { super.onCodeSent(s, forceResendingToken); verificationId = s; mToken = forceResendingToken; } @Override public void onVerificationCompleted(PhoneAuthCredential phoneAuthCredential) { String code = phoneAuthCredential.getSmsCode(); if (code != null) { editText.setText(code); verifyCode(code); } } @Override public void onVerificationFailed(FirebaseException e) { Toast.makeText(VerifyPhoneActivity.this, e.getMessage(), Toast.LENGTH_LONG).show(); } }; private void resendVerificationCode(String phoneNumber, PhoneAuthProvider.ForceResendingToken token) { PhoneAuthProvider.getInstance().verifyPhoneNumber( phoneNumber, 10, TimeUnit.SECONDS, this, mCallBack, token); } } ولكن المشكلة لا تزال مستمره في حالة المرة الاولى للمستخدم يستطيع استقبل الكود ولكن لو عمل للمره الثانية لا يستطيع ذلك لا يستقبل الكود الا اذا قمت باعادة تشغيل هاتفي مع العلم انني حتى من جدول المستخدمون قمت بحذفه ولكن لم تحل المشكلة ايضا كود اعادة ارسال الرمز الان بعد الضغط عليه يعود بي الى صفحة تسجيل الرقم مع تفاصيلي التي ادخلتها سابقا مثل الدوله + رقم الهاتف ولما اعمل ارسل الرمز ايضا لا يتم الارسال. لا اعلم ما هيا العلاقه بين اعادة تشغيل الهاتف واستقبل الرمز بهذا الطريقة ارفقت ملف المشروع كامل ليكون اوضح MyApplication3.rar
    1 نقطة
  18. 1 نقطة
  19. السلام عليكم ورحمة الله وبركاته استخدم خاصية OTP من firebase لتحقق من ارقام المشتركين في تطبيقي وقد واجهتني مشكلة في حالة المستخدم تاخر فس ادخال رمز OTP قمت باضافة زر للقيام باعادة ارسال الرمز للمستخدم ولكن لم اعلم كيف يمكنني كتابة كود الاستعاده انا استخدم هذا الكود الان كامل public class VerifyPhoneActivity extends AppCompatActivity { private String verificationId; private FirebaseAuth mAuth; private ProgressBar progressBar; private EditText editText; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_verify_phone); mAuth = FirebaseAuth.getInstance(); progressBar = findViewById(R.id.progressbar); editText = findViewById(R.id.editTextCode); findViewById(R.id.tt).setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { //=======here I want add it==============/////////// } }); String phonenumber = getIntent().getStringExtra("phonenumber"); sendVerificationCode(phonenumber); findViewById(R.id.buttonSignIn).setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { String code = editText.getText().toString().trim(); if (code.isEmpty() || code.length() < 6) { editText.setError("Enter code..."); editText.requestFocus(); return; } verifyCode(code); } }); } private void verifyCode(String code) { PhoneAuthCredential credential = PhoneAuthProvider.getCredential(verificationId, code); signInWithCredential(credential); } private void signInWithCredential(PhoneAuthCredential credential) { mAuth.signInWithCredential(credential) .addOnCompleteListener(new OnCompleteListener<AuthResult>() { @Override public void onComplete(@NonNull Task<AuthResult> task) { if (task.isSuccessful()) { Intent intent = new Intent(VerifyPhoneActivity.this, ProfileActivitytt.class); intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK); startActivity(intent); } else { Toast.makeText(VerifyPhoneActivity.this, task.getException().getMessage(), Toast.LENGTH_LONG).show(); } } }); } private void sendVerificationCode(String number) { progressBar.setVisibility(View.VISIBLE); PhoneAuthProvider.getInstance().verifyPhoneNumber( number, 20, TimeUnit.SECONDS, TaskExecutors.MAIN_THREAD, mCallBack ); } private PhoneAuthProvider.OnVerificationStateChangedCallbacks mCallBack = new PhoneAuthProvider.OnVerificationStateChangedCallbacks() { @Override public void onCodeSent(String s, PhoneAuthProvider.ForceResendingToken forceResendingToken) { super.onCodeSent(s, forceResendingToken); verificationId = s; } @Override public void onVerificationCompleted(PhoneAuthCredential phoneAuthCredential) { String code = phoneAuthCredential.getSmsCode(); if (code != null) { editText.setText(code); verifyCode(code); } } @Override public void onVerificationFailed(FirebaseException e) { Toast.makeText(VerifyPhoneActivity.this, e.getMessage(), Toast.LENGTH_LONG).show(); } }; }
    1 نقطة
  20. صحيح يوجد لديك خطأ هنا عدل الميثود @Override public void onCodeSent(String s, PhoneAuthProvider.ForceResendingToken forceResendingToken) { super.onCodeSent(s, forceResendingToken); verificationId = s; } قم بعمل متغير بإسم mToken وعدل الميثود إلى @Override public void onCodeSent(String s, PhoneAuthProvider.ForceResendingToken forceResendingToken) { super.onCodeSent(s, forceResendingToken); verificationId = s; mToken = forceResendingToken; } ثم نقوم بإستخدام الميثود التالية لإجبار إعادة إرسال الرمز مرة أخرى private void resendVerificationCode(String phoneNumber, PhoneAuthProvider.ForceResendingToken token) { PhoneAuthProvider.getInstance().verifyPhoneNumber( phoneNumber, 60, TimeUnit.SECONDS, this, mCallback, token); } ثم قم بعمل زر مثلا ,وإستدعي الميثود عند ضغط الزر لإجبار إعادة إرسال الرمز نستعديها هكذا مع تمرير الرقم ومتغير mToken إليها resendVerificationCode(phonenumber,mToken);
    1 نقطة
  21. هلا بيك عزيزي 60 ثانية او انا غلطان ؟ لني قمت بالانتظار لكثر من 4 ساعات تقريبا والمشكلة مستمره فقط حينما اعيد تشغيل الجهاز استطيع استقبل الرمز لمرة واحده ولو حاولت من جديد لن ياتي حتى اعيد التشغيل مره اخره هذا ما وجدته بعد التجربه
    1 نقطة
  22. مرحباً أخي @مروان مروان3 هذه ليست مشكلة في إرسال الكود لكن ما يحدث هو إذا قرأت الdocs الخاص بالخدمة يوضحون بأن الميثود verifyPhoneNumber إذا قمت بإستعائها عدة مرات مثلا عند إستجعائها من الميثود onStart أو أي ميثود تعمل عند بدء تشغيل التطبيق فإن الميثود verifyPhoneNumber لن ترسل رسالة تأكيد إلا بعد إنتهاء مهلة الطلب ومهلة الطلب أنت محددها 60 وهذا كثير لذلك جرب تغييرها إلى ١٠ هنا private void sendVerificationCode(String number) { progressBar.setVisibility(View.VISIBLE); PhoneAuthProvider.getInstance().verifyPhoneNumber( number, 10, TimeUnit.SECONDS, TaskExecutors.MAIN_THREAD, mCallBack ); }
    1 نقطة
  23. وعليكم السلام ورحمة الله وبركاته @ندى محمد2 في بعض الاحيان يوجد اسم الشركة المصممة للموقع او المبرمج عند تذييل الصفحة footer لكن ليس دائما , خاصةً انه صاحب الموقع يريد حقوق النشر كاملة فيصعب معرفة الجهة التي صممت الموقع . السبيل الاسهل هو البحث عن شركة تقوم بتصميم المواقع و تصفح معرض الأعمال لديهم , دائما يتوفر هذا القسم في الموقع التعريفي للشركة .
    1 نقطة
  24. يمكنك تصفح هذا القسم من الموقع لمعرفة كيفية التواصل مع الدعم و قومي بتفحص البريد الخاص بك و الرسائل النصة على هاتفك، لا بد أن يرسلوا سبب تعطيل الحساب، او هل فعلا تم تحويل المبلغ أم لا
    1 نقطة
  25. أهلا بك ، نعم الموضوع بسيط، ولكن يجب أن تكون على دراية بطريقة برمجة التطبيقات (الأساسيات على الأقل ) أرفق لك فيديو فيه شرح كامل للهدف الذي تريده .
    1 نقطة
  26. شكرا على الإفادة ي غالي
    1 نقطة
  27. السلام عليكم الأفضل هو التركيز فقط بمحتويات الدورة ومشاهدتها بالتسلسل الموجودة فيه, لضمان عدم الإنتقال لمرحلة جديدة بعد الفهم للمراحل السابقة لها, إنما بخصوص تلك الأمور التي تشعر بعدم فهمك الكافي لها, حاول مشاهدتها مرات عديدة حتى تحصل على أكبر فائدة, لكن لا تنزعج!! مع الوقت سوف تشعر بأن مستواك في تحسن مستمر والأمور بدأت بالوضوح أكثر فأكثر. حالياً أنصحك أخي فقط بالإهتمام بمحتوى الدورة دون اللجوء لأي أمر أخرى حتى لا تتشتت, وإن واجهتك أي مشكلة, قم بطرحها مباشرة, وسوف تجد العديد من المدربين لمساعدتك.
    1 نقطة
×
×
  • أضف...