Adapting App Clips for iOS 17 Privacy Changes
I've been developing a new iOS application called "AI TranslateChat", designed to facilitate conversations in users' native languages using the latest AI translation technologies. Right from the initiation of the development process, I've been excited about incorporating App Clips into this project.
These compact previews offer users a taste of the app's functionality, providing a brief insight without the commitment of a full installation. App Clips were the perfect solution for grabbing the attention of potential users and expanding TranslateChat's outreach.
However, my excitement encountered a setback with the release of iOS 17 and its unforeseen consequences. The security measures introduced in this update automatically stripped tracking parameters from URLs in Safari, Messages, and Mail – a seemingly minor alteration that presents a substantial challenge for App Clip developers.
I had meticulously crafted an App Clip URL, incorporating a parameter to add a personalized touch for users. In the pre-iOS 17 era, this link smoothly conveyed the intended information. However, post-update, users sharing the link via SMS, Safari, or Mail would discover the parameter missing:
Before iOS 17: example.com/clip?code=123
After iOS 17: example.com/clip.html
This unintended consequence not only disrupted my app clips for TranslateChat but also created an obstacle for users keen on sharing the app's distinctive features with their friends and contacts. Faced with this challenge, I had to reconsider my strategy to maintain personalization within the new privacy constraints of iOS 17.
Identifying this bug was challenging, but the solution was straightforward and required a slight adjustment in the approach to URL structures. Instead of relying on parameters susceptible to iOS 17's automatic removal, I chose to embed essential information directly into the URL. This transformation turned out to be the workaround necessary to ensure that crucial details remained intact when shared through various channels:
Original URL: example.com/clip?code=123
Solution URL: example.com/code/123
I hope this proves helpful for anyone grappling with why their app clips aren't functioning as intended. While the automatic removal of tracking parameters in iOS 17 posed a curveball for TranslateChat's App Clip, my simple solution seems to be working. Feel free to contact me and share any tips or tricks you may have. Also, give my new app a try at https://www.translatechat.app.
Better yet, experience my iOS App Clip that allows you to chat with me in Japanese: https://www.translatechat.app/code/ROWM7Z3QG4.