Skip to main content
Samsung Developer Program

Determining the App Store

Step 1: Initial Filtering

  • When verifyMode=VERIFY_SKIP, this step is not performed. Go to Step 2.
  • From the list of supported app stores, each app store is either retained or removed:
    • For all other app stores, the following are retained:
      • App stores specified in availableStoreNames, availableStores, or preferredStores
      • The Samsung GALAXY Apps Store
      • App stores that generate and use store keys (RSA keys)
      • App stores for which the service app has the required Android permissions, such as Internet access and required billing
      • App stores for which the service app has the required classes, such as a purchase class
    • All other app stores are removed.

Step 2:storeSearchStrategy Filtering

Filters the list of remaining app stores based on the method specified by storeSearchStrategy:

SearchStrategy.BEST_FIT storeSearchStrategy filtering is not performed. Go to Step 3. (0, 1, or more app stores remain.)
SearchStrategy.INSTALLER
  1. Perform the following filtering:
  • If the package name of the service app installer is valid, retain the app store from which the service app was downloaded.
  • If the package name of the service app installer is not valid, remove the app store.
  1. After filtering, either:
  • 1 app store remains - go to Step 3.
  • 0 app stores remain - billing is not supported. The app store selection process stops.
SearchStrategy.INSTALLER_THEN_BEST_FIT
  1. Perform the following filtering:
  • If the package name of the service app installer is valid, retain the app store from which the service app was downloaded.
  • If the package name of the service app installer is not valid, remove the app store.
  1. After filtering, either:
  • 1 app store remains - go to Step 3.
  • 0 app stores remain - billing is not supported. The app store selection process stops.

Step 3:checkInventory App Store Determination

Determines the app store to be used or that billing is not supported, based on the method specified by checkInventory:

true

Which app store(s) are considered is based on the number of remaining app stores from Step 2:

  • 0 app stores remain: The original list of all supported app stores is considered.
  • 1 app store remains: Only that store is considered.
  • More than 1 app store remains: The remaining app stores are considered.

Search the app store(s) and either:

  • Use the app store from which the user most recently purchased an item, or
  • Billing is not supported (when the user has never purchased any item from any of the app stores)
false

Sequentially check the list of remaining app store(s) for available billing:

  • Use the first app store with billing available, or
  • If there are no app stores with billing available, billing is not supported.
  • Was this article helpful?