Last updated:
0 purchases
flutter conscent plugin
Conscent Plugin for developers #
This is a step by step guide to include Conscent Plugin in your app. This plugin is developed in Flutter and supports both Android and IOS Device.
Step-1 #
Use our plugin package as a library
Step-2 #
In your application pass client_id, Environment Mode to be used in your app as below sample:
ConscentInitializer("your_client_id", MODE.SANDBOX);
copied to clipboard
ClientId will be received when you would create a ConsCent account, login to client.conscent. In to get access to your clientid
Mode can be set as MODE.SANDBOX MODE.PRODUCTION. It is used for configuration testing of different environments available.
Mode is used for configuration testing of different environments available.
Step-3 #
To login into Conscent you need to pass token (token you get from api {{BASE_URL}}/client/generate-temp-token )
and email or phone number. You receive 2 arguments after login method
Success
{status, userId}
failure
{status, message}
String redirectUrl = await ConscentMethods()
.prepareAutoLoginUrl([(token.text),(phone.text),(email.text)]);
Navigator.push(
context,
MaterialPageRoute(
builder: (context) => WebViewDefaultApp(
redirectUrl: redirectUrl)
),
).then((value) {
print("response $value");
if (value != null) {
ScaffoldMessenger.of(context).showSnackBar(SnackBar(
content: Text('$value'),
));
}
});
copied to clipboard
To logout from Conscent you need to call ConscentMethods().userLogOut()
TextButton.icon(
// <-- TextButton
onPressed: () async {
String? logout = await ConscentMethods().userLogOut();
ScaffoldMessenger.of(context).showSnackBar(SnackBar(
content: Text('${logout}'),
));
// logOut();
},
icon: const Icon(
Icons.logout,
size: 24.0,
),
label: const Text('Logout'),
),
copied to clipboard
Step-4 #
To check if an content is free/paid or a payment needs to be done, in your class, use as below sample:
Parameters detail can be checked below for more information.
Payment Formats for User #
Login to ConsCent from the Paywall, verify your credentials and then purchase access to premium content. There are three types of payments:
CONTENT: Pay-per-use is a system in which users are charged only for the specific premium content they want access to.
PASS: Gives access to user for all the premium content from 1hr to 14 days, which can be changed from ConsCent’s dashboard.
SUBSCRIPTION: Gives user access to all the premium content starting from 1 month.
ConscentInitializer.setContentId('your_content_id');
ConscentMethods().getContentAccess()
- FutureBuilder<ContentAccessModel?>(
future: ConscentMethods().getContentAccess(),
builder: (context, snapshot)
........
child: Paywall((response) {
if (responseData != null &&
responseData.signature != null) {
showContent = true;
} else {
showContent = false;
}
setState(() {});
(context as Element).reassemble();
})
copied to clipboard
Subscription #
ConscentMethods().getSubscriptionAccess()
FutureBuilder<Subscription_Access?>(
future: ConscentMethods().getSubscriptionAccess(),
builder: (context, snapshot)
............
child: SubscriptionPaywall((response)
copied to clipboard
It is async method use to check if a content is purchased or a payment needs to be done.
You would have to check if snapshot.data.signature exists to give access to users for any Prenium Content, otherwise conscent will intialize a paywall.
Parameters detail #
Content id: This will be your content id for which detail needs to be checked.
Premium Content Registration #
Whenever you're utilising the ConsCent APIs - you to update the API_URL variables based on the environment you're operating in.
This endpoint allows the Client to Register their Content on ConsCent - with the Content Title, ContentId, Content URL, Tags, Analytics Pixels (Facebook and Google), Price as well as any specific Price Overrides for a country - In order to set a different price for the content in the relevant country. Moreover, the ContentType field is optional - and if no 'contentType' is provided then the default 'contentType' of the client will be treated as the 'contentType' of the content being registered. While category based pricing can be used for any content, by passing the priceCategory field on registering the content - as long as the price category has been registered by the client on the ConsCent dashboard along with its respective price, duration and priceOverrides; however, category based pricing only comes into effect if the content does not have a pre-determined price field (price must be null).
HTTP Request #
POST {API_URL}/api/v1/content
copied to clipboard
Authorization #
Client API Key and Secret must be passed in Authorization Headers using Basic Auth. With API Key as the Username and API Secret as the password.
Request Body #
Parameter
Default
Description
contentId
required
Content Id by which the Content has been registered on the Client CMS. Please ensure that the content ID is at most 32 characters and can only contain letters, numbers, underscores and dashes.
title
required
Title of the Content
price
optional
Content Price for pay-per-use pricing
currency
optional
Currency in which price is determined. Must be an ISO 4217 supported - 3 Digit currency Code. INR is used as the default if no value is provided.
url
required
URL where the content is available on your website
duration
optional
Free content access time for user once the user has purchased the content. (Standard Practice - 1 Day);
authorId
optional
Id of the Author of the content - Mandatory if authorName is present
authorName
optional
Name of the Author of the content
contentType
optional
Must be an ENUM from one of the following - STORY, VIDEO, SONG, PODCAST, PREMIUM CONTENT
priceOverrides
optional
Price Overrides for any particular country with the relevant country code as the name and the ENUM value in the price. The country code list is located the end of this document
download
optional
Object containing the "url", "fileName" and "fileType". All download parameters must be provided if the content is downloadable on purchase. Also, the "fileType" is an ENUM and only accepts "PDF" currently.
priceCategory
optional
The priceCategory of the content, which has been registered by the client on the ConsCent Client Dashboard - in order to invoke category based pricing (only valid if story doesn't have a price). Each registered priceCategory will have an associated price, currency, duration and priceOverrides.
pixels
optional
A nested object with the optional keys being "facebook" and "google". With the "google" object only requiring the trackingId - to include the gtag throughout the platform. However, for the "facebook" object the "pixelId" must be passed along with an "events" array - containing the event name (as configured on the facebook events manager), the eventType (which is an ENUM to be chosen from ["VIEW", "CONVERSION"]) as well as any data/values associated with the particular event.
tags
optional
Array of tags associated with the content
For personal and professional use. You cannot resell or redistribute these repositories in their original state.
There are no reviews.