I wonder does the subscriptions (Microsoft Graph API) have a limited or unlimited lifetime? Is there any related documentation or guidance available for this... I failed to find one.
Yes, Subscriptions in Microsoft Graph have a limited lifetime.
For a list of maximum expiration times, see Maximum length of
subscription per resource type documentation.
Apps need to renew their subscriptions before the expiration time. Otherwise, they need to create a new subscription. Apps can also unsubscribe at any time to stop getting change notifications. Clients can create subscriptions, renew subscriptions, and delete subscriptions.
Related
I have created my first app and I am almost ready to submit it to the Appstore. I have spent the entirety of the last few months of quarantine focusing on this app so I am implementing a subscription in app purchase in order to repay my efforts while simultaneously adding value to my customers. There is great probability that this app will succeed.
I would like to offer 1 month, 6 months, and 12 month subscriptions. I have looked into auto-renewing subscriptions but when it comes to checking the subscription status of a user I have quickly noticed how complicated everything is with Apple's encrypted receipts.
I would like to offer subscriptions but it seem that I will be unable to offer auto-renewing subscriptions as I have absolutely no clue how to decrypt and parse Apple's receipts and resources online seem feeble.
Would it be best/easiest to have my subscriptions as non-renewable or even consumables? This way I could track my users subscription status on my own backend without the added layer of complexity that comes with parsing encrypted data from Apple.
From a business perspective, notifying a user that their subscription is ending is certainly not as effective as auto-renewing it. Will there be a noticeable difference in revenue if I set my subscriptions to consumables or non-renewing?
I thank the community ahead of time for its insights.
In your case, if you don't want to waste your time on handling auto-renewable subscriptions, you can use subscriptions backend as a service like ours or competitor's: Apphud or RevenueCat. We do exactly what you need. Hope that helps, thanks.
Auto renewable subscriptions would be the best option for you in terms of revenue. Although customers are notified by the apple itself for renewal deduction so you just need a backend services which will be keep on tracking on extending the user subscriptions through the initial receipt stored in your databases.
You need to use meta data from the receipt under key "latest_receipt" to get the latest update in the subscription.
Below is the link for reference.
https://developer.apple.com/documentation/storekit/in-app_purchase/validating_receipts_with_the_app_store#//apple_ref/doc/uid/TP40010573-CH104-SW1
I am writing a non-renewable subscription module for my new application. It includes 1 month, 3 month and 6 month subscription period. I do not understand, how to set expiry date using icloud. Any help would be appreciated?
For Apple, there is no "within the validity period" for non-renewing subscriptions. The duration of the period, fortunately or unfortunately, is left up to the developer.
Subscription validity/expiry date is up to the developer.
It seems common for developers to use their own server to track the expiry period of a non-renewing subscription.
"So if When you use iCloud for restoration you should have to manage expiry date on your own server..."
Non-renewable subscriptions. Subscriptions that don’t involve
delivering episodic content. Examples include access to a database of
historic photos or a collection of flight maps. It’s your app’s
responsibility to make the subscription available on all of the user’s
devices and to let users restore the purchase. This product type is
often used when your users already have an account on your server that
you can use to identify them when restoring content. Expiration and
the duration of the subscription are also left to your app (or your
server) to implement and enforce.
https://developer.apple.com/library/ios/documentation/NetworkingInternet/Conceptual/StoreKitGuide/Chapters/Products.html
Hope it help you.
I have an iOS app with different auto-renewal subscription possibilities, and I want to offer it's user the chance to earn a free month when they invite friends to the app.
I know how to handle the scenario where I'd give a free month to a user that's not already subscribed, but I'm wondering how to handle a user that's in the middle of a year-long paid subscription and should receive a free month..
EDIT
Make sure to read budiDino reply below, it seems this is now possible (Full disclosure, I haven't tried it myself but I did glance over the references linked).
OLD ANSWER
Ok, after some digging and asking around on Apple's forums I can confirm it's not possible.
The only way to achieve this is to give users a free month outside of Apple's subscription process...meaning users should turn off auto renewal to enjoy those free months.
Whether this is good or bad for your app depends, but it required that the user manually turns off auto-renewal while using the earner out of charge time, and then turn it on to get back into the normal auto-renewal flow handled by Apple.
You can maintain a value like additionalMonths on your server side.
So once his subscription period gets over, you can check for the value of additionalMonths and accordingly provide him subscription for those number of months.
1. Promotional Offers
This option allows you to add a free or discounted price for a period that you specify and it will be executed before the next payment cycle. You can use this feature starting with iOS 12.2.
Apple Documentation:
You can provide lapsed or current subscribers a limited-time offer of a discounted or free period of service for auto-renewable subscriptions on macOS, iOS, and tvOS.
Some useful links:
Implementing Promotional Offers in Your App
Set up promotional offers for auto-renewable subscriptions
Subscription Offers Best Practices video - WWDC 2019.
2. Offer Codes
Apple Documentation:
Offer codes can help you acquire, retain, and win back subscribers by providing a subscription at a discount or for free for a limited time.
Read more
3. "Extend a Subscription Renewal Date" endpoint:
Potentially simpler alternative that is not really suggested to use for this use-case. It has certain limitations though:
you can move the renewal date for a customer’s subscription up to 90 days into the future for each extension
you can extend the renewal date twice within a year (365 days) per customer
The following types of subscriptions aren’t eligible for renewal date extensions:
Subscriptions in a free offer period
Inactive subscriptions in a billing retry state
Subscriptions in a grace period state, with an expiration date in the past
Subscriptions that have already received two renewal date extensions within the last 365 days
Read more
I have some queries on Microsoft Translator API
1.If i use trial period before characters limit will be over am i going to get any emails from the configured email in datamarket.azure.com. I have seen that notifications will appear in our account when our subscription balance is 15% of our monthly limit and when our balance is completely finished, but i think these notifications will display in our www.datamarket.azure.com account. It's not good to check our account regular basis.So is there any other approach which is maintaining by Microsoft?
2.is there any specific limited characters or transactions per day for paid service also?
I referred this link but i didn't get much details
https://datamarket.azure.com/help-overview-purchasing-subcribing-data-apps#x_taxes
Please provide me the answers for the above queries.
Microsoft translator Support has sent a response for the above queries as follows
1.At this time the notification for low balances only appear in your Windows Azure Marketplace account. The email notification for low balances is a priority feature that we expect to be included in a future release of Marketplace. If you subscribe to a paid monthly subscription, a new feature for paid Translator API subscribers called ‘Auto-Refill’ was added last week and you may find this to be useful depending on your usage scenario.
If you enable this feature for your paid Translator API subscription, you allow Marketplace to automatically refill your subscription if your remaining balance reaches 10% or less of your monthly subscription limit. More information on Auto-Refill can be found here.
2.You are currently able to translate a maximum of 10000 characters per request, but we recommend keeping each request between 2000 and 5000 characters to optimize response times.
Although I searched a lot on this site and used Google as well, I cannot find a good solution for my problem.
I'm creating an app that offers a paid web service as an option. I would like give away a initial period of this service and link this to the purchase date of the app.
The Daily app is doing something similar. After downloading the app, you can read The Daily for two weeks for free. After that time, you have to subscribe.
Your help would be highly appreciated!
From Apple's developer guidelines:
Apps using IAP to purchase physical goods or goods and services used outside of the application will be rejected
If your premium web service is at all useable outside the app itself, in-app-purchase won't be a solution, so you'll have to implement the logic on your server, based on user names, etc.
If, however, it's simply a web service that iOS accesses—think if Instagram offered a paid upgrade in the days before their Android app—then you could use IAP subscriptions to do the trick. Again, from Apple's documentation:
Auto-renewable subscriptions are delivered to all of a user’s devices in the same way as non-consumable products. However, auto-renewable subscriptions differ in other ways. When you create an auto-renewable subscription in iTunes Connect, you choose the duration of the subscription. The App Store automatically renews the subscription each time its term expires. If the user chooses to not allow the subscription to be renewed, the user’s access to the subscription is revoked after the subscription expires. Your application is responsible for validating whether a subscription is currently active and can also receive an updated receipt for the most recent transaction.
As a side note, it looks like Apple are about to implement free trials, but haven't quite done it yet (there are some interesting hints in some of the documentation, but there's not an option when creating an IAP subscription yet).
I suggest you put some UI in that invites users to subscribe to the free service, and save that YES/NO answer along with the [NSDate date] in a defaults variable synced to iCloud. This means that it will be tied to their Apple ID, and can't easily be deleted by removing the app—next time they install it, you can restore that preference key.
Then, once the trial period is up, bring up your custom UI (since all the IAP UI is custom!) that gives people the chance to subscribe to an ongoing service using the auto-renewable subscription.