Question

how to purchase in debug mode?

  • 14 June 2023
  • 3 replies
  • 465 views

Badge +3

I am missing some fundamental here, noob question.

The products are displayed both debug and in internal test (when I build to google play store), i can click purchase in internal test, but cannot do that in debug.

I am using flutter. In my `main.dart` I set my configs. 

await Purchases.setLogLevel(LogLevel.debug);
late PurchasesConfiguration configuration;

If I’m not allowed to click purchase in debug mode, then where/how do I actually code my app then and see purchase flow?


3 replies

Userlevel 6
Badge +8

Hey @catkty!

I think debug logs may be helpful in this case. Are you able to provide debug logs from your app launch → seeing the errors when trying to purchase?

 

 

Badge +3

@cody i now cannot see newly added products, just old deactivated ones. Sorry if i am asking these noob questions but I’ve been quite stuck.

Can you help me clarify what exactly is the entire process?

  1. Add the configs for revenue cat in flutter, set my userId so revenue cat can be aligned
  2. Adding products: the name needs to match google play to revenue cat, meaning:
    1. Google play: Subscriptions → <Product Id> → <Base Id>
    2. Revenue cat: Products → New → Import Products
      1. Create Offerings: Offerings are like group of products where it includes google plays import (However, don’t see any new offerings anymore, even clicked state to current)
  3. Build appbundle
  4. Drop to internal test
  5. Open app on device
  6. Go to device, click purchase Ok goes through
  7. My original question is here: how do I debug then? this is where I am not connecting how I can debug.

Other things done:

  • License testing added
  • tested google notifications topic received

I am having two issues:

  1. not understanding how debug works, because the product I have involves some data usage count. 

 CustomerInfo purchaserInfo = await Purchases.purchasePackage(_selectedTier); /// revenue cat purchase

      if (purchaserInfo.entitlements.all[info]!.isActive) {

        await _purchaseApi.saveUserPurchase(purchaserInfo); /// This is my own api. I don’t want to do this, but how can I know the object?

      }

 

  1. Offerings are empty
    1. D/[Purchases] - DEBUG(12977): ℹ️ Querying purchases

      D/[Purchases] - DEBUG(12977): ℹ️ Cleaning previously sent tokens

      D/[Purchases] - DEBUG(12977): ℹ️ Tokens already posted: []

      D/[Purchases] - DEBUG(12977): ℹ️ Saving tokens []

      D/[Purchases] - DEBUG(12977): ℹ️ Tokens already posted: []

      D/[Purchases] - DEBUG(12977): ℹ️ Products request finished for some_old_stuff1, some_old_stuff2

      D/[Purchases] - DEBUG(12977): 💰 Retrieved skuDetailsList:

      D/[Purchases] - DEBUG(12977): ℹ️ Requesting products from the store with identifiers: some_old_stuff1, some_old_stuff2

      D/[Purchases] - DEBUG(12977): ℹ️ Products request finished for some_old_stuff1, some_old_stuff2

    2. But offerings = empty; where List<Offering> offerings = await PurchasesApi.fetchOffers(); 

Badge +3

@cody  ok nevermind, i updated to the latest package and the package now shows, and I dont know why i didnt notice the REST API!

Reply