FacebookSdk.sdkInitialize (প্রসঙ্গ) হ্রাস করা হয়েছে


103

আমি অ্যান্ড্রয়েড স্টুডিওতে ফেসবুক-অ্যান্ড্রয়েড- sdk-4.19.0 ব্যবহার করছি এবং আমি https://developers.facebook.com/docs/android/getting-st সূত্রে ফেসবুকের দ্রুত শুরু গাইড অনুসরণ করেছি (এর জন্য দ্রুত শুরু বোতামে ক্লিক করুন) আপনার নিজের ফেসবুক অ্যাকাউন্ট দিয়ে সাইন ইন করুন)। গাইডে, অ্যাপ লগগুলি ট্র্যাক করতে স্নিপেটে নিম্নলিখিত কোডটি অনুলিপি করে আটকানোর কথা বলা হয়েছে

import com.facebook.FacebookSdk;
import com.facebook.appevents.AppEventsLogger;

public class MyApplication extends Application {
    @Override
    public void onCreate() {
        super.onCreate();
        FacebookSdk.sdkInitialize(getApplicationContext());
        AppEventsLogger.activateApp(this);
    }
}

যাইহোক, আমি যখন অ্যান্ড্রয়েড স্টুডিওতে কোডটি আটকানো কপি করেছি, তখন মনে হয় যে সমস্ত FacebookSdk.sdkInitialize () পদ্ধতিগুলির সমস্ত হ্রাস পেয়েছে। এখানে ডকুমেন্টেশন https://developers.facebook.com/docs/references/android/current/class/FacebookSdk/ sdkInitialize () এর পরিবর্তে sdk আরম্ভ করার জন্য কোন পদ্ধতিটি ব্যবহার করতে হবে সে সম্পর্কে কিছুই জানায় না। আমার কোন পদ্ধতিটি ব্যবহার করা উচিত?


4
যদি উত্তর আপনাকে সহায়তা করে তবে দয়া করে সঠিক উত্তর হিসাবে চিহ্নিত করুন বা আপনার এখনও যদি একই সমস্যা থাকে তবে আমরা অনুসন্ধান চালিয়ে যেতে পারি।
ইউপি

উত্তর:


135

এসডিকে আপগ্রেড করার বিষয়ে ডকুমেন্টেশন থেকে:

ফেসবুক এসডিকে এখন অ্যাপ্লিকেশন শুরু হওয়ার সাথে সাথে স্বয়ংক্রিয়ভাবে শুরু হয়। আপনি যদি প্রধান প্রক্রিয়াতে ফেসবুক এসডিকে ব্যবহার করছেন এবং এসডিকে সূচনা সমাপ্তির জন্য কলব্যাকের প্রয়োজন না থাকলে আপনি এখন ফেসবুকএসডিকে.এসডিকিআইনিটাইজাইজে কলগুলি সরাতে পারবেন। আপনার যদি কোনও কলব্যাকের প্রয়োজন হয়, আপনার নিজের কোডটিতে ম্যানুয়ালি কলব্যাক শুরু করা উচিত।

দেখুন: https://developers.facebook.com/docs/android/upgrading-4x

হালনাগাদ

SDK এর 4.22 সালে title, description, captionএবং imageমাঠের FBSDKShareLinkContentঅবচিত করছে। তাদের ব্যবহার থেকে অপসারণ বিবেচনা করুন।


4
অটো আদিকরণের কলব্যাক সম্পর্কে কী?
কনস্ট্যান্টিন কনোপকো

9
এফবি এসডিকে কীভাবে "on Application start"কিছু যুক্ত করার প্রয়োজন ছাড়াই নিজেকে আরম্ভ করার ব্যবস্থা করা যায় Application.onCreate()??
সাবাসতিয়েন

5
আমার নিজের মন্তব্য উত্তর: v4.19.0 যেহেতু, ফেসবুক SDK এর আরম্ভের একটি ContentProvider দ্বারা সম্পন্ন করা হয়, অ্যাপ্লিকেশন ম্যানিফেস্টে ঘোষণা করেছিলেন: github.com/facebook/facebook-android-sdk/commit/...
সেবাস্টিয়ান

ধন্যবাদ সাবসটিয়েন, আমি অনেক সময় ব্যয় করেছি, যেখানে ফর্মটি বের করতে যেখানে sdkInitialize () বলা হয়েছে
Vahe Gharibyan

4
যদি আমি sdkInitialize লাইনটি সরিয়ে ফেলি তবে কিছু ব্যবহারকারীর ব্যতিক্রমটি এখনও পূরণ হয়: "ফেসবুক এসডিকে অ্যাক্টিভেট অ্যাপ কল করার আগে শুরু করতে হবে", এসডিকে সংস্করণ: 4.27.0, অ্যান্ড্রয়েড সংস্করণ 5.0
diousk

13
FacebookSdk.sdkInitialize(getApplicationContext()); 

এই পদ্ধতিটি হ্রাস করা হয়েছে সুতরাং আপনার ক্লাসে কোডের এই লাইনটি মুছুন। কারণ সর্বশেষতম ফেসবুক অনুসারে আমাদের এখন ম্যানুয়ালি এসডিকে আরম্ভ করার দরকার নেই, এটি নিজেই আরম্ভ হয়।


4

সুতরাং অবচিত পদ্ধতিগুলিকে কল করার পরিবর্তে আপনি AppEventsLogger.activateApp(Application)নিজের অ্যাপ্লিকেশন শ্রেণির অনক্রিয়েট () এর মধ্যে কল করতে পারেন

public class MyApplication extends Application{

    @Override
    public void onCreate() {
        super.onCreate();
        AppEventsLogger.activateApp(getApplication());
    }
}

4
এই অনুযায়ী public static void activateApp(Context context)অবচয় করা হয়। এটা ব্যবহার করা প্রস্তাব দেওয়া এই । তার জন্য আমি প্রতিস্থাপন MainActivity.thisকরেছি getApplication()
নিখিল ওঘ

4
MyApplication.thisএকই Applicationজিনিস। আমি এটি জিজ্ঞাসা করতে পারি যে এটির সাথে প্রতিস্থাপনের দরকার কী getApplication()? আমি কেবল ব্যবহার this(এটিও হিসাবে একই MyApplication.this) এবং এটি হিসাবে গৃহীত হচ্ছেApplication
Vida

1

আমার প্রয়োজনটি ছিল অ্যাপ্লিকেশন লঞ্চে অটোআইনিট অক্ষম করা এবং ক্রিয়াকলাপের অনক্রিট পদ্ধতি থেকে এটি শুরু করা। অ্যাপ্লিকেশন প্রবর্তনের আগে অটোআইনিট হ'ল ধীরস্থির নেটওয়ার্ক সংযোগগুলি শুরু করার জন্য আমার বিড়বিড় অ্যাপ্লিকেশনটিকে সময় দিতে হবে।

  1. ম্যানিফেস্ট থেকে অটোইনাইট অক্ষম করুন

    <meta-data android:name="com.facebook.sdk.AutoInitEnabled"
        android:value="false"/>
    
  2. ক্রিয়াকলাপের অনক্রিট পদ্ধতিতে Fb sdk শুরু করুন

    FacebookSdk.fullyInitialize();
    AppEventsLogger.activateApp(application);
    

1

FacebookSdk.sdkInitialize(getApplicationContext());

ফেসবুক ডক যেমন বলেছেন তেমন এই পদ্ধতির দরকার নেই: ফেসবুক এসডিকে ফেসবুক অ্যাপ্লিকেশন আইডির মতো অ্যান্ড্রয়েড ম্যানিফেস্টে যথাযথ এন্ট্রি তালিকাভুক্ত করা থাকলে অ্যাপ্লিকেশনটিতে স্বয়ংক্রিয়ভাবে ফেসবুক এসডিকে কল করা হয়। 'অ্যাক্টিভেট অ্যাপ্লিকেশন' থেকে স্বয়ংক্রিয় ইভেন্ট লগিং 'com.facebook.sdk.AutoLogAppEventsEn सक्षम' ম্যানিফেস্ট সেটিংসের মাধ্যমে নিয়ন্ত্রণ করা যায়।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.