Skip to main content

Troubleshooting

Having trouble with the integration of the SDK or finding trouble resolving specific problems in regards to the SDK? Check the following articles to see if your issue has a solution already:

General Troubleshooting

CocoaPods Installation Errors

We’ve seen reports that certain combinations of macOS and Xcode versions (specifically macOS 10.15 and Xcode 12) have issues when it comes to the automated setup of CocoaPods when you export a project. If you see the following message:

Failed to install CocoaPods for the current user.

It will not be possible to install Cocoapods in the generated Xcode project which will result in link errors when building your application.

For more information see:
https://guides.cocoapods.org/using/getting-started.html

You may be encountering the aforementioned issues. You can verify further by looking for the following in the error output:

In file included from /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX11.1.sdk/System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/include/ruby-2.6.0/ruby.h:33:
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX11.1.sdk/System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/include/ruby-2.6.0/ruby/ruby.h:24:10: fatal error: 'ruby/config.h' file not found

To work around the issue:

  1. Ensure you have Unity closed
  2. Perform the following one-time terminal commands:
sudo cp /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/include/ruby-2.6.0/universal-darwin20/ruby/config.h /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX11.1.sdk/System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/include/ruby-2.6.0/ruby/
cd $(xcode-select -p)/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/include/ruby-2.6.0
sudo ln -s universal-darwin20 universal-darwin19
gem install --user-install cocoapods

Problem

The automated setup of CocoaPods installation fails for the current user.

Errors/Cause

Several causes may contribute to this problem:

  • macOS 10.15 and Xcode 12 combination causes a failure in installing CocoaPods.
  • Automated install encounters a fatal error in finding ruby/config.h file.
Facebook Login Errors

The sample project has Rave defined in the bfg_config as:

"rave": {
"RaveSettings.General.ApplicationID": "64b93a17c8a34486a4c2598945935c98",
"RaveSettings.Facebook.ReadPermissions" : "public_profile,email,user_friends",
"RaveSettings.Facebook.LimitedLoginTracking" : false
}

If the ApplicationID isn't the one registered with Rave for this BundleID, you wouldn't be able to login through Rave. Additionally, if a user on a single device is logged into Facebook using a different account, they need to log out of Facebook and then log back in through Rave.

To find the ApplicationID, either:

  • Android: Look for RaveSettings.Facebook.ApplicationId in the Android sample app config.
  • iOS: Look in the .plist file.

For additional information on Rave configuration properties:

  • !!LINK HERE!! Android Rave Configuration
  • !!LINK HERE!! iOS Rave Configuration

Problem

When trying to log into Facebook, one of the following cases occurs:

When signing in with Facebook without the BFG account, the application displays an error “Login Error: There is an error in logging you into this application. Please try again later”.

D/RaveFacebookConnectPlugin: logging into Facebook with Read Permissions

Errors/Cause

Several causes may contribute to this problem:

  • The Facebook account doesn’t match the application.
  • The Rave registration doesn’t match the Application ID.

In addition, the Facebook account used for login may be corrupted and will require a recreation of the account to resolve the issue.. This usually happens when a user logs in and out of Facebook multiple times with different email addresses.

Facebook Profile Picture Still Displaying After User Privacy Change

Facebook explains that some information, such as the profile picture is always public information and is not subjected to the removal of Facebook permissions for an application. For more information, refer to Public Information on Facebook ↗️.

The application is well within Facebook’s privacy guidelines as the profile picture is being pulled through the Facebook SDK. It is completely optional to implement the ability to remove the profile picture when a user disconnects from Facebook and does not need to be implemented to be compliant with Facebook's privacy guidelines.

Problem

A user disconnected from their Facebook account within an application and changed their privacy settings to disallow an application from accessing their profile picture. The application continued to show the Facebook profile picture and was brought up as a privacy violation concern.

Errors/Cause

The iOS SDK fetches Facebook information through the Rave API and the Android or iOS SDK fetches the information directly through the Facebook API. This control is outside of the BFG SDK and actually resides with the Facebook API allowing the profile picture to be returned despite the user's privacy settings.

Submitting a Zendesk Ticket with an External Email

If you have a Zendesk account and you would like to submit a ticket, you must use an "external" (e.g., NOT @bigfishgames.com or @selfawaregames.com) email address. If you do not use an external email address, there will be an error when the ticket is submitted.

You can view the error in the logcat output and it will be similar to the following:

04-12 16:37:07.872 25807-25807/com.bigfishgames.gamename E/bfgHelpCenterContactUsFragment: Error occurred while submitting feedback:                                                                                              Error Status: 403
Error Reason: Forbidden
Error Body: Could not send Zendesk request.

Problem

If you submit a Zendesk ticket without an external (e.g., @bigfishgames.com or @selfawaregames.com) email address, an error will occur when submitting the ticket.

Errors/Cause

Not using an external email address when submitting a Zendesk Ticket.

Native Android Troubleshooting

Native Android Build Errors

If you encounter build issues after you’ve finished exporting the Android Studio project, it might be caused by the Android Studio defaulting to a different version of the Gradle JDK.

To resolve this issue:

  1. Open the Preferences window.
  2. Navigate to the Gradle section in the Build Tools drop-down, under Build, Execution, Deployment.
  3. Select your Gradle project and change the Gradle JDK to version 11.
  4. Ensure the Gradle version is properly set in the Project Structure settings.

Problem

Unable to successfully build the Native Android SDK after exporting the Android Studio project.

Errors/Cause

Several causes may contribute to this problem:

  • Gradle JDK is set to the wrong version.
  • Project Structure settings contain the incorrect Gradle version.

Native iOS Troubleshooting

Issues with dSYM File Setup

If you encounter any issues with setting up your dSYM file, follow these steps to help troubleshoot:

  1. Ensure your Derived Data folder is clean before building your game and generating the dSYM File. $ rm -rf ~/Library/Developer/Xcode/DerivedData/*
  2. Ensure you are not using any sort of Web Proxy, like Charles, when attempting to upload the symbols. Sometimes even VPNs may interfere with the upload. You might see an error similar to this:
Fetching upload-symbols settings...
[31merror: Could not fetch upload-symbols settings.
  1. Verify with your Producer that your game is correctly registered in the Firebase Dashboard.
  2. See Get deobfuscated crash reports with the Firebase Crashlytics SDK ↗️ for details on how to upload your dSYM file to Crashlytics successfully.
info

Some cases a manual upload of the dSYM File is required for testing your integration, but this should be a last resort.

Problem

Sometimes dSYM file setup can fail or you might run into issues with its setup. This can prove to be confusing or challenging during the integration of the iOS Firebase Crashlytics.

Errors/Cause

  • Derived Data folder containing pre-existing files/builds before building and generating the dSYM file.
  • Using Web Proxy’s while attempting to upload symbols.
  • Game registered incorrectly in the Firebase Dashboard
Zendesk Tickets Missing Fields

The strategy adopted by the SDK is to retry the creation of that ticket and remove all custom fields. If you see Tickets in the dashboard that don't have any custom fields, then in all likelihood, this is due to a custom field that is rejected by Zendesk.

Zendesk hasn't provided guidance as to what is considered an invalid custom field, so we recommend that if you add custom fields to your ticket, make sure they are all standard string or number objects without special characters.

Problem

If you create a ticket with invalid custom fields, Zendesk servers will return a 422 error code to the Big Fish iOS SDK.

Errors/Cause

The following fields will cause the 422 error from Zendesk and should be avoided:

// Setting a Custom Field with <int_indetifier> as key and "<null>" as value.
[bfgGameReporting setCustomData:@{ @(<int_identifier>): @"<null>" }];