SlideShare a Scribd company logo
1 of 29
Monetize your app with Google
Subscriptions V3 services:
Benefits and best practices
Manohar Mahapatra
Intuit
Why choose Android
In-App Billing
Types of In-App Billing

• Standard in-app products (one-time billing)
• Subscriptions, (recurring, automated billing)
Its Hassle Free

• Google Play handles all credit card related
activities for the user of your app.
• Stores the card details along with Google
Wallet . No need to enter the data again
during the time of purchase.
• Charges the app user’s card and credits your
Google Merchant account.
Its Free for developers

• Any application that you publish through
Google Play can implement In-app Billing.
• No special account or registration is required
other than a Google Play Developer Console
account and a Google Wallet merchant
account.
Preparing Your In-app Billing
Application
Download the Sample
Application
• The sample files will be installed to
<sdk>/extras/google/play_billing/.
Add Your Application to the Developer
Console
• In the Services & APIs tab, find and make a
note of the public license key that Google Play
generated for your application
Add the In-app Billing Library
• To use the In-app Billing Version 3
features, you must add the
IInAppBillingService.aidl file to your Android
project.

• This Android Interface Definition Language
(AIDL) file defines the interface to the Google
Play service.
IInAppBillingService.aidl
Set the Billing Permission
• To have permission to communicate request
and response messages to the Google Play’s
billing service, add this line in your
AndroidManifest.xml manifest file:
• <uses-permission
android:name="com.android.vending.BILLING
" />
Initiate a Connection with Google Play
• You must bind your Activity to Google
Play’s In-app Billing service to send Inapp Billing requests to Google Play
from your application.
Establishing In-app Billing
Products for Sale
Specify In-app Products in Google Play

• Build a signed APK file for your In-app Billing
application. Make sure that you are using your
final (not debug) certificate and private key to
sign your application.

• Click on the APK tab then click on Upload new
APK. Don’t publish the app yet!
• Navigate to the uploaded app listing, and click
on In-app Products.
• Complete the form to specify the product
information such as the item’s unique product
ID (also called its SKU), description, price, and
country availability
• Once you have completed the form, activate
the product so that your application can
purchase.
Query Items Available for Purchase
• You can query Google Play to
programmatically retrieve details of the in-app
products that are associated with your
application (such as the product’s
price, title, description, and type)
Purchase an Item
• To start a purchase request from your
app, call launchPurchaseFlow(Activity, String,
int, OnIabPurchaseFinishedListener, String) o
n your IabHelper instance. You must make
this call from the main thread of your Activity.
Query Purchased Items
• To retrieve the user’s purchases from your
app, queryInventoryAsync(QueryInventoryFini
shedListener) on your IabHelper instance.
Consume a Purchase
• You must send a consumption request for the
item before Google Play makes it available for
purchase again. All managed in-app products
are consumable. Subscriptions need not be
consumed.
Testing Your In-app Billing
Application
Test with Static Responses
• Test your In-app Billing application with static
responses by using Google Play’s reserved
product IDs.
• There are four reserved product IDs for
testing static In-app Billing responses:
1.
2.
3.
4.

android.test.purchased
android.test.canceled
android.test.refunded
android.test.item_unavailable
Test with Your Own Product IDs
• In the Developer Console, add one or more
tester accounts to the developer account that
you are using to publish your application.
– Click Settings > Account details, then in
the License Testing section, add the Google
email addresses for your tester accounts.
• Build a signed and final (not debug) certificate
APK file for your In-app Billing.
• Make sure that you have uploaded the signed
APK for your application to the Developer
Console.You don't need to publish the
application on Google Play to test
• Install the APK file to your physical test device
by using the adb tool.
• Login to the test device by using a tester
account.
Important Security Considerations
• Perform signature verification tasks on a
server so that this makes it difficult for
attackers to break the verification process by
reverse engineering your .apk file.
• Modify all sample application code

• Set the developer payload string when making
purchase requests.
• Protect your Google Play public key.
Thank You

More Related Content

What's hot

Testing In App Billing
Testing In App BillingTesting In App Billing
Testing In App BillingRyan Harter
 
20210326 slc users monthly class
20210326   slc users monthly class20210326   slc users monthly class
20210326 slc users monthly classCheinFattSiow
 
Quip For Salesforce
Quip For SalesforceQuip For Salesforce
Quip For SalesforceAstrea Ces
 
Creating an app on Ribily Part 2 - forms creation
Creating an app on Ribily Part  2 - forms creationCreating an app on Ribily Part  2 - forms creation
Creating an app on Ribily Part 2 - forms creationSagar Kalkhair
 
DataSynch for QuickBooks and Salesforce.com
DataSynch for QuickBooks and Salesforce.comDataSynch for QuickBooks and Salesforce.com
DataSynch for QuickBooks and Salesforce.comData Solutions
 
User Manual Guide: Case Management App on Salesforce AppExchange
User Manual Guide: Case Management App on Salesforce AppExchangeUser Manual Guide: Case Management App on Salesforce AppExchange
User Manual Guide: Case Management App on Salesforce AppExchangeAjeet Singh
 
inventory for Tailoring shops
inventory for Tailoring shopsinventory for Tailoring shops
inventory for Tailoring shopsBharat Deshmukh
 
Magento 2 Quote Module
Magento 2 Quote ModuleMagento 2 Quote Module
Magento 2 Quote ModuleRing A Bell
 
AppFolio Mobile Inspections Module
AppFolio Mobile Inspections ModuleAppFolio Mobile Inspections Module
AppFolio Mobile Inspections ModuleAppFolio
 
Recorded Webinar: AppFolio Mid-Year Feature Roundup
Recorded Webinar: AppFolio Mid-Year Feature RoundupRecorded Webinar: AppFolio Mid-Year Feature Roundup
Recorded Webinar: AppFolio Mid-Year Feature RoundupAppFolio
 
INTEGRATED SHOPPING ASSISTANCE WITH FREDGE AND MOBILE
INTEGRATED SHOPPING ASSISTANCE WITH FREDGE AND MOBILEINTEGRATED SHOPPING ASSISTANCE WITH FREDGE AND MOBILE
INTEGRATED SHOPPING ASSISTANCE WITH FREDGE AND MOBILERajesh Roky
 

What's hot (15)

Shopware-Akeneo-Connector
Shopware-Akeneo-ConnectorShopware-Akeneo-Connector
Shopware-Akeneo-Connector
 
Shopify Akeneo Connector
Shopify Akeneo ConnectorShopify Akeneo Connector
Shopify Akeneo Connector
 
OpenCart Amazon Connector Extension
OpenCart Amazon Connector ExtensionOpenCart Amazon Connector Extension
OpenCart Amazon Connector Extension
 
Testing In App Billing
Testing In App BillingTesting In App Billing
Testing In App Billing
 
20210326 slc users monthly class
20210326   slc users monthly class20210326   slc users monthly class
20210326 slc users monthly class
 
Odoo Akeneo Connector
Odoo Akeneo ConnectorOdoo Akeneo Connector
Odoo Akeneo Connector
 
Quip For Salesforce
Quip For SalesforceQuip For Salesforce
Quip For Salesforce
 
Creating an app on Ribily Part 2 - forms creation
Creating an app on Ribily Part  2 - forms creationCreating an app on Ribily Part  2 - forms creation
Creating an app on Ribily Part 2 - forms creation
 
DataSynch for QuickBooks and Salesforce.com
DataSynch for QuickBooks and Salesforce.comDataSynch for QuickBooks and Salesforce.com
DataSynch for QuickBooks and Salesforce.com
 
User Manual Guide: Case Management App on Salesforce AppExchange
User Manual Guide: Case Management App on Salesforce AppExchangeUser Manual Guide: Case Management App on Salesforce AppExchange
User Manual Guide: Case Management App on Salesforce AppExchange
 
inventory for Tailoring shops
inventory for Tailoring shopsinventory for Tailoring shops
inventory for Tailoring shops
 
Magento 2 Quote Module
Magento 2 Quote ModuleMagento 2 Quote Module
Magento 2 Quote Module
 
AppFolio Mobile Inspections Module
AppFolio Mobile Inspections ModuleAppFolio Mobile Inspections Module
AppFolio Mobile Inspections Module
 
Recorded Webinar: AppFolio Mid-Year Feature Roundup
Recorded Webinar: AppFolio Mid-Year Feature RoundupRecorded Webinar: AppFolio Mid-Year Feature Roundup
Recorded Webinar: AppFolio Mid-Year Feature Roundup
 
INTEGRATED SHOPPING ASSISTANCE WITH FREDGE AND MOBILE
INTEGRATED SHOPPING ASSISTANCE WITH FREDGE AND MOBILEINTEGRATED SHOPPING ASSISTANCE WITH FREDGE AND MOBILE
INTEGRATED SHOPPING ASSISTANCE WITH FREDGE AND MOBILE
 

Similar to Monetize your app_with_google_subscriptions_v3_services_intuit

Payments in Mobile Apps
Payments in Mobile AppsPayments in Mobile Apps
Payments in Mobile AppsCleveroad
 
How to submit ios app in Appstore
How to submit ios app in AppstoreHow to submit ios app in Appstore
How to submit ios app in AppstoreNandini Gautam
 
App Indexing: Blurring the Lines Between Your Website and App
App Indexing: Blurring the Lines Between Your Website and AppApp Indexing: Blurring the Lines Between Your Website and App
App Indexing: Blurring the Lines Between Your Website and AppJuan Gomez
 
Online shopping ecommerce java project
Online shopping ecommerce java projectOnline shopping ecommerce java project
Online shopping ecommerce java projectTutorial Learners
 
Hospital app project (how to upload app)
Hospital app project (how to upload app)Hospital app project (how to upload app)
Hospital app project (how to upload app)MAHFUZ RAIHAN
 
Flutter Android / iOS Build Preparation
Flutter Android / iOS Build PreparationFlutter Android / iOS Build Preparation
Flutter Android / iOS Build Preparation9 series
 
Google IO 2017 Recap
Google IO 2017 RecapGoogle IO 2017 Recap
Google IO 2017 RecapVishal Nayak
 
Online shopping e commerce website for cloth retail.pptx
Online shopping e commerce website for cloth retail.pptxOnline shopping e commerce website for cloth retail.pptx
Online shopping e commerce website for cloth retail.pptxshubhanshusahu71
 
Going Native: Why and How?
Going Native: Why and How?Going Native: Why and How?
Going Native: Why and How?Intuit Inc.
 
Self checkout application presentation
Self checkout application presentationSelf checkout application presentation
Self checkout application presentationAshwinBicholiya
 
iPhone first App Store submission
iPhone  first App Store submissioniPhone  first App Store submission
iPhone first App Store submissionPragati Singh
 
Mobi: "In-app Payments by Google & Apple"
Mobi: "In-app Payments by Google & Apple"Mobi: "In-app Payments by Google & Apple"
Mobi: "In-app Payments by Google & Apple"MobileMonday Estonia
 
App Store Subscriptions - Condensed Edition
App Store Subscriptions - Condensed EditionApp Store Subscriptions - Condensed Edition
App Store Subscriptions - Condensed EditionMark Pavlidis
 
Big commerce app development
Big commerce app developmentBig commerce app development
Big commerce app developmentNascenia IT
 
Grocery Mangement Project in C
Grocery Mangement Project in CGrocery Mangement Project in C
Grocery Mangement Project in CMahmudul Alam
 
Publishing app to google play store
Publishing app to google play storePublishing app to google play store
Publishing app to google play storeketanraval
 
Fireworks mall buddy whitelabel v1.2
Fireworks mall buddy whitelabel v1.2Fireworks mall buddy whitelabel v1.2
Fireworks mall buddy whitelabel v1.2Yanzer Lee
 
GatherUp Customer Webinar - November 2018
GatherUp Customer Webinar  - November 2018GatherUp Customer Webinar  - November 2018
GatherUp Customer Webinar - November 2018GatherUp
 

Similar to Monetize your app_with_google_subscriptions_v3_services_intuit (20)

Payments in Mobile Apps
Payments in Mobile AppsPayments in Mobile Apps
Payments in Mobile Apps
 
How to submit ios app in Appstore
How to submit ios app in AppstoreHow to submit ios app in Appstore
How to submit ios app in Appstore
 
App Indexing: Blurring the Lines Between Your Website and App
App Indexing: Blurring the Lines Between Your Website and AppApp Indexing: Blurring the Lines Between Your Website and App
App Indexing: Blurring the Lines Between Your Website and App
 
Online shopping ecommerce java project
Online shopping ecommerce java projectOnline shopping ecommerce java project
Online shopping ecommerce java project
 
Grocery App
Grocery AppGrocery App
Grocery App
 
Hospital app project (how to upload app)
Hospital app project (how to upload app)Hospital app project (how to upload app)
Hospital app project (how to upload app)
 
Flutter Android / iOS Build Preparation
Flutter Android / iOS Build PreparationFlutter Android / iOS Build Preparation
Flutter Android / iOS Build Preparation
 
Save my receipts
Save my receiptsSave my receipts
Save my receipts
 
Google IO 2017 Recap
Google IO 2017 RecapGoogle IO 2017 Recap
Google IO 2017 Recap
 
Online shopping e commerce website for cloth retail.pptx
Online shopping e commerce website for cloth retail.pptxOnline shopping e commerce website for cloth retail.pptx
Online shopping e commerce website for cloth retail.pptx
 
Going Native: Why and How?
Going Native: Why and How?Going Native: Why and How?
Going Native: Why and How?
 
Self checkout application presentation
Self checkout application presentationSelf checkout application presentation
Self checkout application presentation
 
iPhone first App Store submission
iPhone  first App Store submissioniPhone  first App Store submission
iPhone first App Store submission
 
Mobi: "In-app Payments by Google & Apple"
Mobi: "In-app Payments by Google & Apple"Mobi: "In-app Payments by Google & Apple"
Mobi: "In-app Payments by Google & Apple"
 
App Store Subscriptions - Condensed Edition
App Store Subscriptions - Condensed EditionApp Store Subscriptions - Condensed Edition
App Store Subscriptions - Condensed Edition
 
Big commerce app development
Big commerce app developmentBig commerce app development
Big commerce app development
 
Grocery Mangement Project in C
Grocery Mangement Project in CGrocery Mangement Project in C
Grocery Mangement Project in C
 
Publishing app to google play store
Publishing app to google play storePublishing app to google play store
Publishing app to google play store
 
Fireworks mall buddy whitelabel v1.2
Fireworks mall buddy whitelabel v1.2Fireworks mall buddy whitelabel v1.2
Fireworks mall buddy whitelabel v1.2
 
GatherUp Customer Webinar - November 2018
GatherUp Customer Webinar  - November 2018GatherUp Customer Webinar  - November 2018
GatherUp Customer Webinar - November 2018
 

Recently uploaded

Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CVKhem
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century educationjfdjdjcjdnsjd
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsJoaquim Jorge
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProduct Anonymous
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MIND CTI
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodJuan lago vázquez
 
HTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesHTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesBoston Institute of Analytics
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingEdi Saputra
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAndrey Devyatkin
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024The Digital Insurer
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyKhushali Kathiriya
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherRemote DBA Services
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...apidays
 
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...Principled Technologies
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...Neo4j
 

Recently uploaded (20)

Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
HTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesHTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation Strategies
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 

Monetize your app_with_google_subscriptions_v3_services_intuit

  • 1. Monetize your app with Google Subscriptions V3 services: Benefits and best practices Manohar Mahapatra Intuit
  • 3. Types of In-App Billing • Standard in-app products (one-time billing) • Subscriptions, (recurring, automated billing)
  • 4. Its Hassle Free • Google Play handles all credit card related activities for the user of your app. • Stores the card details along with Google Wallet . No need to enter the data again during the time of purchase. • Charges the app user’s card and credits your Google Merchant account.
  • 5. Its Free for developers • Any application that you publish through Google Play can implement In-app Billing. • No special account or registration is required other than a Google Play Developer Console account and a Google Wallet merchant account.
  • 6. Preparing Your In-app Billing Application
  • 7. Download the Sample Application • The sample files will be installed to <sdk>/extras/google/play_billing/.
  • 8. Add Your Application to the Developer Console • In the Services & APIs tab, find and make a note of the public license key that Google Play generated for your application
  • 9. Add the In-app Billing Library • To use the In-app Billing Version 3 features, you must add the IInAppBillingService.aidl file to your Android project. • This Android Interface Definition Language (AIDL) file defines the interface to the Google Play service.
  • 11. Set the Billing Permission • To have permission to communicate request and response messages to the Google Play’s billing service, add this line in your AndroidManifest.xml manifest file: • <uses-permission android:name="com.android.vending.BILLING " />
  • 12. Initiate a Connection with Google Play • You must bind your Activity to Google Play’s In-app Billing service to send Inapp Billing requests to Google Play from your application.
  • 14. Specify In-app Products in Google Play • Build a signed APK file for your In-app Billing application. Make sure that you are using your final (not debug) certificate and private key to sign your application. • Click on the APK tab then click on Upload new APK. Don’t publish the app yet! • Navigate to the uploaded app listing, and click on In-app Products.
  • 15.
  • 16. • Complete the form to specify the product information such as the item’s unique product ID (also called its SKU), description, price, and country availability • Once you have completed the form, activate the product so that your application can purchase.
  • 17.
  • 18. Query Items Available for Purchase • You can query Google Play to programmatically retrieve details of the in-app products that are associated with your application (such as the product’s price, title, description, and type)
  • 19.
  • 20. Purchase an Item • To start a purchase request from your app, call launchPurchaseFlow(Activity, String, int, OnIabPurchaseFinishedListener, String) o n your IabHelper instance. You must make this call from the main thread of your Activity.
  • 21.
  • 22. Query Purchased Items • To retrieve the user’s purchases from your app, queryInventoryAsync(QueryInventoryFini shedListener) on your IabHelper instance.
  • 23. Consume a Purchase • You must send a consumption request for the item before Google Play makes it available for purchase again. All managed in-app products are consumable. Subscriptions need not be consumed.
  • 24. Testing Your In-app Billing Application
  • 25. Test with Static Responses • Test your In-app Billing application with static responses by using Google Play’s reserved product IDs. • There are four reserved product IDs for testing static In-app Billing responses: 1. 2. 3. 4. android.test.purchased android.test.canceled android.test.refunded android.test.item_unavailable
  • 26. Test with Your Own Product IDs • In the Developer Console, add one or more tester accounts to the developer account that you are using to publish your application. – Click Settings > Account details, then in the License Testing section, add the Google email addresses for your tester accounts. • Build a signed and final (not debug) certificate APK file for your In-app Billing.
  • 27. • Make sure that you have uploaded the signed APK for your application to the Developer Console.You don't need to publish the application on Google Play to test • Install the APK file to your physical test device by using the adb tool. • Login to the test device by using a tester account.
  • 28. Important Security Considerations • Perform signature verification tasks on a server so that this makes it difficult for attackers to break the verification process by reverse engineering your .apk file. • Modify all sample application code • Set the developer payload string when making purchase requests. • Protect your Google Play public key.

Editor's Notes

  1. In-app Billing is a Google Play service that lets you sell digital content from inside your applications. You can use the service to sell a wide range of content, including downloadable content such as media files or photos, virtual content such as game levels or potions, premium services and features, and more. 
  2. Open the Android SDK Manager.In the SDK Manager, expand the Extras section.Select Google Play Billing Library.Click Install packages to complete the download.The sample files will be installed to &lt;sdk&gt;/extras/google/play_billing/.