I have an iOS App and I would like to develop a Watch app so that you can do basic tasks from the watch.
The iOS App is free, but I would like to have the Watch App as “in app purchase”, is that possible?
Yes, you can have a watchOS application as an “in-app purchase”. In essence, the watch app would be installed but won’t do much until the corresponding iOS app enables it via an in-app purchase.
Some apps have been doing this for a while. One example is the 1Password password manager, at the time before it went to subscription pricing. Another is the Nano app, which is a Reddit client for the Apple Watch.
1Password 6 for iOS has an in-app purchase that unlocks its corresponding watchOS app along with a number “pro” features. The watchOS app can be installed but would just display an icon and a message to unlock it from the iPhone. The iOS app is universal — meaning it also works on iPad and iPod touch, which in turn cannot manage an Apple Watch. That is probably a reason to bundle the watch app purchase with other features.
Nano for iOS is essentially a watchOS-only app. The iOS side is present only to deliver the watchOS app and configures it, with no other functionality. It is delivered through the iOS App Store for free with an in-app purchase to unlock the watchOS app. Without a purchase, the watchOS app only shows a small number of subreddits (i.e. “forum” in Reddit parlance). In turn completing in-app purchase from the iOS app enables an unlimited number of subreddits.
When you have a watchOS app as an in-app purchase, remember to make sure that the user has an Apple Watch in order to complete the purchase. Otherwise an accidental purchase would just cause angry customers (and support burden for yourself). There are at least three guard cases that you need to watch out for:
- User does not have an Apple Watch.
- User is running the app from an iPod touch.
- User is running the app from an iPad.
One sure way to cater for all of these three conditions is to make sure that the user has installed the watchOS app first before enabling the in-app purchase option. The flow could go like this:
- User install watchOS app.
- The watchOS app launch and signals through WatchConnectivity that it is ready.
- The iOS app receives the signal from the watchOS app and enables the in-app purchase for the watch.
- After the in-app purchase flow is completed, the iOS app signals its watchOS app to enable itself.
The above flow also ensures that the user enables the watchOS app only through the iPhone that manages the watch. This would be useful for users having more than one iPhone. Remember that an iPhone can manage multiple watches but a watch can only be paired to a single iPhone at a time, as of watchOS 5.
That said, the upcoming watchOS 6 would have its own App Store and watchOS apps can optionally be standalone, without being delivered through an iOS app. This would likely mean having in-app purchases done on the watch itself for standalone apps. If these “standalone apps” are successful, it could mean a fully independent Apple Watch without being tethered to an iPhone in subsequent releases of watchOS.