2011-10-17 8 views
7

मैं अपने एंड्रॉइड एप्लिकेशन में बटन की तरह दिखाना चाहता हूं। नीचे वह कोड है जिसका उपयोग मैं अपने एंड्रॉइड एप्लिकेशन में एक लाइक बटन प्रदर्शित करने के लिए करता हूं।एंड्रॉइड एप्लिकेशन में फेसबुक की तरह बटन

String url = "http://www.facebook.com/plugins/like.php?layout=standard&show_faces=true&width=80&height=50&action=like&colorscheme=light&href=http://beta.demo.dy/web/service/304.htm" 
webview = (WebView) findViewById(R.id.webView1); 
webview.loadUrl(url); 
webview.setWebViewClient(new LikeWebviewClient()); 

public class LikeWebviewClient extends WebViewClient { 
    public boolean shouldOverrideUrlLoading(WebView view, String url) { 
     view.loadUrl(url); 
     return true; 
    } 
} 

लेकिन जब मैं इस एप्लिकेशन को चलाता हूं तो यह एक सफेद क्षेत्र प्रदर्शित करता है। इसे कैसे हल करें?

+0

हे, मैं वही काम करना चाहता हूं। कृपया मुझे बताओ क्या यह हल हो गया है? यदि हां तो आपने इसे कैसे किया है? –

+0

आप वेबव्यू की ऊंचाई और चौड़ाई को उस सेट में वेबव्यू जोड़ सकते हैं। इसलिए बटन पर onlu जैसे बटन प्रदर्शित होता है। – Megha

उत्तर

4

फेसबुक एसडीके ने देशी मोबाइल ऐप्स (17 अक्टूबर 2011 तक) के लिए like बटन सुविधा प्रदान नहीं की है। यह मोबाइल वेब ऐप्स में उपलब्ध है। एंड्रॉयड
Mobile - Facebook Developers
Like Button - Facebook Developers

+0

मैं यह कहना चाहता हूं कि iroid में एंड्रॉइड.आईट की वेबव्यू में संभव है कि वे बटन की तरह वेबपेज भी न करें, इसलिए मैं – Megha

+1

इस पोस्ट में वर्णित लाइब्रेरी का उपयोग करना चाहता हूं: http://stackoverflow.com/a/23853937/1891118 –

0

यह एक प्रयास करें मैं कुछ संशोधन

String url = "http://www.facebook.com/plugins/like.php?layout=standard&show_faces=true&width=80&height=50&action=like&colorscheme=light&href=http://beta.demo.dy/web/service/304.htm"; 
       // webview = (WebView) findViewById(R.id.webview); 
        webView.loadUrl(url); 
        webView.setWebViewClient(new WebViewClient()); 
       class LikeWebviewClient extends WebViewClient 
        { 
         public boolean shouldOverrideUrlLoading(WebView view, String url) { 
          view.loadUrl(url); 
          return true; 
         } 
        } 
6

की तरह विकल्प मूल निवासी मंच भाषाओं पर आसानी से लागू किया जा सकता बना दिया (,: अधिक जानकारी के लिए आप इन लिंक की जांच कर सकते आईओएस) के साथ ही ब्राउज़र (कर्ल, पीएचपी, जावास्क्रिप्ट) निम्नानुसार है। डेवलपर.फेसबुक ऐप सेक्शन पर जाएं और डेवलपर ऐप कॉन्फ़िगरेशन के ओपन ग्राफ सेक्शन में, अंतर्निहित एक्शन ग्राफ़ जोड़ें, जो एक नई ओपन ग्राफ एक्शन जोड़ते समय ड्रॉप-डाउन में दिखाना चाहिए। नवीनतम अपडेट के लिए here देखें।

एक बार हो जाने के बाद, "कोड प्राप्त करें" विकल्प प्लेटफ़ॉर्म के लिए नीचे दिखाए गए नमूना कोड को पुनर्प्राप्त करने का विकल्प चुनें। आप अपनी पसंद का मंच चुन सकते हैं। ध्यान दें कि app_specific_unique_identifier ऐप्स के लिए अद्वितीय है, मैंने इसे सुरक्षा कारणों से हटा दिया है और आपको अपने ऐप के लिए इसका उपयोग करना होगा।

मैं सफलतापूर्वक प्रवाह प्रवाह का परीक्षण करने में सक्षम हूं। उम्मीद है की यह मदद करेगा।

Bundle params = new Bundle(); 
params.putString("object", "http://samples.ogp.me/<app_specific_unique_identifier>"); 

Request request = new Request(
    Session.getActiveSession(), 
    "me/og.likes", 
    params, 
    HttpMethod.POST 
); 
Response response = request.executeAndWait(); 
// handle the response 
+0

यह एक अच्छा जवाब है। मैं लगातार तीन दिनों के लिए इस तरह के एक जवाब की तलाश कर रहा हूं। आपका बहुत बहुत धन्यवाद! – overbet13

+0

@birender क्या आप कृपया उस मुद्दे के साथ मेरी मदद कर सकते हैं? धन्यवाद। –

+0

मेरे पास अंतर्निहित (सामान्य) क्रिया के लिए विकल्प नहीं है। कोई सुझाव? –

3

अंत में फेसबुक और के लिए Android

कदम शुरू Like बटन:

1 - Facebook Library जोड़े प्रोजेक्ट

2 - Create App फेसबुक पर 3 - अपडेट मेनीफ़ेस्ट

**In the Application tab add meta-data** 

<meta-data 
     android:name="com.facebook.sdk.ApplicationId" 
     android:value="@string/fb_id" /> 

4 - लेआउट में LikeView जोड़े

//activitymain.xml 
<com.facebook.widget.LikeView 
      android:id="@+id/like_view" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      > 
     </com.facebook.widget.LikeView> 

5 - ActivityMain.java

//set facebook page or link to this like button 
LikeView likeView; 
UiLifecycleHelper uiHelper; 

protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activitymain); 
    uiHelper = new UiLifecycleHelper(this, null); 
    likeView = (LikeView) findViewById(R.id.like_view); 
    likeView.setObjectId("https://www.facebook.com/<page_username>");//it can be any link 

    likeView.setLikeViewStyle(LikeView.Style.STANDARD); 
    likeView.setAuxiliaryViewPosition(LikeView.AuxiliaryViewPosition.INLINE); 
    likeView.setHorizontalAlignment(LikeView.HorizontalAlignment.LEFT); 

} 

protected void onActivityResult(int requestCode, int resultCode, Intent data) { 
    super.onActivityResult(requestCode, resultCode, data); 

    uiHelper.onActivityResult(requestCode, resultCode, data, null); 

} 

आउटपुट enter image description here

+0

क्या एप्लिकेशन को ही पसंद करने का कोई तरीका है? Google Play में Google प्लस वन बटन की तरह। –

0

फेसबुक ने हाल ही में फेसबुक एसडीके 3.21.1 में likebutton की सुविधा प्रदान की गई है। आप इन लिंक के माध्यम से एसडीके और ट्यूटोरियल डाउनलोड करने के लिए इनबूटटन के कार्यान्वयन के लिए जा सकते हैं।

एसडीके डाउनलोड करें: http://developers.facebook.com/docs/android

ट्यूटोरियल http://developers.facebook.com/docs/android/like-button

मुझे आशा है कि यह आपकी समस्या का समाधान हो सकता है।

1

आप फेसबुक डेवलपर खाते https://developers.facebook.com से विशेष अनुमति का उपयोग कर एंड्रॉइड ऐप में बटन जैसे फेसबुक का उपयोग कर सकते हैं। अपना ऐप यहां जोड़ें और ऐप विशेष अनुमति जमा करें। ऐप समीक्षा पर जाएं और अनुमोदन के लिए आइटम सबमिट करें। स्टार्ट सबमिशन पर क्लिक करें और उसके बाद मूल बटन की तरह चुनें और वे सभी विवरण जमा करें जैसे वे चाहते हैं कि आप अनुमति क्यों प्राप्त करें, आपका ऐप इस अनुमति का उपयोग कैसे करेगा। यदि फेसबुक आपके अनुरोध को स्वीकार करेगा तो आप ऐप के अंदर बटन जैसे फेसबुक का उपयोग कर सकते हैं। enter code here

 <com.facebook.share.widget.LikeView 
     android:id="@+id/facebooklike" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content"> 
     </com.facebook.share.widget.LikeView> 

इसके बाद आपको कुछ जावा कोड करने की आवश्यकता है।

likeView = (LikeView) findViewById(R.id.facebooklike); 
    likeView.setLikeViewStyle(LikeView.Style.STANDARD);    
    likeView.setAuxiliaryViewPosition(LikeView.AuxiliaryViewPosition.INLINE); 
    likeView.setHorizontalAlignment(LikeView.HorizontalAlignment.CENTER); 
    likeView.setObjectIdAndType("url of like page", LikeView.ObjectType.PAGE); 

कार्यक्षमता की तरह कार्यक्षमता स्वचालित रूप से कॉल करें जब आप बटन पर क्लिक करते हैं।

अब आपको उस पृष्ठ से प्रतिक्रिया प्राप्त करने की आवश्यकता है जो उपयोगकर्ता उस पृष्ठ के विपरीत उस पृष्ठ को पसंद करता है।

enter code here 

सार्वजनिक वर्ग FbLikes फैली AppCompatActivity {

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_fb_likes); 
} 

@Override 
protected void onActivityResult(int requestCode, int resultCode, Intent data) { 
    super.onActivityResult(requestCode, resultCode, data); 
    try { 
     if (resultCode == RESULT_OK) { 
      // verify we're returning from like action 
       // get action results 
       bundle = data.getExtras().getBundle("com.facebook.platform.protocol.RESULT_ARGS"); 
       if (bundle != null) { 
        like = bundle.getBoolean("object_is_liked");// liked/unliked 
        bundle.getInt("didComplete"); 
        bundle.getInt("like_count"); // object like count 
        bundle.getString("like_count_string"); 
        bundle.getString("social_sentence"); 
        bundle.getString("completionGesture"); // liked/cancel/unliked 
        Log.e(TAG, bundle.getString("social_sentence") + ""); 
        Log.e(TAG, "likeornot" + bundle.getBoolean("object_is_liked") + ""); 
        Log.e(TAG, "lcomplete" + bundle.getString("completionGesture") + ""); 
        Log.e(TAG, "count" + bundle.getInt("like_count") + ""); 
        Log.e(TAG, "countstr" + bundle.getString("like_count_string") + ""); 
        Log.e(TAG, "did" + bundle.getInt("didComplete") + ""); 
       } 
     } 
    } catch (Exception e) { 

    } 
} 

} इस कोड को सब कुछ आप कार्यक्षमता की तरह से चाहते हैं वापस आ जाएगी।