# SetupCloudData

## Description

Sets up the device to use cloud data on compatible platforms, currently only Android and iOS support this feature. Cloud data can be used to share settings across multiple devices running the same app. For example saving some app settings or progress on one device using the cloud data commands will make them available (after a short period of time) on all other devices on the same platform. Note that data does not cross platforms, so data saved on iOS is not available on Android, and data saved on Android is not available on iOS.
On iOS this uses iCloud Drive to store the data, so the user must be logged in to iCloud and have iCloud Drive turned on, you can detect if these have been done with GetCloudDataAllowed. You must also add iCloud to your provisioning profile, but you do not need to create any containers. You must use this provisioning profile when exporting your app. On iOS you are limited to 1MB of storage.
On Android this uses Android Drive AppData so the user must be logged in with a Google account on the device. You must also add a Google API project for your app here https: console.developers.google.com and create an OAuth client ID in the credentials section. Tell it that the request is coming from Android, give it a name of your choice, and tell it your app package name. You will need give it the SHA-1 fignerprint of the keystore file that you will use to sign your APK, this is so it can check that only APKs signed by you can use the generated OAuth client ID. The "keytool" program is part of the Java Development Kit (JDK). Once created you do not need to do anything with the OAuth token, it will be used automatically when you call the Cloud Data commands. On Android any data you store will count against a user's Google Drive storage limit, they cannot access the files stored by your app but they can clear the app data in their Drive settings.
Broadcast apps will use the AGK Player data store and will share variables across all your broadcast apps, so be aware of overwriting values if two of your apps share the same variable name. Data you store in the AGK Player data store will only be visible to you and your devices.
This command must be called before any other cloud data commands, except GetCloudDataAllowed which can be called at any time. On Android you should ask the user if they want to store data in their Drive before calling setup, as this command may ask the user to login to their Google Account.

## Definition

SetupCloudData( reserved )

void agk::SetupCloudData( const char* reserved )

## Parameters

- reserved - Reserved, must be an empty string