• 0
ameral

Android | تسجيل الدخول من خلال facebook

سؤال

 

بسم الله الرحمن الرحيم  و الصلاه و السلام علي اشرف المرسلين

هذا الموضوع التعليمي هو حول دمج الفيسبوك في  تطبيق الاندرويد الخاص بك. وانا ذاهب الى شرح الخطوات المختلفة مثل توليد توقيع التطبيق الخاص بك، و تسجيل تطبيق الفيسبوك و  خطوات تحميله. هنا وثائق رسمية من الفيسبوك في كيفية التعامل مع بيئة android .

توليد كود التوقيع  لتطبيقك  لربطه بإعدادات الفيسبوك
معرفة مسار  ملف keytool     و تجده  في  مسار Java Jdk   و غالبا ما تجده في المسار 
C:\Program Files (x86)\Java\jre7\bin
و نقوم بالوصول لهذا المسار من خلال  cmd 
1.png
 
 
معرفة مسار الملف debug.keystore     غالبا تجده في المسار التالي C:\Users\mohammed\.android\debug.keystore
 
نقوم بادخال النص التالي علي  شاشة cmd   بمسار keytool
keytool -exportcert -aliasandroiddebugkey -keystore " C:\Users\mohammed\.android\debug.keystore "| openssl sha1 -binary | openssl base64
 
 نقوم بتعديل مسار ملف debug.keystore الموجود بين علامتان التنصيص  في حال كان هناك اختلاف في مسارdebug.keystore لديكم حسب مساره   
 
2.png
 
 
 
 
 
سيطلب منكم ادخال كلمة مرور  " اكتب أي كلمة مرور " مع العلم ان كلمة المرور هذه هي التي  ستكنبها في حال قمت بعملexport  للتطبيق   لاحقا    حتي  يعمل التطبيق  
و بعد ذالك سيعطيك كود توقيع   مشفر  نقوم بنسخة  لاننا سنحتاجه  لا حقا 
 
3.png
 
 
 
 
تسجيل تطبيقك في تطبيقات الFacebook
 
بعد توليد توقيع التطبيق الخاص بك بنجاح، تسجيل تطبيق الفيسبوك الخاص بك عن طريق الذهاب الى إنشاء تطبيق فيسبوك جديد وملء كافة المعلومات المطلوبة. وحدد ملكية  التطبيق وإعطاء hashkey الخاص "كود التوقيع " والتي تم إنشاؤها مسبقا باستخدام keytool.
 
نتابع الصور 
4.png

5.png

6.png

7.png

8.png

في الصورة التالية نقوم بإدخال كود التوقيع الذي حصلنا عليه مسبقا
 
9.png

في الصورة التالية يظهر لك ID  الخاص بتطبيقك  و هو الذي سنستخدمه في البرمجة ان شاء الله
10.png
 
 
برمجة التطبيق
الان نتوجه لبرمجة تطبيق الاندرويد 
نقوم بعمل تطبيق جديد  
و نقوم بتحميل مكتبات facebook SDK من الرابط  https://developers.facebook.com/docs/android/
 او يمكنك الحصول عليها من المرفقات 
ثم نقوم إستيرادها الي محرر Eclipse      
File ⇒ Import ⇒ Existing Projects into Workspace 
ثم نختار المجلد الخاص بــfacebook SDK  
--------------------
ثم نقوم بإضافة  facebook SDK   كمكتبة  الي التطبيق الخاص بك  حتي تستطيع استخدام classesو الاصناف الموجودة بداخله
 

اهم الدوال تم استخدامها 
 
الربط بتطبيق الفيس بوك الخاص بك من خلا رقم ID 
// Your Facebook APP IDprivate static String APP_ID = "533021960149687";private Facebook facebook = new Facebook(APP_ID);
دالة تسجيل الدخول للفيس بوك 
public void loginToFacebook() {mPrefs = getPreferences(MODE_PRIVATE);String access_token = mPrefs.getString("access_token", null);long expires = mPrefs.getLong("access_expires", 0);if (access_token != null) {facebook.setAccessToken(access_token);}if (expires != 0) {facebook.setAccessExpires(expires);}if (!facebook.isSessionValid()) {facebook.authorize(this,new String[] { "email", "publish_stream" },new DialogListener() {@Overridepublic void onCancel() {// Function to handle cancel event}@Overridepublic void onComplete(Bundle values) {// Function to handle complete event// Edit Preferences and update facebook acess_tokenSharedPreferences.Editor editor = mPrefs.edit();editor.putString("access_token",facebook.getAccessToken());editor.putLong("access_expires",facebook.getAccessExpires());editor.commit();}@Overridepublic void onError(DialogError error) {// Function to handle error}@Overridepublic void onFacebookError(FacebookError fberror) {// Function to handle Facebook errors}});}}
دالة عرض المعلومات الخاصة بالحساب مثل الاسم و الايميل علي شكل رسالة 
public void getProfileInformation() {mAsyncRunner.request("me", new RequestListener() {@Overridepublic void onComplete(String response, Object state) {Log.d("Profile", response);String json = response;try {JSONObject profile = new JSONObject(json);// getting name of the userString name = profile.getString("name");// getting email of the userString email = profile.getString("email");runOnUiThread(new Runnable() {@Overridepublic void run() {Toast.makeText(getApplicationContext(), "Name: " + name + "\nEmail: " + email, Toast.LENGTH_LONG).show();}});} catch (JSONException e) {e.printStackTrace();}}@Overridepublic void onIOException(IOException e, Object state) {}@Overridepublic void onFileNotFoundException(FileNotFoundException e,Object state) {}@Overridepublic void onMalformedURLException(MalformedURLException e,Object state) {}@Overridepublic void onFacebookError(FacebookError e, Object state) {}});}

التحميل نسخة الكود و مكتبات  facebook     كلمة المرور   : www.androidarby.tk                                                  

 

 

منقول  لنشر و زيادة و اثراء المحتوي العربي البرمجي  في مجال الاندرويد 

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

1 إجابات على هذا السؤال .

  • 0

بارك الله فيك

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

من فضلك سجل دخول لتتمكن من التعليق

ستتمكن من اضافه تعليقات بعد التسجيل



سجل دخولك الان

  • يستعرض القسم حالياً   0 members

    لا يوجد أعضاء مسجلين يشاهدون هذه الصفحة .