I'd like to limit access to my app (in Codeigniter) for beta users. Wondering if anyone knows of a library, spark or other option that can help me get started.
Would prefer not to reinvent the wheel if there's something out there already. My searches on Google and other resources haven't yielded anything.
Just use ANY of the Authentication libraries - and add a field called "Beta Code" on the registration page. If "beta code = your secret beta code" then allow registration. If the code is incorrect, then dont allow them to sign up.
You could extend if further when you are ready to go live, and turn it into a "promotion code", and if code = X, then apply 10% discount, extra free time etc (if this is a paid service when you go live).
Related
I've enabled a G Suite Marketplace SDK but initially I set the Visibility to "My Domain" so I could test in isolation on my domain. Now I want to set it to Public but that setting is disabled.
Warning: Once you select and save a visibility setting, you cannot change it later. (https://developers.google.com/gsuite/marketplace/sdk)
However I can't even disable/delete that API configuration and recreate it, so I can set it to public.
Is there any way to change this GSuite Marketplace API configuration to Public? (without having to tear down the entire Google Project and all it's API configurations and start over... seems there should be a better way)
Thanks
Try to access your Developer Dashboard and click the edit part of your item. You can check there if you can set the visibility option of your item.
I think once you change it, it will undergo a manual review and you need to wait some time to be approve.
I contacted Google support and confirmed that the only way to resolve this is to create an entirely new app and choose Public the first time you save it. I hope that helps.
I'm using James Montemagno's Plugin.InAppBilling library for Xamarin to do iOS and Android in-app subscriptions. It has worked mostly correctly so far, except that once in a while, on iOS only, InAppBillingPurchase.PurchaseToken comes back null from calls to PurchaseAsync and GetPurchasesAsync.
For example, in my Restore Purchases logic, I have code similar to this:
var purchases = await CrossInAppBilling.Current.GetPurchasesAsync(ItemType.Subscription);
// Sometimes we receive purchases with no PurchaseToken.
// Can't verify the purchase without a token.
var verifiable = purchases.Where(p => !string.IsNullOrWhiteSpace(p.PurchaseToken));
At this point, verifiable sometimes has a different count (0) than purchases (1).
So far, this has seemed to happen when the user purchased using either store credit or a gift card, and only on iOS.
Also, I'm not sure if this bears on the problem, but I am not using the overloads of PurchaseAsync and GetPurchasesAsync which take IInAppBillingVerifyPurchase, because I use server-side verification exclusively (no client-side verification). My workflow is to make the purchase, add the resulting InAppPurchase object to a queue for processing, and then send it to our server as a separate step, for validation and association with the user's account. However, if this is not a valid workflow or if it is known that sometimes PurchaseToken data will be available via IInAppBillingVerifyPurchase.VerifyPurchase but not attached to the InAppBillingPurchase objects returned from the methods above, I would certainly like to know about that. (For what it's worth, I've read the documentation and don't see anything that suggests this.)
Thanks in advance for any help.
Okay, I think I've learned enough to provide useful information for anyone else dealing with this issue.
First, I've figured out what Apple means by "iOS 6 style" and "iOS 7 style" receipts. These do not refer to the version of iOS that creates the receipts. (My up-to-date iOS 12 device still can and does generate "iOS 6 style" receipts.) Instead, these refer to two different receipt formats that were introduced in the respective iOS versions.
iOS 6 style receipts come from SKPaymentTransaction.transactionReceipt and contain information about one specific transaction. This field is now deprecated by Apple.
iOS 7 style receipts come from the app bundle, via the location named in NSBundle.mainBundle.appStoreReceiptUrl. These receipts contain a full manifest of all purchases ever made by the user. The receipts don't expire either -- you can always send them to Apple for validation (though, obviously, individual transactions contained within might show as expired in the response). These are the receipts you should prefer.
The reason this is important is that if you're using the Plugin.InAppBilling library, the InAppBillingPurchase object you get from calling something like PurchaseAsync contains the deprecated iOS 6 style receipt in its PurchaseToken field.
I'm still not sure why it is sometimes present and sometimes null, but seeing as the underlying source of the data is deprecated, it's probably safe to assume that this can and will happen. Therefore, it probably makes sense to cut over to the iOS 7 style receipts as soon as possible.
Note that when you call PurchaseAsync, if you specify an implementation of IInAppBillingVerifyPurchase, your IInAppBillingVerifyPurchase.VerifyPurchase method will receive the newer iOS7 receipt instead. However, the InAppBillingPurchase object returned by PurchaseAsync still gets an iOS 6 style receipt (if it gets anything at all).
Personally, I like the InAppBillingPurchase object itself. It has useful information packed into a convenient package. Since I want to keep the serialized InAppBillingPurchase objects in a queue so that I can retry validation if there are problems with our servers, connectivity, etc, what I'm doing is immediately replacing the PurchaseToken property with the iOS 7 style receipt that I manually retrieve from the bundle.
If you do this, be sure that your code handles the slightly different formats of the iOS 6 and iOS 7 receipts properly. (Our earlier attempts had some errors stemming from not properly understanding what these terms meant.)
I hope this is useful to someone out there. Good luck!
I'm having some trouble with the GCP console, hopefully someone can point me in the right direction.
A couple of days ago I generated some API Keys and was able to restrict their validity scope by target API. The form looked like this, and I was able to restrict keys to apply on my GAE private APIs only:
whereas today the righthand side tab has disappeared on me and I can only apply "Application restrictions" (IP range, referrer, etc..) and I can see merely the following menu.
I was and still am the owner of the project, and I'm not aware of any change in roles/project config/etc.. (although I can't 100% rule them out)
There is next to zero documentation about the mysterious "API restrictions" tab. Hope someone can help.
Many thanks in advance
F
This feature has been removed temporarly because was causing issues with the Google Maps API.
API already created making use of these restriction will not work and the workaround is to remove them and recreate them with no restriction.
https://issuetracker.google.com/issues/69715011
Please star the bug to add your vote and subscribe to notifications from Google. Hopefully they will fix the issue soon.
I am trying to add applications into Brooklyn catalog. can anyone explain steps to add a new application to catalog.xml?
I did try the sample catalog provided at https://brooklyn.incubator.apache.org/v/0.7.0-M1/use/guide/quickstart/policies-and-catalogs.html . The application gets listed in catalog tab but when I try to launch it, it gets stuck at 'configuring'. Is there something else that needs to be done ?
I tried adding existing application to catalog ( https://brooklyn.incubator.apache.org/v/latest/ops/catalog/index.html ) but it failed. Can anyone help me with this ?
I'd strongly recommend upgrading to 0.7.0-M2-incubating, as the catalog has significantly improved since 0.7.0-M1. The documentation at https://brooklyn.incubator.apache.org/v/latest/ops/catalog/index.html describes the steps for 0.7.0-M2-incubating; they will not work for 0.7.0-M1.
The link to an explicit version of the docs (rather than latest) is https://brooklyn.incubator.apache.org/v/0.7.0-M2-incubating/ops/catalog/index.html
There are also more improvements in snapshot (and in existing pull requests), if you fancy trying the bleeding edge!
For the 0.7.0-M1 error "gets stuck at configuring", we'd need more info (e.g. logs, etc). Suggest you e-mail the mailing list or jump on IRC if it's still a problem (https://brooklyn.incubator.apache.org/community/mailing-lists.html).
I tried publish my app: http://pomidoro.codeplex.com/ on Windows Store and certification failed because:
'Your app doesn't meet requirement 1.1.
Comment from tester: This app didn't appear to provide value or didn't seem useful to the reviewer.'
Is that means that I do not have any chances to publish it anymore?
No, you can make some tweaks and publish again. Here are some thoughts:
It may be an issue of marketing, and modifying the description that you submit with your application will fix the issue. Your description at http://pomidoro.codeplex.com is pretty good, but maybe you could add some data around how it helps you work more efficiently in case the reviewers aren't familiar with Pomodoro. There are tips on writing a good description/app listing here.
Otherwise, you could add some extra features to the app so it's more than just a timer. Can the user record their whole To Do list in the app, and then choose what to focus on during the pomodoro from that? Or, allow them to rank each pomodoro as effective/not effective after the timer goes off and keep historical data so they can see what times of day they are most effective? And so on...
Here is the first post in a blog post series on common certification failures for the Windows Store and how to fix them which might also be useful.
Good luck!