Permalink
0c039c4 Dec 10, 2014
@aogilvie @matiassingers
209 lines (146 sloc) 9.3 KB

Troubleshooting

Can't solve your issue here? Check the existing issues on Github. If you still cannot find a solution please create and issue after reading the contributing guide.

When creating a Github issue remember to:

  • List your platform!
  • Provide sample code
  • Provide a log (Xcode console or adb logcat)

Troubleshooting contents

General

How do I Build without Eclipse?

How do I Add a Like Button?

The better way to understand this little "workflow" is to manipulate the Graph API on the og.likes endpoint using the Facebook Graph Explorer tool.

Where is the init API?

  • Problem

    • I was using FB.init() and now it's not working.
  • Solution

    • You are using an out-dated API. Please check the new API with sample code and sample projects in platforms/ios and platforms/android.

How to install with NPM PhoneGap?

  • Problem
    • I'm trying to install via https the Facebook plugin in iOS, but when I try the following line:

sudo phonegap local plugin add https://github.com/phonegap/phonegap-facebook-plugin.git --variable APP_ID="12345678910" --variable APP_NAME="MyAPP"

Im getting the message "[error] Variable(s) missing: APP_ID, APP_NAME"

  • Solution
    • The PhoneGap CLI and Cordova CLI differ slightly you will need to run:

git clone https://github.com/Wizcorp/phonegap-facebook-plugin

cd to/your/project

phonegap local plugin add /path/to/here/phonegap-facebook-plugin --variable APP_ID="12345678910" --variable APP_NAME="AwesomeApp"

Android

No Reply From Login?

  • Problem

    • facebookConnectPlugin.login doesn't call neither success nor faillure methods. - When I'm disconnected from Facebook and don't have the native app, the iframe fallback is blank. Checking on chrome inspector, the elements are set to display: none.
  • Solution

    • Copy and paste the following code to print your hash. Add the hash to your Facebook Developer Dashboard.
try {
  PackageInfo info = 
  cordova.getActivity().getPackageManager().getPackageInfo("com.goapes.golearn", PackageManager.GET_SIGNATURES);

  for (Signature signature : info.signatures) {
      MessageDigest md = MessageDigest.getInstance("SHA");
      md.update(signature.toByteArray());
      Log.e("MY KEY HASH:", Base64.encodeToString(md.digest(), Base64.DEFAULT));
  }

} catch (NameNotFoundException e) {

} catch (NoSuchAlgorithmException e) {

}

Facebook error: Session was closed and was not closed normally

  • Problem

    • Receiving the above error and no return from login.
  • Solution

My Hash Does Not Work, I am Using Windows

  • Problem

  • Solution

    • Use one of these versions when creating your hash: openssl-0.9.8e_X64.zip or openssl-0.9.8d_X64.rar

You should not use the openssl-0.9.8k_X64.zip.

Jar mismatch! Fix your dependencies

  • Problem
    • I get this error:
BUILD FAILED
/usr/local/opt/android-sdk/tools/ant/build.xml:577: Jar mismatch! Fix your dependencies
  • Solution
    • You may have duplicate android-support-v4.jar files. Remove android-support-v4.jar from the /libs folder of your project.

Open Fullscreen Dialog in Landscape Orientation

  • Problem:

    • In landscape orientation the dialog is too small to use keyboard input
  • Solution:

    • One can force the dialog to be displayed fullscreen, providing additional screen space for the dialog

Add this import to facebookConnectPlugin.java

import android.content.res.Configuration;

Change the feed dialog from:

WebDialog feedDialog = (new WebDialog.FeedDialogBuilder(me.cordova.getActivity(), Session.getActiveSession(), paramBundle)).setOnCompleteListener(dialogCallback).build();
feedDialog.show();

to

WebDialog.FeedDialogBuilder feedDialog = (new WebDialog.FeedDialogBuilder(me.cordova.getActivity(), Session.getActiveSession(), paramBundle)).setOnCompleteListener(dialogCallback);
if (cordova.getActivity().getResources().getConfiguration().orientation == Configuration.ORIENTATION_LANDSCAPE) {
    feedDialog.setTheme(android.R.style.Theme_Wallpaper_NoTitleBar_Fullscreen);
}
feedDialog.build().show();

Change the feed dialog from:

WebDialog requestsDialog = (new WebDialog.RequestsDialogBuilder(me.cordova.getActivity(), Session.getActiveSession(), paramBundle)).setOnCompleteListener(dialogCallback)
    .build();
requestsDialog.show();

to

WebDialog.RequestsDialogBuilder requestsDialog = (new WebDialog.RequestsDialogBuilder(me.cordova.getActivity(), Session.getActiveSession(), paramBundle)).setOnCompleteListener(dialogCallback);
if (cordova.getActivity().getResources().getConfiguration().orientation == Configuration.ORIENTATION_LANDSCAPE) {
    requestsDialog.setTheme(android.R.style.Theme_Wallpaper_NoTitleBar_Fullscreen);
}
requestsDialog.build().show();

iOS

Missing FacebookConnectPlugin

  • Problem:
    • CDVPlugin class FacebookConnectPlugin (pluginName: facebookconnectplugin) does not exist.
  • Solution:
    1. Open up Xcode
    2. Go to "Build Phases"
    3. Ensure that the following file is added under "Compile Sources":
      • FacebookConnectPlugin.m
    4. Ensure that the following is added under "Link Binary With Libraris":
      • FacebookSDK.framework
      • libsqlite3.dylib
      • Social.framework
      • Accounts.framework
      • Security.framework

Cordova and plugman seems to have some problems adding frameworks etc. when re-installing/upgrading plugins.

Login Always Opens Web Dialog Even Though Native App is Installed

  • Problem:
    • Calling the login function always opens the web dialog even though the native app is installed on the device.
  • Solution:
    • Switch "deep linking" to ON in the Facebook developer website settings for your application