public final class PurchasingService
extends android.app.Service
Presents the primary API for interacting with the Amazon Appstore purchasing framework. First register a
PurchasingListener
instance via
registerListener(Context, PurchasingListener)
before using any other API.
You must add the following entry in your AndroidManifest.xml file:
<!-- Include these lines in your AndroidManifest.xml -->
<service
android:exported="true"
android:name="com.amazon.device.iap.PurchasingService"/>
Modifier and Type | Field and Description |
---|---|
static java.lang.String |
SDK_VERSION
Indicates the release version of the API for making in-app purchases.
|
START_CONTINUATION_MASK, START_FLAG_REDELIVERY, START_FLAG_RETRY, START_NOT_STICKY, START_REDELIVER_INTENT, START_STICKY, START_STICKY_COMPATIBILITY, STOP_FOREGROUND_DETACH, STOP_FOREGROUND_REMOVE
ACCESSIBILITY_SERVICE, ACCOUNT_SERVICE, ACTIVITY_SERVICE, ALARM_SERVICE, APP_OPS_SERVICE, APPWIDGET_SERVICE, AUDIO_SERVICE, BATTERY_SERVICE, BIND_ABOVE_CLIENT, BIND_ADJUST_WITH_ACTIVITY, BIND_ALLOW_OOM_MANAGEMENT, BIND_AUTO_CREATE, BIND_DEBUG_UNBIND, BIND_EXTERNAL_SERVICE, BIND_IMPORTANT, BIND_NOT_FOREGROUND, BIND_WAIVE_PRIORITY, BLUETOOTH_SERVICE, CAMERA_SERVICE, CAPTIONING_SERVICE, CARRIER_CONFIG_SERVICE, CLIPBOARD_SERVICE, COMPANION_DEVICE_SERVICE, CONNECTIVITY_SERVICE, CONSUMER_IR_SERVICE, CONTEXT_IGNORE_SECURITY, CONTEXT_INCLUDE_CODE, CONTEXT_RESTRICTED, CROSS_PROFILE_APPS_SERVICE, DEVICE_POLICY_SERVICE, DISPLAY_SERVICE, DOWNLOAD_SERVICE, DROPBOX_SERVICE, EUICC_SERVICE, FINGERPRINT_SERVICE, HARDWARE_PROPERTIES_SERVICE, INPUT_METHOD_SERVICE, INPUT_SERVICE, IPSEC_SERVICE, JOB_SCHEDULER_SERVICE, KEYGUARD_SERVICE, LAUNCHER_APPS_SERVICE, LAYOUT_INFLATER_SERVICE, LOCATION_SERVICE, MEDIA_PROJECTION_SERVICE, MEDIA_ROUTER_SERVICE, MEDIA_SESSION_SERVICE, MIDI_SERVICE, MODE_APPEND, MODE_ENABLE_WRITE_AHEAD_LOGGING, MODE_MULTI_PROCESS, MODE_NO_LOCALIZED_COLLATORS, MODE_PRIVATE, MODE_WORLD_READABLE, MODE_WORLD_WRITEABLE, NETWORK_STATS_SERVICE, NFC_SERVICE, NOTIFICATION_SERVICE, NSD_SERVICE, POWER_SERVICE, PRINT_SERVICE, RECEIVER_VISIBLE_TO_INSTANT_APPS, RESTRICTIONS_SERVICE, SEARCH_SERVICE, SENSOR_SERVICE, SHORTCUT_SERVICE, STORAGE_SERVICE, STORAGE_STATS_SERVICE, SYSTEM_HEALTH_SERVICE, TELECOM_SERVICE, TELEPHONY_SERVICE, TELEPHONY_SUBSCRIPTION_SERVICE, TEXT_CLASSIFICATION_SERVICE, TEXT_SERVICES_MANAGER_SERVICE, TV_INPUT_SERVICE, UI_MODE_SERVICE, USAGE_STATS_SERVICE, USB_SERVICE, USER_SERVICE, VIBRATOR_SERVICE, WALLPAPER_SERVICE, WIFI_AWARE_SERVICE, WIFI_P2P_SERVICE, WIFI_RTT_RANGING_SERVICE, WIFI_SERVICE, WINDOW_SERVICE
Constructor and Description |
---|
PurchasingService() |
Modifier and Type | Method and Description |
---|---|
static void |
enablePendingPurchases()
Apps must call this method if they want to support remote approval of purchases.
|
static RequestId |
getProductData(java.util.Set<java.lang.String> skus)
Initiates a request to retrieve item data of up to one-hundred
SKUs.
|
static RequestId |
getPurchaseUpdates(boolean reset)
Initiates a request to retrieve updates about items the customer has
purchased and/or canceled.
|
static RequestId |
getUserData()
Initiates a request to retrieve the user ID of the currently logged-in user.
|
static RequestId |
getUserData(UserDataRequest userDataRequest)
Initiates a request to retrieve the user details of the currently logged-in user.
|
static RequestId |
modifySubscription(java.lang.String sku,
ProrationMode prorationMode)
Initiates a modifySubscription request for a subscription.
|
static void |
notifyFulfillment(java.lang.String receiptId,
FulfillmentResult fulfillmentResult)
Notifies Amazon about the purchase fulfillment.
|
android.os.IBinder |
onBind(android.content.Intent intent) |
static RequestId |
purchase(java.lang.String sku)
Initiates a purchase-flow for a product.
|
static void |
registerListener(android.content.Context appContext,
ModifySubscriptionListener listener)
Before invoking modifySubscription in this class, register a
ModifySubscriptionListener and its Context. |
static void |
registerListener(android.content.Context appContext,
PurchasingListener listener)
Before invoking operations in this class, register a
PurchasingListener and its Context. |
static void |
registerUserProfileAccessListener(android.content.Context appContext,
UserProfileAccessListener listener)
Before invoking operations in this class, register a
UserProfileAccessListener and its Context. |
static RequestId |
requestUserProfileAccess()
Initiates a request to retrieve the auth code of the currently logged-in user.
|
dump, getApplication, onConfigurationChanged, onCreate, onDestroy, onLowMemory, onRebind, onStart, onStartCommand, onTaskRemoved, onTrimMemory, onUnbind, startForeground, stopForeground, stopForeground, stopSelf, stopSelf, stopSelfResult
attachBaseContext, bindService, checkCallingOrSelfPermission, checkCallingOrSelfUriPermission, checkCallingPermission, checkCallingUriPermission, checkPermission, checkSelfPermission, checkUriPermission, checkUriPermission, clearWallpaper, createConfigurationContext, createContextForSplit, createDeviceProtectedStorageContext, createDisplayContext, createPackageContext, databaseList, deleteDatabase, deleteFile, deleteSharedPreferences, enforceCallingOrSelfPermission, enforceCallingOrSelfUriPermission, enforceCallingPermission, enforceCallingUriPermission, enforcePermission, enforceUriPermission, enforceUriPermission, fileList, getApplicationContext, getApplicationInfo, getAssets, getBaseContext, getCacheDir, getClassLoader, getCodeCacheDir, getContentResolver, getDatabasePath, getDataDir, getDir, getExternalCacheDir, getExternalCacheDirs, getExternalFilesDir, getExternalFilesDirs, getExternalMediaDirs, getFilesDir, getFileStreamPath, getMainExecutor, getMainLooper, getNoBackupFilesDir, getObbDir, getObbDirs, getPackageCodePath, getPackageManager, getPackageName, getPackageResourcePath, getResources, getSharedPreferences, getSystemService, getSystemServiceName, getTheme, getWallpaper, getWallpaperDesiredMinimumHeight, getWallpaperDesiredMinimumWidth, grantUriPermission, isDeviceProtectedStorage, isRestricted, moveDatabaseFrom, moveSharedPreferencesFrom, openFileInput, openFileOutput, openOrCreateDatabase, openOrCreateDatabase, peekWallpaper, registerReceiver, registerReceiver, registerReceiver, registerReceiver, removeStickyBroadcast, removeStickyBroadcastAsUser, revokeUriPermission, revokeUriPermission, sendBroadcast, sendBroadcast, sendBroadcastAsUser, sendBroadcastAsUser, sendOrderedBroadcast, sendOrderedBroadcast, sendOrderedBroadcastAsUser, sendStickyBroadcast, sendStickyBroadcastAsUser, sendStickyOrderedBroadcast, sendStickyOrderedBroadcastAsUser, setTheme, setWallpaper, setWallpaper, startActivities, startActivities, startActivity, startActivity, startForegroundService, startInstrumentation, startIntentSender, startIntentSender, startService, stopService, unbindService, unregisterReceiver
public static final java.lang.String SDK_VERSION
public android.os.IBinder onBind(android.content.Intent intent)
onBind
in class android.app.Service
public static void registerListener(android.content.Context appContext, PurchasingListener listener)
PurchasingListener
and its Context. After registering your
PurchasingListener implementation, you can receive callbacks from the
in-app purchasing SDK after you invoke operations on PurchasingService.listener
- PurchasingListener
to register.appContext
- application context.public static void registerUserProfileAccessListener(android.content.Context appContext, UserProfileAccessListener listener)
UserProfileAccessListener
and its Context. After registering your
UserProfileAccessListener implementation, you can receive callbacks from the
Appstore SDK after you invoke operations on PurchasingService.listener
- UserProfileAccessListener
to register.appContext
- application context.public static void enablePendingPurchases()
public static void registerListener(android.content.Context appContext, ModifySubscriptionListener listener)
ModifySubscriptionListener
and its Context. After registering your
ModifySubscriptionListener implementation, you can receive callbacks from the
in-app purchasing SDK after you invoke modifySubscription on PurchasingService.listener
- ModifySubscriptionListener
to register.appContext
- application context.public static RequestId getUserData()
PurchasingListener.onUserDataResponse(com.amazon.device.iap.model.UserDataResponse)
gets called when a response is available.public static RequestId getUserData(UserDataRequest userDataRequest)
PurchasingListener.onUserDataResponse(com.amazon.device.iap.model.UserDataResponse)
gets called when a response is available.userDataRequest
- Request Parameters to initiate a query for User Datapublic static RequestId purchase(java.lang.String sku)
PurchasingListener.onPurchaseResponse(PurchaseResponse)
gets called.sku
- Vendor SKU for which to initiate a purchase.PurchaseResponse
received by the
PurchasingListener.onPurchaseResponse(PurchaseResponse)
callback.public static RequestId modifySubscription(java.lang.String sku, ProrationMode prorationMode)
PurchasingListener#onModifySubscriptionResponse(ModifySubscriptionResponse)
gets called.sku
- Vendor SKU for which to initiate a purchase.prorationMode
- ProrationMode
Subscription proration modeModifySubscriptionResponse
received by the
PurchasingListener#onModifySubscriptionResponse(ModifySubscriptionResponse)
callback.public static RequestId getProductData(java.util.Set<java.lang.String> skus)
PurchasingListener.onProductDataResponse(com.amazon.device.iap.model.ProductDataResponse)
gets called.skus
- Set of SKUs. If the size of the set is greater than 100,
an IllegalArgumentException is thrown.ProductDataResponse
received
by the
PurchasingListener.onProductDataResponse(com.amazon.device.iap.model.ProductDataResponse)
callback.public static RequestId getPurchaseUpdates(boolean reset)
PurchasingListener.onPurchaseUpdatesResponse(com.amazon.device.iap.model.PurchaseUpdatesResponse)
(PurchaseUpdatesResponse) gets called.reset
- Set to true to get a list of all purchases. Set to false to
get a list of all purchases made since the last invocation.PurchaseUpdatesResponse
received
by the
PurchasingListener.onPurchaseUpdatesResponse(com.amazon.device.iap.model.PurchaseUpdatesResponse)
callback.public static void notifyFulfillment(java.lang.String receiptId, FulfillmentResult fulfillmentResult)
receiptId
- Receipt ID of the purchase.fulfillmentResult
- Result of the fulfillment.public static RequestId requestUserProfileAccess()
UserProfileAccessListener.onUserProfileAccessResponse(UserProfileAccessResponse)