Android - फेसबुक एकीकरण
एंड्रॉइड आपके एप्लिकेशन को फेसबुक से कनेक्ट करने और डेटा या फेसबुक पर किसी भी तरह के अपडेट को साझा करने की अनुमति देता है। यह अध्याय आपके आवेदन में फेसबुक को एकीकृत करने के बारे में है।
दो तरीके हैं जिनके माध्यम से आप फेसबुक को एकीकृत कर सकते हैं और अपने आवेदन से कुछ साझा कर सकते हैं। ये तरीके नीचे सूचीबद्ध हैं -
- फेसबुक एसडीके
- आशय शेयर
फेसबुक एसडीके का घालमेल
यह facebook से जुड़ने का पहला तरीका है। आपको अपना आवेदन पंजीकृत करना होगा और फिर कुछ एप्लिकेशन आईडी प्राप्त करनी होगी, और फिर आपको फेसबुक एसडीके डाउनलोड करना होगा और इसे अपनी परियोजना में जोड़ना होगा। कदम नीचे सूचीबद्ध हैं:
एप्लिकेशन हस्ताक्षर बनाना
आपको एक कुंजी हस्ताक्षर उत्पन्न करना होगा, लेकिन इसे उत्पन्न करने से पहले, सुनिश्चित करें कि आपने एसएसएल स्थापित किया है, अन्यथा आपको एसएसएल डाउनलोड करना होगा। इसे यहां से डाउनलोड किया जा सकता है ।
अब कमांड प्रॉम्प्ट खोलें और अपने जावा jre फ़ोल्डर में रीडायरेक्ट करें। एक बार जब आप वहां पहुंच जाते हैं, तो इस कमांड को ठीक से टाइप करें। आपको अपने keystore पथ के साथ उल्टे अल्पविराम के पथ को बदलना होगा, जिसे आप ग्रहण में विंडो टैब का चयन करके और प्राथमिकताएं टैब का चयन करके और फिर बाईं ओर से एंड्रॉइड के तहत बिल्ड विकल्प का चयन कर सकते हैं।
keytool -exportcert -alias androiddebugkey -keystore "your path"
| openssl sha1 -binary | openssl base64
एक बार जब आप इसे दर्ज करते हैं, तो आप पासवर्ड के लिए संकेत देंगे। एंड्रॉइड को पासवर्ड के रूप में दें और फिर उस कुंजी को कॉपी करें जो आपको दी गई है। यह नीचे दी गई छवि में दिखाया गया है -
अपना आवेदन पंजीकृत करना
अब Developers.facebook.com/apps पर एक नया फेसबुक एप्लिकेशन बनाएं और सभी जानकारी भरें। इसे नीचे दिखाया गया है -
अब देशी एंड्रॉइड ऐप सेक्शन में जाएं और अपने प्रोजेक्ट और क्लास का नाम भरें और हैश पेस्ट करें जिसे आपने चरण 1 में कॉपी किया है। यह नीचे दिखाया गया है।
यदि सब कुछ ठीक काम करता है, तो आपको गुप्त के साथ एक आवेदन आईडी प्राप्त होगी। बस आवेदन आईडी की प्रतिलिपि बनाएँ और इसे कहीं सहेजें। यह नीचे दी गई छवि में दिखाया गया है -
एसडीके डाउनलोड करना और इसे एकीकृत करना
डाउनलोड करें फेसबुक sdk यहाँ । इसे ग्रहण में आयात करें। आयात होने के बाद, अपने facebook प्रोजेक्ट पर राइट क्लिक करें और properties पर क्लिक करें। android पर क्लिक करें, ऐड बटन पर क्लिक करें और प्रोजेक्ट के रूप में facebook sdk चुनें। ok पर क्लिक करें।
फेसबुक लॉगिन एप्लिकेशन बनाना
एक बार जब सब कुछ पूरा हो जाता है, तो आप नमूने चला सकते हैं, जो एसडीके के साथ आता है या अपना खुद का एप्लिकेशन बनाता है। लॉगिन करने के लिए, आपको कॉल करना होगाopenActiveSessionविधि और इसके कॉलबैक को लागू करता है। इसका सिंटैक्स नीचे दिया गया है -
// start Facebook Login
Session.openActiveSession(this, true, new Session.StatusCallback() {
// callback when session changes state
public void call(Session session, SessionState state, Exception exception) {
if (session.isOpened()) {
// make request to;2 the /me API
Request.executeMeRequestAsync(session, new Request.GraphUserCallback() {
// callback after Graph API response with user object
@Override
public void onCompleted(GraphUser user, Response response) {
if (user != null) {
TextView welcome = (TextView) findViewById(R.id.welcome);
welcome.setText("Hello " + user.getName() + "!");
}
}
});
}
}
}
आशय शेयर
एप्लिकेशन के बीच डेटा साझा करने के लिए इंटेंट शेयर का उपयोग किया जाता है। इस रणनीति में, हम एसडीके सामान नहीं संभालेंगे, लेकिन फ़ेसबुक एप्लिकेशन को इसे संभालने दें। हम केवल फेसबुक एप्लिकेशन को कॉल करेंगे और शेयर करने के लिए डेटा पास करेंगे। इस तरह, हम फेसबुक पर कुछ साझा कर सकते हैं।
एंड्रॉइड गतिविधियों और अनुप्रयोगों के बीच डेटा साझा करने के लिए इरादा पुस्तकालय प्रदान करता है। शेयर इरादे के रूप में इसका उपयोग करने के लिए, हमें शेयर इरादे के प्रकार को निर्दिष्ट करना होगाACTION_SEND। इसका सिंटैक्स नीचे दिया गया है -
Intent shareIntent = new Intent();
shareIntent.setAction(Intent.ACTION_SEND);
अगली चीज़ जो आपको पास करने के लिए है, और फिर डेटा पास करने के लिए डेटा के प्रकार को परिभाषित करना है। इसका सिंटैक्स नीचे दिया गया है -
shareIntent.setType("text/plain");
shareIntent.putExtra(Intent.EXTRA_TEXT, "Hello, from tutorialspoint");
startActivity(Intent.createChooser(shareIntent, "Share your thoughts"));
इन तरीकों के अलावा, अन्य तरीके भी उपलब्ध हैं जो इरादे को संभालने की अनुमति देते हैं। वे नीचे सूचीबद्ध हैं -
अनु क्रमांक | विधि और विवरण |
---|---|
1 | addCategory(String category) यह विधि इरादे में एक नई श्रेणी जोड़ती है। |
2 | createChooser(Intent target, CharSequence title) ACTION_CHOOSER आशय बनाने के लिए सुविधा कार्य |
3 | getAction() यह विधि प्रदर्शन की जाने वाली सामान्य क्रिया को पुनः प्राप्त करती है, जैसे कि ACTION_VIEW |
4 | getCategories() यह विधि इरादे और वर्तमान स्केलिंग घटना में सभी श्रेणियों के सेट को वापस करती है |
5 | putExtra(String name, int value) यह विधि अभिप्राय में विस्तारित डेटा जोड़ती है। |
6 | toString() यह विधि इस ऑब्जेक्ट के संक्षिप्त, मानव-पठनीय विवरण युक्त स्ट्रिंग लौटाती है |
उदाहरण
फेसबुक पर डेटा साझा करने के लिए IntentShare के उपयोग को प्रदर्शित करने वाला एक उदाहरण यहां दिया गया है। यह एक मूल एप्लिकेशन बनाता है जो आपको फेसबुक पर कुछ पाठ साझा करने की अनुमति देता है।
इस उदाहरण के साथ प्रयोग करने के लिए, आप इसे वास्तविक डिवाइस पर या एमुलेटर में चला सकते हैं।
कदम | विवरण |
---|---|
1 | आप एक पैकेज com.example.sairamkrishna.myapplication के तहत Android एप्लिकेशन बनाने के लिए Android स्टूडियो का उपयोग करेंगे। |
2 | आवश्यक कोड जोड़ने के लिए src / MainActivity.java फ़ाइल को संशोधित करें। |
3 | संबंधित XML घटकों को जोड़ने के लिए Res / layout / activity_main को संशोधित करें। |
4 | एप्लिकेशन चलाएं और एक रनिंग एंड्रॉइड डिवाइस चुनें और उस पर एप्लिकेशन इंस्टॉल करें और परिणामों को सत्यापित करें। |
निम्नलिखित संशोधित मुख्य गतिविधि फ़ाइल की सामग्री है MainActivity.java।
package com.example.sairamkrishna.myapplication;
import android.content.Intent;
import android.net.Uri;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.widget.Button;
import android.widget.ImageView;
import java.io.FileNotFoundException;
import java.io.InputStream;
public class MainActivity extends AppCompatActivity {
private ImageView img;
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
img=(ImageView)findViewById(R.id.imageView);
Button b1=(Button)findViewById(R.id.button);
b1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent sharingIntent = new Intent(Intent.ACTION_SEND);
Uri screenshotUri = Uri.parse("android.
resource://comexample.sairamkrishna.myapplication/*");
try {
InputStream stream = getContentResolver().openInputStream(screenshotUri);
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
sharingIntent.setType("image/jpeg");
sharingIntent.putExtra(Intent.EXTRA_STREAM, screenshotUri);
startActivity(Intent.createChooser(sharingIntent, "Share image using"));
}
});
}
}
निम्नलिखित xml की संशोधित सामग्री है res/layout/activity_main.xml।
नीचे दिए गए कोड में abc tutorialspoint.com के लोगो को इंगित करता है
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
android:paddingBottom="@dimen/activity_vertical_margin"
tools:context=".MainActivity">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/textView"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true"
android:textSize="30dp"
android:text="Facebook share " />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Tutorials Point"
android:id="@+id/textView2"
android:layout_below="@+id/textView"
android:layout_centerHorizontal="true"
android:textSize="35dp"
android:textColor="#ff16ff01" />
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/imageView"
android:layout_below="@+id/textView2"
android:layout_centerHorizontal="true"
android:src="@drawable/abc"/>
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Share"
android:id="@+id/button"
android:layout_marginTop="61dp"
android:layout_below="@+id/imageView"
android:layout_centerHorizontal="true" />
</RelativeLayout>
निम्नलिखित की सामग्री है AndroidManifest.xml फ़ाइल।
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.sairamkrishna.myapplication" >
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<activity
android:name=".MainActivity"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
</manifest>
आइए अपने एप्लिकेशन को चलाने का प्रयास करें। मुझे लगता है कि आपने अपने कंप्यूटर के साथ अपने वास्तविक एंड्रॉइड मोबाइल डिवाइस को कनेक्ट किया है। एंड्रॉइड स्टूडियो से ऐप को चलाने के लिए, अपने प्रोजेक्ट की गतिविधि फ़ाइलों में से एक खोलें और
एक विकल्प के रूप में अपने मोबाइल डिवाइस का चयन करें और फिर अपने मोबाइल डिवाइस की जांच करें जो आपकी डिफ़ॉल्ट स्क्रीन प्रदर्शित करेगा -
अब बस बटन पर टैप करें और आपको शेयर प्रदाताओं की एक सूची दिखाई देगी।
अब बस उस लिस्ट में से फेसबुक को सेलेक्ट करें और फिर कोई भी मैसेज लिखें। यह नीचे दी गई छवि में दिखाया गया है -