Managing Subscriptions¶
Backendless provides two APIs for Android platform that allow retrieving the current subscription status of an application, and also cancelling an active subscription.
Signatures - Retrieve Subscription Status¶
Blocking API
public GooglePlaySubscriptionStatus getPlaySubscriptionsStatus( String packageName, String subscriptionId, String token )
where:
Argument | Description |
---|---|
packageName |
A package name of the application associated with an active in-app subscription purchase. (for example, 'com.some.thing'). |
subscriptionId |
ID of the purchased subscription (for example, 'com.some.thing.monthly001' - where monthly001 is the ID). |
token |
A token provided to the application after the subscription purchase. |
Non-blocking API
public void getPlaySubscriptionsStatus( String packageName, String subscriptionId, String token AsyncCallback<GooglePlaySubscriptionStatus> callback )
where:
Argument | Description |
---|---|
packageName |
A package name of the application associated with an active in-app subscription purchase. (for example, 'com.some.thing'). |
subscriptionId |
ID of the purchased subscription (for example, 'com.some.thing.monthly001' - where monthly001 is the ID). |
token |
A token provided to the application after the subscription purchase. |
callback |
Represents an object containing the result of the method invocation. If the request is successful, returns the GooglePlaySubscriptionStatus object. Otherwise, throws an exception. |
Return Value¶
Returns the GooglePlaySubscriptionStatus
object:
{
"autoRenewing": boolean,
"startTimeMillis": long,
"kind": string,
"expiryTimeMillis": long
}
where:
Argument | Description |
---|---|
autoRenewing |
Indicates whether the next subscription is set for automatic renewal. |
startTimeMillis |
Time when a subscription was purchased. Time is measured in milliseconds passed since the Unix epoch (1 January 1970 00:00:00 UT). |
kind |
Represents the inappPurchase object in the androidpublisher service. |
expiryTimeMillis |
Time when a subscription expires. Time is measured in milliseconds passed since the Unix epoch (1 January 1970 00:00:00 UT). |
Example Blocking API
GooglePlaySubscriptionStatus googlePlaySubscriptionStatus = Backendless.Commerce.getPlaySubscriptionsStatus( packageName, subscriptionId, token );
Example Non-Blocking API
Backendless.Commerce.getPlaySubscriptionsStatus( packageName, subscriptionId, token, new AsyncCallback<GooglePlaySubscriptionStatus>()
{
@Override
public void handleResponse( GooglePlaySubscriptionStatus googlePlaySubscriptionStatus )
{
// result handling logic
}
@Override
public void handleFault( BackendlessFault backendlessFault )
{
// error handling logic
}
} );
Signatures - Cancel Subscription¶
Blocking API
public void cancelPlaySubscription( String packageName, String subscriptionId, String token )
where:
Argument | Description |
---|---|
packageName |
A package name of the application associated with an active in-app subscription purchase. (for example, 'com.some.thing'). |
subscriptionId |
ID of the purchased subscription (for example, 'com.some.thing.monthly001' - where monthly001 is the ID). |
token |
A token provided to the application after the subscription purchase. |
Non-blocking API
public void cancelPlaySubscription( String packageName, String subscriptionId, String token, AsyncCallback<Void> callback )
where:
Argument | Description |
---|---|
packageName |
A package name of the application associated with an active in-app subscription purchase. (for example, 'com.some.thing'). |
subscriptionId |
ID of the purchased subscription (for example, 'com.some.thing.monthly001' - where monthly001 is the ID). |
token |
A token provided to the application after the subscription purchase. |
callback |
Represents an object containing the result of the method invocation. If the request is successful, returns void . Otherwise, throws an exception. |
Return Value¶
If the request is successful, nothing is returned. Otherwise, this method throws an exception.
Example Blocking API
Backendless.Commerce.cancelPlaySubscription( packageName, subscriptionId, token );
Example Non-Blocking API
Backendless.Commerce.cancelPlaySubscription( packageName, subscriptionId, token, new AsyncCallback<Void>()
{
@Override
public void handleResponse( Void unused )
{
// result handling logic
}
@Override
public void handleFault( BackendlessFault backendlessFault )
{
// error handling logic
}
} );