One of the common ways to monetize your app is with one time in- app purchase of digital products. Think of buying in game coins to upgrade your base in Space Fight Titans XL(not a real game). Or upgrading from a free app to a non subscription premium app. Or buying a pass to the online bootcamp that you’ve been wanting to join. These are all one time purchases of digital products, and are exactly what the new Adalo Digital Purchase component is built for.
A few things to understand before setting up this component. Your database needs a few things:
A collection of “products”
These can be events, activities, coaching sessions, etc. They just have to be associated with the item being paid for.
Or a unique product ID if you are only selling one product.
If you have a large volume of products to add, You can export the collection from Adalo, modify the .csv to meet the upload guidelines for Android. Apple requires you to add them one at a time.
You define these Product IDs. Google and Apple recommend something similar to using your package name/bundle ID and one or two words from the item i.e. com.spacefighttitansxl.powerup.1, but ultimately it can be anything that follows these restrictions.
Must start with a number or lowercase letter, and can contain numbers (0-9), lowercase letters (a-z), underscores (_), and periods (.).
148 characters or less
Your app will go through additional reviews when you have this component installed. We recommend adding this near the end of your development cycle and near deployment to reduce the time required to test the rest of your app.
The Adalo Digital Purchase component can be installed to your Adalo account from the App Marketplace.
Click the plus button in the left toolbar in your Adalo editor
Scroll down and click the Explore Marketplace button
In the Marketplace, scroll to find the Adalo Digital Purchase component and click to Install
Drag the Digital Purchase component to your App’s purchase screen.
The component has all of the style customization of the standard Adalo Button component.
Set-up Digital Purchase component button
Android and iOS Product IDs - These are the unique identifiers for the product being purchased. Google and Android have their own recommendation for the format, but it can be anything unique to that item. You can use the same Product ID for both platforms. Either select this property from your collection in Magic Text, or add a specific Product ID here.
Button - Change the text, icon, font, color, and style of the button to match your app’s style.
Treat Purchases as Restorations - For Non-Consumables and One-time subscriptions
The App Store and Play store require a way to restore previous purchases from your users to a new device. Even though in Adalo, all of this information is tied to their account, and stored on our servers, this action is still required to exist in your app.
When this is toggled on for a button, this button will look up the purchases made by the user, and verify if they have purchased this item in the past. If they have, it will return successful and you set your actions, if errored, it means the user has not purchased this in the past.
You can have this button located anywhere, but we recommend adding in to a user settings screen. If you are selling multiple products with a dynamic Product ID, you can make a list of the products with this button in the list, and a user can then restore their purchases.
Actions - The Digital Purchase component has three Actions for handling different outcomes from the Payment Modal. Add actions for each of these to unique screens, giving the User feedback about what happened.
Successful - The purchase went through
This is where you will update the record in your database for adding the user to the purchased item, update a field on the user record, or however you are handling tying purchases to your users.
IN RESTORE MODE: This means the previous purchase was verified. Use the same actions as a new purchase.
Error - There was an error.
This is a declined or server side error.
There are also error codes that you can save to an Error Log Collection, or surface in a text field while doing debugging.
Use a “Create” or “Update” action and use magic text to access this
IN RESTORE MODE: This means the previous purchase was not found, and the user needs to purchase this item.
Canceled - The user canceled the purchase
In-App Purchases only work for apps downloaded from the Apple App Store or Google Playstore.
This component is hidden on web by default.
Or show the component and have a web-only action to link to a Stripe payment screen.
Now build your Android SDK and push an iOS Testflight build in Adalo.
In your Play Store Console, Select your app.
Upload your New APK with the Digital Purchase component set up to an Internal or Beta Release Track. **This must be done before you can set up any products for you app**
Select the “In-App Purchases” from the left side menu under “Monetize>Products”
This will take you through the steps of setting up your App for receiving payments if you have not already done this.
All Products have to be tied to a Pricing Template. Pricing templates allow you to reuse pricing across multiple products and apps without having to keep the currencies exchanges and details updated for each one.
Create a pricing template in your Google Play Console Account Settings. Not in the app specific settings
Name your Pricing template something descriptive and set the price.
Select if the price includes tax.
Now create your In-App Products under the app specific settings>Monetize>Products>In-App Products
Complete the Product Details. Product ID is the property you set up with the Digital Purchase component.
Provide some details for the product.
Select the appropriate Pricing Template that you have created.
Select “Activate” for the product
Repeat 9-17 for each product, or format a .CSV to upload for a large list.
Your app may require some additional review time before you can download and test the internal test track app from the playstore.
Now download the internal test flight app and test the component!
Proceed to publish as usual once tested.
Navigate to your App in App Store Connect, in the left side menu select In-App Purchase>Manage.
These products will be available to be added to all apps in your account.
Select the (+) button to add a new In-App Product
Select the type of product you are adding.
***Auto- Renewing Subscription type is not yet supported
Complete the Product details
Product ID is the property you set up with the Digital Purchase component.
Reference Name is something to identify the product in your dashboard
Pricing - You select the price tier for your product. Check these before finalizing your price for your products in the collection.
App Store Information will be displayed in the App Store Listing under “In-App Purchases” information section
App store promotional - is optional. You can skip this for now
Review information- You need to upload a screenshot of the purchase page for this specific product. Our recommended resolution is 1242 x 2688 or 640 x 1136 but all these sizes are accepted.
Repeat steps 3-6 for each digital product you will be selling in your app.
You need to set up your Apple Developer Account to accept payments. This is done here https://appstoreconnect.apple.com
Select the “Agreements, Tax, and Banking” section to get set up. This must be completed before you can test or accept In-App Purchases with your app. It takes up to 24 hours to be approved.
Now you can test your Digital Purchases in TestFlight. Purchases in TestFlight builds are FREE, but if they are successful in TestFlight, they will work in the App store.
When you have thoroughly tested your app, you can submit the build for release to the App store. There are a couple additional steps when adding IAP for the first time.
Navigate to the App Store tab at the top of the page, and scroll down to In-App Purchases
Select the In-App Purchases associated with this app.
Select the newly Tested build with the Digital Purchase component in the Build section. Note, you must submit a NEW build. An existing live build cannot be used when publishing the app.
Follow your typical publishing process for releasing to the App Store.
You now have a monetized with Digital Purchases App in the App Store!