Shopify : User maintain product at cart page - ruby-on-rails

I have an doubt and explain with example.
User A, logged into the site and added the 3 ( Ball, bat and pen) products in Cart page and then logged out form the site.
Few days later, the Same User A, logged into the site using other devices or browser( Not same browser). On that case we need to display the same 3 ( Ball, bat and pen) products in Cart page.
How to implement this process to out site. please give the solution for this scenario.
Thanks,
Karthik

When your user added items to a cart in the first instance, the contents of the cart were tied to a cookie. You know how cookies work right? So when you used a second device and logged in as that same user, you did not have that same cart cookie right? So obviously you cannot expect to have the same cart on two different devices. If you did want to support that, you would have to figure out how to persist the cart per user yourself, and ensure that any logged in users used that to sync their cart.

I found two application for this process. please check it !
1) https://apps.shopify.com/remember-my-cart
Working process:
When a customer who may have logged in and started shopping on one device (e.g. their mobile), logs into your store on another device later (e.g. their laptop), they'll find their cart waiting for them, making it easier and more likely for them to complete their order.
2) https://apps.shopify.com/portable-cart
Working process:
Shareable Cart gives your site a “Share and Save Cart” button. When your customers press that button they’ll get a view of their shopping cart where they can share their whole cart in a single link or any products in their shopping cart on Facebook, Twitter, Pinterest, WhatsApp, Tumbler and more.
Let us know your thoughts.
Thanks,
Karthik

Related

When I use requestReview function of StoreKit, is there any way to know if the user has clicked on Submit or Not Now or Cancel button?

I am using the SKStoreKitReviewController in 10.3 and above to request a rating of the app. The alert is displayed. However, I need to implement a logic, wherein, if the user has already rated the app for one major release then I should not ask the user again for rating. Hence, is there a way to know that the user has successfully submitted the rating? Also, I would want to know if the user clicked on "Not now", so that I can prompt them again for rating after a few days. Is there a way to know this?
According to this Apple Developer page, you cannot prompt a user more than three times in a year.
Give users an easy way to provide feedback on the App Store without leaving your app using the SKStoreReviewController API. You can prompt for ratings up to three times in a 365-day period.

SKStore​Review​Controller: How to get written reviews?

At first SKStore​Review​Controller looks great: An easy and standardized way to ask users for a review. However SKStore​Review​Controller only allows the user to rate the app by giving it 1 to 5 stars. But am I supposed to engage the user to leave a written review in the store? Is this possible using SKStore​Review​Controller as well?
Or do I have to do this manually, e.g. by prompting something like "Thanks for rating the App, would you like to write a review as well"? I doubt that many users would be happy to perform another action after they just rated the app...
Wouldn't prompting for a written review would conflict with Apples guidelines not to prompt the user without using SKStore​Review​Controller?
Users cannot add a review though SKStoreReviewController.
It is also not possible for you to know if your requestReview() call actually resulted in a rate alert being presented. If the user has already rated the app recently, requestReview() will silently fail. Because of this, it is not advised to perform UI changes relying on the existence of an SKStoreReviewController.
I believe the suggested method for letting users review your app is to add a dedicated "Review App" button that deep links to your app in the App Store. This should be prompted by the user, and not the product of an alert.
To automatically open a page on which users can write a review in the App Store, append the query parameter action=write-review to your product URL.

iOS development different user permissions get different features

Can I have one app that changes depending on user permissions. For example if I were a paying user I would be able to login to the same app and ONLY be able to SEE and play tetris, however, if i were a free user i would login to a free account and ONLY be able to SEE and play pong. Essentially having two apps put into one and a person can choose between the two games by logging in or logging out. If so, how can I approach this?
edit: I have a custom TBC involved. Is it possible that it changes too depending on a user's permission?
edit2: Sorry... Also Would it make my app unreasonably big and slow? Since I would have so many more MVC objects (essentially at least twice the size since I would need to create an object for a subscriber and a freeuser?)
There are several ways to achieve this, all you need is to create and store some specific flag, for example isUserPremium and check it on the initial view controller or in AppDelegate. Than depending on it you can lead user to different view controllers.
You can put in-app Purchase inside your app. You can put Consumable In-App Purchase. And then with NSUserDefaults value, you can show respective games to user. Eg, if their value is false then show pong game otherwise show tetris game. For more details on how to integrate in-app Purchases follow this Raywenderlich's tutorial

iOS In App non-renewed subscription bought multiple times

I'm trying to implement the in app purchase mechanism for my app and have a hard time to figure out the right way.
My app provides a service which can be used for as many items the users wants. He can add more over the time as he wish. The service is a yearly service.
From what i understood in the documentations it should be a non-renewing subscription.
The issue is that let's say a user bought the service for item A.
After a week a wants to add a second item to the service,item B. Then when he buys it ios pops up a window and says he already bought it and asks if he wants to renew.
This window isn't correct ! he hadn't bought the service for item B but for item A. This would confuse my users very much and i really need to avoid this.
I've looked and found also no solution to switch subscriptions, for example between a product called "Manage 1 item" to product called "Manage 2 items" which could have been a solution.
Another solution would be to create multiple in app products with the exact name and description and manage which one to buy from within the app. Would that be ok with apple ?
How should i handle in app purchase for my application needs ?
Thank you,
Tom
First of all, have you read iOS In App guide? This should be first stop for you. Secondly, you cannot have two In App products with the same id, so I don't get why adding second product would prompt user about already purchased product? Could you clarify that? In general, if I buy your product, you should keep data about my purchase and i.e. block this feature, so I it will be enabled once again only when I cancel subscription/my subscription expired.
Not sure about non-renewing, but it seems quite fit for situation, I guess. You can always consider buying consumable and store somewhere information how long you enable some features. Plus, when user buys a subscription he/she cannot get money back (except few scenarios, like mistake), so once you decide you don't need it, you cancel it. This way you can detect in receipt if product expired or not, but user cannot just swap in middle time from one product to another.

In App Purchase - Authenticating Old Test User

So I thought I had in-app purchase working, but my app sometimes triggers a popup user authentication action sheet with an old test user autopopulated in the action sheet. I've been creating test users with a sequential number, just because that's easy, and I can keep track of how old the users are. My current test user is #4. New test users were generally created because the old users were invalidated somehow.
Anyway, I sometimes get the popup screen for testuser #1 still (as well as #3). I figure that's because the transaction being looked at was originally dealt with using that user. But shouldn't these popups stop after the transaction is finalized using finishTransaction:?
What should I be checking? I assume I must have left something in limbo somewhere even though the products with downloads have been downloaded and all the products that were bought were finished (albeit with a different user since the original one was invalidated).
I guess what must be happening is that unfinished transactions remain on the Apple server. I can't finish the transactions because the test users used were invalidated by accidental use in production. I will try deleting those users on the theory that deleting the users will also delete the pending transactions.

Resources