المواضيع

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


بسم الله الرحمن الرحيم

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

توليد كود التوقيع  لتطبيقك  لربطه بإعدادات الفيسبوك
معرفة مسار  ملف keytool     و تجده  في  مسار Java Jdk   و غالبا ما تجده في المسار  
C:\Program Files (x86)\Java\jre7\bin 
و نقوم بالوصول لهذا المسار من خلال  cmd 

معرفة مسار الملف debug.keystore     غالبا تجده في المسار التالي  C:\Users\mohammed\.android\debug.keystore

نقوم بادخال النص التالي علي  شاشة cmd   بمسار keytool
keytool -exportcert -alias
androiddebugkey -keystore " C:\Users\mohammed\.android\debug.keystore "
| openssl sha1 -binary | openssl base64
 نقوم بتعديل مسار ملف debug.keystore الموجود بين علامتان التنصيص  في حال كان هناك اختلاف في مسار debug.keystore لديكم حسب مساره   





سيطلب منكم ادخال كلمة مرور  " اكتب أي كلمة مرور " مع العلم ان كلمة المرور هذه هي التي  ستكنبها في حال قمت بعمل export  للتطبيق   لاحقا    حتي  يعمل التطبيق  
و بعد ذالك سيعطيك كود توقيع   مشفر  نقوم بنسخة  لاننا سنحتاجه  لا حقا 




تسجيل تطبيقك في تطبيقات الFacebook

بعد توليد توقيع التطبيق الخاص بك بنجاح، تسجيل تطبيق الفيسبوك الخاص بك عن طريق الذهاب الى إنشاء تطبيق فيسبوك جديد وملء كافة المعلومات المطلوبة. وحدد ملكية  التطبيق وإعطاء hashkey الخاص "كود التوقيع " والتي تم إنشاؤها مسبقا باستخدام keytool.

نتابع الصور 





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


في الصورة التالية يظهر لك ID  الخاص بتطبيقك  و هو الذي سنستخدمه في البرمجة ان شاء الله


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

اهم الدوال تم استخدامها 

الربط بتطبيق الفيس بوك الخاص بك من خلا رقم ID
// Your Facebook APP ID
private 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() {
 
                    @Override
                    public void onCancel() {
                        // Function to handle cancel event
                    }
 
                    @Override
                    public void onComplete(Bundle values) {
                        // Function to handle complete event
                        // Edit Preferences and update facebook acess_token
                        SharedPreferences.Editor editor = mPrefs.edit();
                        editor.putString("access_token",
                                facebook.getAccessToken());
                        editor.putLong("access_expires",
                                facebook.getAccessExpires());
                        editor.commit();
                    }
 
                    @Override
                    public void onError(DialogError error) {
                        // Function to handle error
 
                    }
 
                    @Override
                    public void onFacebookError(FacebookError fberror) {
                        // Function to handle Facebook errors
 
                    }
 
                });
    }
}


دالة عرض المعلومات الخاصة بالحساب مثل الاسم و الايميل علي شكل رسالة
public void getProfileInformation() {
    mAsyncRunner.request("me", new RequestListener() {
        @Override
        public void onComplete(String response, Object state) {
            Log.d("Profile", response);
            String json = response;
            try {
                JSONObject profile = new JSONObject(json);
                // getting name of the user
                String name = profile.getString("name");
                // getting email of the user
                String email = profile.getString("email");
 
                runOnUiThread(new Runnable() {
 
                    @Override
                    public void run() {
                        Toast.makeText(getApplicationContext(), "Name: " + name + "\nEmail: " + email, Toast.LENGTH_LONG).show();
                    }
 
                });
 
            } catch (JSONException e) {
                e.printStackTrace();
            }
        }
 
        @Override
        public void onIOException(IOException e, Object state) {
        }
 
        @Override
        public void onFileNotFoundException(FileNotFoundException e,
                Object state) {
        }
 
        @Override
        public void onMalformedURLException(MalformedURLException e,
                Object state) {
        }
 
        @Override
        public void onFacebookError(FacebookError e, Object state) {
        }
    });
}


----المرفقات---------------------------------------------------
كلمة المرور : www.androidarby.tk                                        
 تحميل  1.9 MB

ليست هناك تعليقات:

إرسال تعليق

عرب رويد arabroid Designed by Templateism | MyBloggerLab Copyright © 2014

صور المظاهر بواسطة richcano. يتم التشغيل بواسطة Blogger.