Skip to main content

Account Deletion

🔹 Tools to use: BFG SDK

What is Account Deletion?

All games published by Big Fish must give the player the option to delete the account from within the game itself. This feature, called account deletion, ensures that all account information, including any data associatated with the account is completely removed from the developer's (i.e. Big Fish) records. The account deletion feature gives the player complete control over the personal information that they've shared.

The BFG SDK includes methods that ensure your game is compliant with Apple’s and/or Google’s account deletion standards.

info

To use the Account Deletion feature, you must upgrade to one of the following BFG SDK versions or later:

  • Unity SDK v9.6.1
  • Native Android SDK v7.7.0
  • Native iOS SDK v7.7.1

While it is not required that you use Big Fish’s solution for account deletion, we recommend using the following workflow to ensure that your game is compliant with Apple and Google’s standards:

  1. Add an option called Delete Account in your game’s settings.
  2. When a player clicks Delete Account, open a prompt that contains a warning stating the ramifications of deleting their account. Here is some sample text you can use:

By tapping YES, your request will be submitted to be processed.

Be aware that this will DELETE ALL of your PURCHASES, GAME PROGRESS, and PROFILES in EACH of your Big Fish games.

Are you sure you want to request account deletion?

  1. Provide two options: YES, Delete My Account and No, Go Back.
  • If the player clicks No, Go Back, return to your game’s settings dialog.
  • If the player clicks YES, Delete My Account, open a confirmation dialog. Here is some sample text you can use:

Are you sure you want to delete your account?

⚠️ You will NOT be able to recover your progress.
⚠️ You will NOT be able to reverse this action.
⚠️ Your games will be permanently RESET.

  • If the player continues with the account deletion, send a request to Customer Support to delete the account.
info

Clicking YES, Delete My Account will not immediately delete a player’s data, as the actual account deletion is performed by Customer Support. This process may take up to 2 weeks to complete.

  1. Provide two options: YES, Delete My Account and No, Go Back.
  • If the player clicks No, Go Back, return to your game’s settings dialog.
  • If the player clicks YES, Delete My Account, open a final dialog confirming that the request has been submitted, log out the player, and reset the game. Here is some sample text you can use:

We are processing your account deletion request, which may take up to 14 business days. We will log you out and reset the game at this point.

  1. When the user clicks Done, return to the game’s settings dialog.
info

It’s important to inform the player that the account deletion can take 14 days to process. During this time, up to when the account deletion is complete, the player will be able to continue to log into their account.

Implementing Account Deletion

The BFG SDK and Rave SDK must be initialized before requesting account deletion. If the call to the requestAccountDeletion method is made too early, the application will attempt to call an uninitialized method and crash.

After you call the requestAccountDeletion method, the BFG SDK will send one of the following NSNotifications, depending on the result of the request:

  • BFG_RAVE_ACCOUNT_DELETION_REQUEST_SUCCEEDED
  • BFG_RAVE_ACCOUNT_DELETION_REQUEST_FAILED

The following sample code demonstrates how to add notification observers for the events that can be sent as a result of the account deletion request:

NotificationCenter.Instance.AddObserver(OnAccountDeletionRequestSuccess, bfgCommon.BFG_RAVE_ACCOUNT_DELETION_REQUEST_SUCCEEDED);
NotificationCenter.Instance.AddObserver(OnAccountDeletionRequestFailure, bfgCommon.BFG_RAVE_ACCOUNT_DELETION_REQUEST_FAILED);

private void OnAccountDeletionRequestSuccess(string eventData)
{
Debug.Log($"OnAccountDeletionRequestSuccess called - {bfgCommon.BFG_RAVE_ACCOUNT_DELETION_REQUEST_SUCCEEDED}");
}

private void OnAccountDeletionRequestFailure(string resultJson)
{
JSONNode resultNode = JSON.Parse(resultJson);
int resultCode = resultNode["result"];
AccountDeletionRequestResult errorResult = (AccountDeletionRequestResult)resultCode;
Debug.Log($"OnAccountDeletionRequestFailure called - {bfgCommon.BFG_RAVE_ACCOUNT_DELETION_REQUEST_FAILED}: {errorResult} - {resultCode}");
}

Verifying the implementation

To test your implementation, add the following code to your BFG SDK config file, bfg_config.json when testing. Ensure you REMOVE it for production:

"internal_sdk_debugging": { "test_request_account_deletion" : true }

This code will append an extra string to the ticket subject so that it will be ignored by Customer Support. You can confirm that a request ticket was sent by searching for tickets containing "sdktest123 - Big Fish Account Deletion Request."

Additional Resources and Documentation

Requirements from Apple and Google

UI String Localization

Localization strings are available for the account deletion UI to support games localized in multiple languages. You can access the localization strings following this link.

BFG SDK Sample App Implementation

An example implementation can be found in the BFG SDK Sample App. The account deletion implementation includes a button, notification observers, and selectors. Locate the implementation in the following files:

  • Unity SDK: BfgZendeskListeners.cs
  • Native Android SDK: MainActivity.java
  • Native iOS SDK: BFGRaveViewController