Get Started in Instant Plays 2.0

The following is a list of tasks (required, recommended, and optional), and recommended reading to help you get started in Instant Plays 2.0. A link to more detailed information is provided, when available.

The icons represent the following:

  Requirement/Required task

  Recommendation/Recommended task

  Optional task

  Recommended reading

Prepare

Before you do anything, you must be ready to sell your apps in Galaxy Store. See Get Started in Galaxy Store for more information.

Android Build

  • 32-bit or 64-bit Android built for ARM APK
  • Android 8.0 (API level 26) or higher
    (Android 10.0 (Q) or higher if you are using the Samsung SignIn SDK)
  • Latest LuaJIT (2.1+) if your games use Lua
  • Remove the Firebase Unity SDK if your games use it
Android (Download) and Instant Plays 2.0 supported as one binary.

Google Mobile Services (GMS) are not available in the cloud gaming environment. Games should not prompt for a Google Play login (if any) nor require other Google Play services.

SDKs and APIs

As part of the onboarding process, we provide you with a build of our SDK containing additional cloud APIs to support the following requirements.

Integrate with Samsung In-App Purchase (Samsung IAP). If you are selling your app and/or in-app items, you must use Samsung IAP as your billing solution. Samsung IAP includes an SDK, guides, examples, and Unity and Unreal plugins.

  • Instant Plays 2.0 supports Samsung IAP SDK 5.0 or higher

If your app is integrated with Samsung IAP 6.0 or earlier with target API level 30 (Android R) or higher, an Android policy change requires an update to the manifest file. Without this update, Android R (or higher) users may not be able to make a payment.

If you are using Samsung IAP 6.0 or earlier, add the following to the manifest file:

<queries>
  <package android:name="com.sec.android.app.samsungapps" />
</queries>

If you are using Samsung IAP 6.1 or higher, you do not need to make this update.

Integrate with the Samsung SignIn SDK. If the game has a login feature, it is recommended to integrate with the Samsung SignIn SDK so that the progress of the game can be restored when logged in to a Samsung account.

The Samsung SignIn SDK provides the best account experience in the cloud when using a Samsung account: the user can log in immediately using the Samsung account login information of the user’s local device.

  • The Samsung SignIn SDK supports Android 10.0 (Q) or higher
Integrate with the Samsung CloudDev SDK. If the game is using a Google Advertising ID (GAID) to store user data, you can use the GAID of the local device in the cloud environment using the Samsung CloudDev SDK. In addition, the Samsung CloudDev SDK allows you to check if the game operates in a cloud environment.
Maximize your revenue with the Samsung Ads SDK. If you are using in-app ads to monetize your game, use the Samsung Ads SDK to maximize revenue.

Shell APK

Add the Shell APK, which installs an app icon for your Instant Plays game in the user's smartphone app tray when the user launches your game through an ad in Instant Plays.

User and resource data

To offer continuous play on Samsung Instant Plays 2.0 and reduce startup time, you should provide the following information:
  • User data locations to back up user data

  • Resource data locations to reduce resource download time

  • A way to delete user data without uninstalling game apps

For efficient data backup/restore, we have some limitations on game data:
  • User data should be stored separately from resource data

  • User data size limitation: < 25MB

  • You should not save any data in shared storage

Game account information can be recovered using user data backup/restore.
  • A user’s game account Auth Token or session information is stored in the user data area and is used during auto-login when the user plays the same game.
When a user starts a session, any available virtual device at that time is assigned to the user randomly. Therefore, distinguishing users by unique device ID does not work in an Instant Plays 2.0 environment.

If you save user data on the server based on GAID and restore it, one of the below suggestions should be applied:

  • Do not restore user data only in the Instant Plays 2.0 environment. Samsung will manage user data.

    if (CloudDevSdk.isCloudEnvironment(context)) {
       // Do nothing
    } else {
       // Your Logic
       yourPreviousLogic()
    }

Or

  • Change the logic to read GAID using the Samsung CloudDev SDK, not Google Play services.

    if (CloudDevSdk.isCloudEnvironment(context)) {
       // new logic
       CloudDevSdk.request(context, listOf("gaid"), object : CloudCallback {
          override fun onSuccess(kinds: Map<String, String>) {
             // This is called in IO thread
             downloadAndRestoreUserData (kinds["gaid"])
          }
       })
    } else {
       // old logic
       yourPreviousGetGAIDLogic (context) {
          gaid -> downloadAndRestoreUserData (gaid)
       }
    }