No data in the PurchaserInfo object - flutter

Here are my logs when after initilizing I print(purchaserInfo.toString())
I think this might be why I am unable to see any products when I try to display them
D/[Purchases] - DEBUG(12538): Debug logging enabled.
D/[Purchases] - DEBUG(12538): SDK Version - 3.2.0
D/[Purchases] - DEBUG(12538): Initial App User ID - null
D/[Purchases] - DEBUG(12538): Identifying App User ID: aswq4Sdfaewradfgasfw
D/[Purchases] - DEBUG(12538): Deleting old synced subscriber attributes that don't belong to aswq4Sdfaewradfgasfw.
D/[Purchases] - DEBUG(12538): App foregrounded
D/[Purchases] - DEBUG(12538): PurchaserInfo cache is stale, updating caches
D/[Purchases] - DEBUG(12538): Offerings cache is stale, updating caches
D/[Purchases] - DEBUG(12538): [QueryPurchases] Skipping updating pending purchase queue since BillingClient is not connected yet
D/[Purchases] - DEBUG(12538): No subscriber attributes to synchronize.
D/[Purchases] - DEBUG(12538): Listener set
D/[Purchases] - DEBUG(12538): Sending latest purchaser info to listener
D/[Purchases] - DEBUG(12538): Starting connection for com.android.billingclient.api.BillingClientImpl#f8168e4
D/[Purchases] - DEBUG(12538): Vending purchaserInfo from cache
D/[Purchases] - DEBUG(12538): Vending purchaserInfo from cache
D/NetworkSecurityConfig(12538): No Network Security Config specified, using platform default
D/[Purchases] - DEBUG(12538): Billing Service Setup finished for com.android.billingclient.api.BillingClientImpl#f8168e4.
D/[Purchases] - DEBUG(12538): [QueryPurchases] Updating pending purchase queue
I/flutter (12538): PurchaserInfo{entitlements: EntitlementInfos{all: {}, active: {}}, latestExpirationDate: null, allExpirationDates: {}, allPurchaseDates: {}, activeSubscriptions: [], allPurchasedProductIdentifiers: [], firstSeen: 2020-07-06T03:12:21.000Z, originalAppUserId: aswq4Sdfaewradfgasfw, requestDate: 2020-07-07T00:29:14.000Z, originalApplicationVersion: null, originalPurchaseDate: null, managementURL: null}
This is running on Android using: purchases_flutter: ^1.1.1

Related

Purchases.getOfferings(); hangs after upgrading RevenueCat to latest

Here are the packages I have in my pubspec.yaml file.
cloud_firestore: ^2.5.3
firebase_core_web: ^1.1.0
cloud_firestore_web: ^2.4.3
firebase_core: ^1.7.0
firebase_auth: ^3.1.2
provider: ^6.0.1
firebase_messaging: ^10.0.8
firebase_crashlytics: ^2.2.2
firebase_analytics: ^8.3.3
purchases_flutter: ^3.0.0
I run everything in Flutter stable channel version 2.5.2.
I tried using flutter channel beta version 2.6.0-5.2.pre as well.
The iOS version of the phone is 15.0.1. And I run tests on Iphone 7 (physical device, not a simulator). XCode version is 13.0. MAC OS is Big Sur 11.6 (with M1 chip).
The app works perfectly fine on Android but it hangs at the start of the app when I call the following function:
Offerings rcOfferings;
rcOfferings = await Purchases.getOfferings();
And the getOfferings() function never returns.. It was working perfectly fine before..
During the update procedure, the only change I made is the following:
Remove the following: Purchases.identify(rcAppUserId);
And instead use: Purchases.logIn(rcAppUserId);
Is this a known issue? What can be potential reasons for the getOfferings() function never returning anything…? It hangs when this function is called and the app never starts…
ADDENDUM
I enabled logs and here is what I see:
[Purchases] - DEBUG: ℹ️ Debug logging enabled
[Purchases] - DEBUG: ℹ️ SDK Version - 3.12.3
[Purchases] - DEBUG: 👤 Initial App User ID - (null)
[Purchases] - DEBUG: ℹ️ Sending latest PurchaserInfo to delegate.
[Purchases] - DEBUG: ℹ️ Delegate set
[Purchases] - DEBUG: ℹ️ There are no requests currently running, starting request GET /subscribers/1634905166007
[Purchases] - DEBUG: ℹ️ API request started: GET /v1/subscribers/1634905166
[Purchases] - DEBUG: ℹ️ API request started: GET /v1/subscribers/1634905166/offerings
[Purchases] - DEBUG: ℹ️ API request completed with status: GET /v1/subscribers/1634905166/offerings 304
[Purchases] - DEBUG: ℹ️ Requesting products from the store with identifiers: {(
"product_1",
"product_2",
"product_3",
"product_4",
"product_5",
"product_6"
)}
[Purchases] - DEBUG: ℹ️ API request completed with status: GET /v1/subscribers/1634905166007 304
[Purchases] - DEBUG: ℹ️ Serial request done: GET /subscribers/1634905166007, 0 requests left in the queue
flutter:
Init Platform State RevenueCat - DONE!
flutter:
Get offerings - RevenueCat
[tcp] tcp_output [C4.1:3] flags=[R.] seq=2740821213, ack=1928912997, win=4095 state=CLOSED rcv_nxt=1928912997, snd_una=2740821136
[BackgroundTask] Background Task 12 ("SKProductsRequest"), was created over 30 seconds ago. In applications running in the background, this creates a risk of termination. Remember to call UIApplication.endBackgroundTask(_:) for your task in a timely manner to avoid this.
flutter:
CALLING RevenueCat getRcOfferings() function now...
[Purchases] - DEBUG: ℹ️ No cached Offerings, fetching from network
[Purchases] - DEBUG: ℹ️ API request started: GET /v1/subscribers/1634905166/offerings
[Purchases] - DEBUG: ℹ️ API request completed with status: GET /v1/subscribers/1634905166/offerings 304
[tcp] tcp_output [C5.1:3] flags=[R.] seq=2802284821, ack=658575777, win=4103 state=CLOSED rcv_nxt=658575777, snd_una=2802284744
As seen above, it lists the products in the beginning (and I do not really understand in which step it does that).
The line saying “CALLING RevenueCat getRcOfferings() function now...” is the place where getOfferings() function is called and the app hangs there while waiting… When I say hangs, it keeps waiting for this async call to complete.
Hoping that this additional information will help to get some help...
There have been a few reports of folks running into this, like here: 
https://community.revenuecat.com/sdks-51/ios-15-xcode-13-rcpurchases-sharedpurchases-offeringswithcompletionblock-is-never-called-492
It seems like this is happening with older sandbox accounts, due to StoreKit’s SKProductsRequest just hanging. The RevenueCat team is currently looking into it to come up with solutions.
In the meantime, creating a new sandbox user has reportedly been working well for other RevenueCat users.
Could you give it a try?

rundeck :how to correct the configuration of rundeck to access via the browser

i have problem accessing rundeck
[2021-05-03T17:33:33,231] WARN beans.GenericTypeAwarePropertyDescriptor - Invalid JavaBean property 'exceptionMappings' being accessed! Ambiguous write methods found next to actually used [public void grails.plugin.springsecurity.web.authentication.AjaxAwareAuthenticationFailureHandler.setExceptionMappings(java.util.List)]: [public void org.springframework.security.web.authentication.ExceptionMappingAuthenticationFailureHandler.setExceptionMappings(java.util.Map)]
[2021-05-03T17:33:41,756] INFO rundeckapp.BootStrap - Starting Rundeck 3.3.10-20210301 (2021-03-02) ...
[2021-05-03T17:33:41,757] INFO rundeckapp.BootStrap - using rdeck.base config property: /var/lib/rundeck
[2021-05-03T17:33:41,768] INFO rundeckapp.BootStrap - loaded configuration: /etc/rundeck/framework.properties
[2021-05-03T17:33:41,805] INFO rundeckapp.BootStrap - RSS feeds disabled
[2021-05-03T17:33:41,806] INFO rundeckapp.BootStrap - Using jaas authentication
[2021-05-03T17:33:41,811] INFO rundeckapp.BootStrap - Preauthentication is disabled
[2021-05-03T17:33:41,918] INFO rundeckapp.BootStrap - Rundeck is ACTIVE: executions can be run.
[2021-05-03T17:33:42,283] WARN rundeckapp.BootStrap - [Development Mode] Usage of H2 database is recommended only for development and testing
[2021-05-03T17:33:42,590] INFO rundeckapp.BootStrap - Rundeck startup finished in 945ms
[2021-05-03T17:33:42,877] INFO rundeckapp.Application - Started Application in 32.801 seconds (JVM running for 35.608)
Grails application running at http://xxx.xxx.xxx.xxx:4440 in environment: production
Session terminated, killing shell...[2021-05-04T10:20:46,596] INFO rundeckapp.BootStrap - Rundeck Shutdown detected
...killed.
can you help me please
by the way I have installed a vm under redhat
then I installed rundeck RPM
and from my physical machine when I do http: // rundecknode_ip: 4440
it returns me on the browser error 113 no route to host and on examination of the logs I have what I have posted above
when i do systemctl status rundeck it is active running

How can I run zeppelin with keberos in CDH 6.3.2

zeppelin 0.9.0 does not work with Kerberos
I have add "zeppelin.server.kerberos.keytab" and "zeppelin.server.kerberos.principal" in zeppelin-site.xml
But I aldo get error "Client cannot authenticate via:[TOKEN, KERBEROS]; Host Details : local host is: "bigdser5/10.3.87.27"; destination host is: "bigdser1":8020;"
And add "spark.yarn.keytab","spark.yarn.principal" in spark interpreters,it does not work yet.
In my spark-shell that can work with Kerberos
My kerberos step
1.admin.local -q "addprinc jzyc/hadoop"
kadmin.local -q "xst -k jzyc.keytab jzyc/hadoop#JJKK.COM"
copy jzyc.keytab to other server
kinit -kt jzyc.keytab jzyc/hadoop#JJKK.COM
In my livy I get error "javax.servlet.ServletException: org.apache.hadoop.security.authentication.client.AuthenticationException: javax.security.auth.login.LoginException: No key to store"
INFO [2021-04-15 16:44:46,522] ({dispatcher-event-loop-1} Logging.scala[logInfo]:57) - Got an error when resolving hostNames. Falling back to /default-rack for all
INFO [2021-04-15 16:44:46,561] ({FIFOScheduler-interpreter_1099886208-Worker-1} Logging.scala[logInfo]:57) - Attempting to login to KDC using principal: jzyc/bigdser4#JOIN.COM
INFO [2021-04-15 16:44:46,574] ({FIFOScheduler-interpreter_1099886208-Worker-1} Logging.scala[logInfo]:57) - Successfully logged into KDC.
INFO [2021-04-15 16:44:47,124] ({FIFOScheduler-interpreter_1099886208-Worker-1} Logging.scala[logInfo]:57) - getting token for: DFS[DFSClient[clientName=DFSClient_NONMAPREDUCE_1346508100_40, ugi=jzyc/bigdser4#JOIN.COM (auth:KERBEROS)]] with renewer yarn/bigdser1#JOIN.COM
INFO [2021-04-15 16:44:47,265] ({FIFOScheduler-interpreter_1099886208-Worker-1} DFSClient.java[getDelegationToken]:700) - Created token for jzyc: HDFS_DELEGATION_TOKEN owner=jzyc/bigdser4#JOIN.COM, renewer=yarn, realUser=, issueDate=1618476287222, maxDate=1619081087222, sequenceNumber=171, masterKeyId=21 on ha-hdfs:nameservice1
INFO [2021-04-15 16:44:47,273] ({FIFOScheduler-interpreter_1099886208-Worker-1} Logging.scala[logInfo]:57) - getting token for: DFS[DFSClient[clientName=DFSClient_NONMAPREDUCE_1346508100_40, ugi=jzyc/bigdser4#JOIN.COM (auth:KERBEROS)]] with renewer jzyc/bigdser4#JOIN.COM
INFO [2021-04-15 16:44:47,278] ({FIFOScheduler-interpreter_1099886208-Worker-1} DFSClient.java[getDelegationToken]:700) - Created token for jzyc: HDFS_DELEGATION_TOKEN owner=jzyc/bigdser4#JOIN.COM, renewer=jzyc, realUser=, issueDate=1618476287276, maxDate=1619081087276, sequenceNumber=172, masterKeyId=21 on ha-hdfs:nameservice1
INFO [2021-04-15 16:44:47,331] ({FIFOScheduler-interpreter_1099886208-Worker-1} Logging.scala[logInfo]:57) - Renewal interval is 86400051 for token HDFS_DELEGATION_TOKEN
INFO [2021-04-15 16:44:47,492] ({dispatcher-event-loop-0} Logging.scala[logInfo]:57) - Got an error when resolving hostNames. Falling back to /default-rack for all
INFO [2021-04-15 16:44:47,493] ({FIFOScheduler-interpreter_1099886208-Worker-1} Logging.scala[logInfo]:57) - Scheduling renewal in 18.0 h.
INFO [2021-04-15 16:44:47,494] ({FIFOScheduler-interpreter_1099886208-Worker-1} Logging.scala[logInfo]:57) - Updating delegation tokens.
INFO [2021-04-15 16:44:47,521] ({FIFOScheduler-interpreter_1099886208-Worker-1} Logging.scala[logInfo]:57) - Updating delegation tokens for current user.
INFO [2021-04-23 11:49:29,658] ({qtp1640639994-103} ManagedInterpreterGroup.java[getOrCreateSession]:180) - Create Session: shared_session in InterpreterGroup: md-shared_process for user: anonymous
INFO [2021-04-23 11:49:29,659] ({qtp1640639994-103} InterpreterSetting.java[getOrCreateInterpreterGroup]:453) - Create InterpreterGroup with groupId: spark-shared_process for ExecutionContext{user='anonymous', noteId='2EYUV26VR', interpreterGroupId='null', defaultInterpreterGroup='spark', inIsolatedMode=false, startTime=}
INFO [2021-04-23 11:49:29,659] ({qtp1640639994-103} InterpreterSetting.java[createInterpreters]:823) - Interpreter org.apache.zeppelin.spark.SparkInterpreter created for user: anonymous, sessionId: shared_session
but I enable shiro.ini
in spark.jars
you need hdfs://bigdser1:8020/sparklib/tispark-assembly-2.3.14.jar
not
hdfs://bigdser1:8020/sparklib/*

Revenuecat products are null while testing and trying to design paywall

Trying to design the paywall following the example flutter app provided by RevenueCat and when I configure the offering are always null.
Running version purchases_flutter: ^1.1.1
Offerings.current = NULL <- this is my problem.
In Google console the app ids are: com.sampleapp.moments.1month, com.sampleapp.moments.yearly and are both active.
How can I go about testing and designing a paywall page if the offerings are null? How can I get this to work?
Error code, following the example: https://github.com/RevenueCat/purchases-flutter/blob/develop/example/lib/main.dart
[ ] D/[Purchases] - DEBUG(14481): Requesting products with identifiers: com.sampleapp.moments.1month, com.appname.moments.yearly
[ +82 ms] D/[Purchases] - DEBUG(14481): Products request finished for com.sampleapp.moments.1month, com.sampleapp.moments.yearly
[ ] D/[Purchases] - DEBUG(14481): Retrieved skuDetailsList:
[ ] D/[Purchases] - DEBUG(14481): Requesting products with identifiers: com.sampleapp.moments.1month, com.sampleapp.moments.yearly
[ ] D/[Purchases] - DEBUG(14481): Products request finished for com.sampleapp.moments.1month, com.sampleapp.moments.yearly
[ ] D/[Purchases] - DEBUG(14481): Retrieved skuDetailsList:
[+3804 ms] D/[Purchases] - DEBUG(14481): Vending purchaserInfo from cache
[ +99 ms] D/[Purchases] - DEBUG(14481): Vending offerings from cache
If your products, offerings, or packages are empty it's most likely related to a configuration or setup issue in Apple/Google.
On Android, you need to publish your app to a closed track before you can fetch any products or test purchases - that could be what's going on here.
There is a a handy guide here that outlines the common reasons for this here: https://support.revenuecat.com/hc/en-us/articles/360041793174-Why-are-my-products-offerings-or-available-packages-empty-

xDB not storing any Interactions

Update: So the issue was that my application Global.asax.cs did not derive from Sitecore.Web.Application.
So I have just installed Sitecore 8 with MongoDB 2.6.11.
For test purposes I placed the code below in page load event to activate the goal I have created earlier in sitecore.
The goal was created successfully via deploy and publish. I have also confirmed the item id of the goal is correct.
if (Sitecore.Analytics.Tracker.IsActive && Sitecore.Analytics.Tracker.Current.CurrentPage != null)
{
Sitecore.Data.Items.Item GoaltoTrigger = Sitecore.Context.Database.GetItem("{EDA8EA2C-7AF5-4D0F-AF76-A9C4E6BD7169}");
if (GoaltoTrigger != null)
{
Sitecore.Analytics.Data.Items.PageEventItem registerthegoal = new Sitecore.Analytics.Data.Items.PageEventItem(GoaltoTrigger);
Sitecore.Analytics.Model.PageEventData eventData = Sitecore.Analytics.Tracker.Current.CurrentPage.Register(registerthegoal);
eventData.Data = GoaltoTrigger["Description"];
Sitecore.Analytics.Tracker.Current.Interaction.AcceptModifications();
}
}
Session.Abandon();
Sadly this did not work and I can not see the goal in xDB under Interactions.
Other things I have looked into is that my layout definitely has the tag
<sc:VisitorIdentification runat="server" />
my Global.asax implements Sitecore.Web.Application
public class Global : Sitecore.Web.Application
Yet no luck. The Interactions are no where to be seen in Mongo (using mongo shell and roboMongo to look up the collection). Am I missing something else?
Sitecore Error
ManagedPoolThread #3 16:43:00 INFO Job ended: Sitecore.ListManagement.Analytics.UnlockContactListsAgent (units processed: )
12980 16:43:05 INFO Cache created: '[no name]' (max size: 976KB, running total: 2918MB)
12980 16:43:05 INFO Cache created: '[no name]' (max size: 976KB, running total: 2919MB)
12980 16:43:05 INFO Cache created: '[no name]' (max size: 976KB, running total: 2920MB)
12980 16:43:05 INFO Cache created: '[no name]' (max size: 976KB, running total: 2921MB)
12980 16:43:05 INFO Cache created: '[no name]' (max size: 976KB, running total: 2922MB)
ManagedPoolThread #5 16:43:06 ERROR Failed to perform MaxMind lookup
ManagedPoolThread #5 16:43:06 ERROR Failed to perform GeoIp lookup for 127.0.0.1
Exception: Sitecore.Analytics.Lookups.CannotParseResponseException
Message: Unexpected format. Cannot parse the MaxMind response for IP address: 127.0.0.1
Source: Sitecore.Analytics
at Sitecore.Analytics.Lookups.MaxMindProvider.GetInformationByIp(String ip)
at Sitecore.Analytics.Lookups.GeoIpManager.GetDataFromLookupProvider(GeoIpHandle geoIpHandle)
12980 16:43:08 INFO Cache created: 'WebUtil.QueryStringCache' (max size: 19KB, running total: 2922MB)
2700 16:43:08 INFO HttpModule is being initialized
12360 16:43:08 INFO HttpModule is being initialized
7068 16:43:08 INFO HttpModule is being initialized
9940 16:43:10 INFO [Experience Analytics]: Reduce agent found zero segments to process
ManagedPoolThread #1 16:43:10 INFO Job started: Sitecore.ListManagement.Analytics.UnlockContactListsAgent
ManagedPoolThread #1 16:43:10 INFO Job ended: Sitecore.ListManagement.Analytics.UnlockContactListsAgent (units processed: )
Triggering goals
First of all, this is the correct way to trigger a goal:
if (Sitecore.Analytics.Tracker.IsActive)
{
if (Sitecore.Analytics.Tracker.Current.CurrentPage != null)
{
var goalId = new Sitecore.Data.ID("{EDA8EA2C-7AF5-4D0F-AF76-A9C4E6BD7169}");
Sitecore.Analytics.Data.Items.PageEventItem goalToTrigger =
Sitecore.Analytics.Tracker.DefinitionItems.PageEvents[goalId];
if (goalToTrigger != null)
{
Sitecore.Analytics.Model.PageEventData eventData =
Sitecore.Analytics.Tracker.Current.CurrentPage.Register(goalToTrigger);
}
else
{
Sitecore.Diagnostics.Log.Error("Goal with ID " + goalId + " does not exist", this);
}
}
else
{
Sitecore.Diagnostics.Log.Error("Tracker.Current.CurrentPage is null", this);
}
}
else
{
Sitecore.Diagnostics.Log.Warn("The tracker is not active. Unable to register the goal.", this);
}
You should not attempt to change the event data after you've registered it.
Also, you should not call Interaction.AcceptModifications(), as this method is something xDB uses internally at some point.
CurrentPage.Register() is the only thing that you need to do.
Ending the session
I don't recommend using Session.Abandon(). It will probably result in saving your interaction to the collection database, but this way you are disrupting the normal flow of Sitecore's session. One of the problems that this may lead to is that the interaction's contact will remain locked for 21 minutes (or whatever your session timeout is set to + 1 minute).
Instead, for testing purposes, I recommend you to set session timeout to 1 minute and just wait for 1 minute after your last page request. This setting is located in the Web.config as an attribute of <sessionState>.
Troubleshooting interaction saving issues
Make sure that the analytics connection string is set properly.
Make sure that you have a license for xDB. You can see the list of available licenses in Sitecore Control Panel –> Administration –> Installed licenses.
a) In Sitecore 8.0 or lower, the license name is Sitecore.OMS.
b) In Sitecore 8.1 it's Sitecore.xDB.base.
Make sure that xDB and its tracking subsystem are enabled.
a) In Sitecore 8.0 or lower, Analytics.Enabled should be set to true in the Sitecore.Analytics.config.
b) In Sitecore 8.1, both Xdb.Enabled and Xdb.Tracking.Enabled should be set to true in the Sitecore.Xdb.config.
Tracking should also be enabled on site definitions.
a) In Sitecore 8.0 or lower, go to the <sites> section in the Web.config and check that enableAnalytics is not set to false on <site name="website"> or whatever site you are using.
b) In Sitecore 8.1, you should ensure that enableTracking is set to true for your site in the Sitecore.config.
Try making several page requests instead of just one before letting the session to expire.
Try disabling robot detection by setting both Analytics.Robots.IgnoreRobots and Analytics.AutoDetectBots to false in the Sitecore.Analytics.Tracking.config. If interactions are saved after this, I will update my answer with further instructions.
If nothing helps, go through the steps listed in the article Troubleshooting xDB data issues.