RevenueCatBackupAgent

A BackupAgent that proactively backs up RevenueCat's SharedPreferences. You may use this by adding the following to your AndroidManifest.xml within the <application> tag:

android:backupAgent="com.revenuecat.purchases.backup.RevenueCatBackupAgent"

This will backup the SharedPreferences file used by the RevenueCat SDK, allowing it to keep the same user as was previously used in the same or different device with the same Google account, removing the need for users to restore purchases.

Some important notes:

  • This backup may not work on all devices, as it's ultimately controlled by the Android system and the user settings. See https://developer.android.com/identity/data/keyvaluebackup for more details on how key-value backup works and how to test it.

  • Setting the backup agent in your AndroidManifest would disable auto backup for your app, if it was enabled. If you want to use auto backup to also backup your app's data or have your own Backup Agent to backup some of your files, please make sure you add the SharedPreferences file com_revenuecat_purchases_preferences to your auto backup configuration. See https://developer.android.com/identity/data/autobackup.

Constructors

Link copied to clipboard
constructor()

Types

Link copied to clipboard
object Companion

Functions

Link copied to clipboard
open fun addHelper(p0: String, p1: BackupHelper)
Link copied to clipboard
Link copied to clipboard
open override fun bindService(p0: Intent, p1: ServiceConnection, p2: Int): Boolean
open override fun bindService(p0: Intent, p1: Int, p2: Executor, p3: ServiceConnection): Boolean
Link copied to clipboard
Link copied to clipboard
open override fun checkCallingOrSelfPermission(p0: String): Int
Link copied to clipboard
open override fun checkCallingOrSelfUriPermission(p0: Uri, p1: Int): Int
Link copied to clipboard
Link copied to clipboard
open override fun checkCallingPermission(p0: String): Int
Link copied to clipboard
open override fun checkCallingUriPermission(p0: Uri, p1: Int): Int
Link copied to clipboard
open override fun checkCallingUriPermissions(p0: MutableList<Uri>, p1: Int): IntArray
Link copied to clipboard
open override fun checkContentUriPermissionFull(p0: Uri, p1: Int, p2: Int, p3: Int): Int
Link copied to clipboard
open override fun checkPermission(p0: String, p1: Int, p2: Int): Int
Link copied to clipboard
open override fun checkSelfPermission(p0: String): Int
Link copied to clipboard
open override fun checkUriPermission(p0: Uri, p1: Int, p2: Int, p3: Int): Int
open override fun checkUriPermission(p0: Uri?, p1: String?, p2: String?, p3: Int, p4: Int, p5: Int): Int
Link copied to clipboard
open override fun checkUriPermissions(p0: MutableList<Uri>, p1: Int, p2: Int, p3: Int): IntArray
Link copied to clipboard
open override fun createAttributionContext(p0: String?): Context
Link copied to clipboard
Link copied to clipboard
open override fun createContext(p0: ContextParams): Context
Link copied to clipboard
open override fun createContextForSplit(p0: String): Context
Link copied to clipboard
open override fun createDeviceContext(p0: Int): Context
Link copied to clipboard
open override fun createDisplayContext(p0: Display): Context
Link copied to clipboard
open override fun createPackageContext(p0: String, p1: Int): Context
Link copied to clipboard
open override fun createWindowContext(p0: Int, p1: Bundle?): Context
open override fun createWindowContext(p0: Display, p1: Int, p2: Bundle?): Context
Link copied to clipboard
open override fun databaseList(): Array<String>
Link copied to clipboard
open override fun deleteDatabase(p0: String): Boolean
Link copied to clipboard
open override fun deleteFile(p0: String): Boolean
Link copied to clipboard
open override fun deleteSharedPreferences(p0: String): Boolean
Link copied to clipboard
open override fun enforceCallingOrSelfPermission(p0: String, p1: String?)
Link copied to clipboard
open override fun enforceCallingOrSelfUriPermission(p0: Uri, p1: Int, p2: String)
Link copied to clipboard
open override fun enforceCallingPermission(p0: String, p1: String?)
Link copied to clipboard
open override fun enforceCallingUriPermission(p0: Uri, p1: Int, p2: String)
Link copied to clipboard
open override fun enforcePermission(p0: String, p1: Int, p2: Int, p3: String?)
Link copied to clipboard
open override fun enforceUriPermission(p0: Uri, p1: Int, p2: Int, p3: Int, p4: String)
open override fun enforceUriPermission(p0: Uri?, p1: String?, p2: String?, p3: Int, p4: Int, p5: Int, p6: String?)
Link copied to clipboard
open override fun fileList(): Array<String>
Link copied to clipboard
Link copied to clipboard
open override fun getApplicationContext(): Context
Link copied to clipboard
open override fun getApplicationInfo(): ApplicationInfo
Link copied to clipboard
open override fun getAssets(): AssetManager
Link copied to clipboard
Link copied to clipboard
open override fun getAttributionTag(): String?
Link copied to clipboard
Link copied to clipboard
open override fun getCacheDir(): File
Link copied to clipboard
open override fun getClassLoader(): ClassLoader
Link copied to clipboard
open override fun getCodeCacheDir(): File
Link copied to clipboard
fun getColor(p0: Int): Int
Link copied to clipboard
Link copied to clipboard
open override fun getContentResolver(): ContentResolver
Link copied to clipboard
open override fun getDatabasePath(p0: String): File
Link copied to clipboard
open override fun getDataDir(): File
Link copied to clipboard
open override fun getDeviceId(): Int
Link copied to clipboard
open override fun getDir(p0: String, p1: Int): File
Link copied to clipboard
open override fun getDisplay(): Display
Link copied to clipboard
Link copied to clipboard
open override fun getExternalCacheDir(): File?
Link copied to clipboard
open override fun getExternalCacheDirs(): Array<File>
Link copied to clipboard
open override fun getExternalFilesDir(p0: String?): File?
Link copied to clipboard
open override fun getExternalFilesDirs(p0: String): Array<File>
Link copied to clipboard
open override fun getExternalMediaDirs(): Array<File>
Link copied to clipboard
open override fun getFilesDir(): File
Link copied to clipboard
open override fun getFileStreamPath(p0: String): File
Link copied to clipboard
open override fun getMainExecutor(): Executor
Link copied to clipboard
open override fun getMainLooper(): Looper
Link copied to clipboard
open override fun getNoBackupFilesDir(): File
Link copied to clipboard
open override fun getObbDir(): File
Link copied to clipboard
open override fun getObbDirs(): Array<File>
Link copied to clipboard
open override fun getOpPackageName(): String
Link copied to clipboard
open override fun getPackageCodePath(): String
Link copied to clipboard
open override fun getPackageManager(): PackageManager
Link copied to clipboard
open override fun getPackageName(): String
Link copied to clipboard
open override fun getPackageResourcePath(): String
Link copied to clipboard
open override fun getParams(): ContextParams?
Link copied to clipboard
open override fun getResources(): Resources
Link copied to clipboard
open override fun getSharedPreferences(p0: String, p1: Int): SharedPreferences
Link copied to clipboard
fun getString(p0: Int): String
fun getString(p0: Int, vararg p1: Any): String
Link copied to clipboard
fun <T : Any> getSystemService(p0: Class<T>): T
open override fun getSystemService(p0: String): Any
Link copied to clipboard
open override fun getSystemServiceName(p0: Class<*>): String?
Link copied to clipboard
Link copied to clipboard
open override fun getTheme(): Resources.Theme
Link copied to clipboard
open override fun grantUriPermission(p0: String, p1: Uri, p2: Int)
Link copied to clipboard
open override fun isDeviceProtectedStorage(): Boolean
Link copied to clipboard
open override fun isRestricted(): Boolean
Link copied to clipboard
open override fun isUiContext(): Boolean
Link copied to clipboard
open override fun moveDatabaseFrom(p0: Context, p1: String): Boolean
Link copied to clipboard
open override fun moveSharedPreferencesFrom(p0: Context, p1: String): Boolean
Link copied to clipboard
open override fun onBackup(oldState: ParcelFileDescriptor?, data: BackupDataOutput?, newState: ParcelFileDescriptor?)
Link copied to clipboard
open override fun onCreate()
Link copied to clipboard
open fun onDestroy()
Link copied to clipboard
Link copied to clipboard
open fun onQuotaExceeded(p0: Long, p1: Long)
Link copied to clipboard
open override fun onRestore(p0: BackupDataInput, p1: Int, p2: ParcelFileDescriptor)
open override fun onRestore(data: BackupDataInput?, appVersionCode: Long, newState: ParcelFileDescriptor?)
Link copied to clipboard
open fun onRestoreFile(p0: ParcelFileDescriptor, p1: Long, p2: File, p3: Int, p4: Long, p5: Long)
Link copied to clipboard
Link copied to clipboard
open override fun openFileInput(p0: String): FileInputStream
Link copied to clipboard
open override fun openFileOutput(p0: String, p1: Int): FileOutputStream
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
open override fun registerReceiver(p0: BroadcastReceiver?, p1: IntentFilter): Intent?
open override fun registerReceiver(p0: BroadcastReceiver?, p1: IntentFilter, p2: Int): Intent?
open override fun registerReceiver(p0: BroadcastReceiver?, p1: IntentFilter, p2: String?, p3: Handler?): Intent?
open override fun registerReceiver(p0: BroadcastReceiver?, p1: IntentFilter, p2: String?, p3: Handler?, p4: Int): Intent?
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
open override fun revokeUriPermission(p0: Uri, p1: Int)
open override fun revokeUriPermission(p0: String, p1: Uri, p2: Int)
Link copied to clipboard
open override fun sendBroadcast(p0: Intent)
open override fun sendBroadcast(p0: Intent, p1: String?)
open override fun sendBroadcast(p0: Intent, p1: String?, p2: Bundle?)
Link copied to clipboard
open override fun sendBroadcastAsUser(p0: Intent, p1: UserHandle)
open override fun sendBroadcastAsUser(p0: Intent, p1: UserHandle, p2: String?)
Link copied to clipboard
open override fun sendOrderedBroadcast(p0: Intent, p1: String?)
open override fun sendOrderedBroadcast(p0: Intent, p1: String?, p2: Bundle?)
open override fun sendOrderedBroadcast(p0: Intent, p1: String?, p2: BroadcastReceiver?, p3: Handler?, p4: Int, p5: String?, p6: Bundle?)
open override fun sendOrderedBroadcast(p0: Intent, p1: String?, p2: Bundle?, p3: BroadcastReceiver?, p4: Handler?, p5: Int, p6: String?, p7: Bundle?)
open override fun sendOrderedBroadcast(p0: Intent, p1: String?, p2: String?, p3: BroadcastReceiver?, p4: Handler?, p5: Int, p6: String?, p7: Bundle?)
open fun sendOrderedBroadcast(p0: Intent, p1: Int, p2: String?, p3: String?, p4: BroadcastReceiver?, p5: Handler?, p6: String?, p7: Bundle?, p8: Bundle?)
Link copied to clipboard
open override fun sendOrderedBroadcastAsUser(p0: Intent, p1: UserHandle, p2: String?, p3: BroadcastReceiver?, p4: Handler?, p5: Int, p6: String?, p7: Bundle?)
Link copied to clipboard
open override fun setTheme(p0: Int)
Link copied to clipboard
open override fun startActivities(p0: Array<Intent>)
open override fun startActivities(p0: Array<Intent>, p1: Bundle?)
Link copied to clipboard
open override fun startActivity(p0: Intent)
open override fun startActivity(p0: Intent, p1: Bundle?)
Link copied to clipboard
Link copied to clipboard
open override fun startInstrumentation(p0: ComponentName, p1: String?, p2: Bundle?): Boolean
Link copied to clipboard
open override fun startIntentSender(p0: IntentSender, p1: Intent?, p2: Int, p3: Int, p4: Int)
open override fun startIntentSender(p0: IntentSender, p1: Intent?, p2: Int, p3: Int, p4: Int, p5: Bundle?)
Link copied to clipboard
open override fun startService(p0: Intent): ComponentName?
Link copied to clipboard
open override fun stopService(p0: Intent): Boolean
Link copied to clipboard
open override fun unbindService(p0: ServiceConnection)
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
open override fun unregisterReceiver(p0: BroadcastReceiver)
Link copied to clipboard
open override fun updateServiceGroup(p0: ServiceConnection, p1: Int, p2: Int)