@amplitude/wizard 1.1.0 → 1.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (259) hide show
  1. package/dist/bin.js +47 -11
  2. package/dist/src/frameworks/javascript-node/javascript-node-wizard-agent.js +11 -1
  3. package/dist/src/frameworks/react-router/react-router-wizard-agent.js +65 -8
  4. package/dist/src/frameworks/vue/vue-wizard-agent.js +6 -1
  5. package/dist/src/lib/agent-interface.js +46 -0
  6. package/dist/src/lib/agent-runner.js +112 -51
  7. package/dist/src/lib/api.d.ts +35 -0
  8. package/dist/src/lib/api.js +118 -0
  9. package/dist/src/lib/commandments.js +1 -0
  10. package/dist/src/lib/constants.d.ts +1 -1
  11. package/dist/src/lib/constants.js +1 -1
  12. package/dist/src/lib/credential-resolution.js +7 -0
  13. package/dist/src/lib/framework-config.d.ts +9 -0
  14. package/dist/src/lib/mcp-with-fallback.d.ts +43 -0
  15. package/dist/src/lib/mcp-with-fallback.js +220 -0
  16. package/dist/src/lib/version-check.d.ts +17 -0
  17. package/dist/src/lib/version-check.js +72 -0
  18. package/dist/src/lib/wizard-session.d.ts +22 -7
  19. package/dist/src/lib/wizard-session.js +5 -3
  20. package/dist/src/run.d.ts +18 -1
  21. package/dist/src/run.js +104 -15
  22. package/dist/src/ui/agent-ui.d.ts +2 -0
  23. package/dist/src/ui/agent-ui.js +10 -0
  24. package/dist/src/ui/logging-ui.d.ts +2 -0
  25. package/dist/src/ui/logging-ui.js +6 -0
  26. package/dist/src/ui/tui/components/ConsoleView.js +14 -1
  27. package/dist/src/ui/tui/components/JourneyStepper.js +1 -3
  28. package/dist/src/ui/tui/flows.d.ts +0 -1
  29. package/dist/src/ui/tui/flows.js +1 -9
  30. package/dist/src/ui/tui/ink-ui.d.ts +2 -0
  31. package/dist/src/ui/tui/ink-ui.js +6 -0
  32. package/dist/src/ui/tui/screen-registry.js +0 -2
  33. package/dist/src/ui/tui/screens/DataIngestionCheckScreen.d.ts +5 -3
  34. package/dist/src/ui/tui/screens/DataIngestionCheckScreen.js +124 -4
  35. package/dist/src/ui/tui/screens/OutroScreen.js +12 -3
  36. package/dist/src/ui/tui/store.d.ts +22 -3
  37. package/dist/src/ui/tui/store.js +52 -18
  38. package/dist/src/ui/tui/utils/diagnostics.js +1 -3
  39. package/dist/src/ui/wizard-ui.d.ts +8 -0
  40. package/dist/src/utils/analytics.d.ts +15 -0
  41. package/dist/src/utils/analytics.js +37 -0
  42. package/dist/src/utils/setup-utils.js +6 -1
  43. package/package.json +2 -2
  44. package/skills/integration/integration-android/SKILL.md +7 -10
  45. package/skills/integration/integration-android/references/amplitude-quickstart.md +1 -1
  46. package/skills/integration/integration-android/references/android.md +1468 -0
  47. package/skills/integration/integration-android/references/basic-integration-1.0-begin.md +3 -1
  48. package/skills/integration/integration-android/references/basic-integration-1.1-edit.md +183 -0
  49. package/skills/integration/integration-android/references/basic-integration-1.3-conclude.md +81 -11
  50. package/skills/integration/integration-angular/SKILL.md +6 -8
  51. package/skills/integration/integration-angular/references/amplitude-quickstart.md +1 -1
  52. package/skills/integration/integration-angular/references/basic-integration-1.0-begin.md +3 -1
  53. package/skills/integration/integration-angular/references/basic-integration-1.1-edit.md +183 -0
  54. package/skills/integration/integration-angular/references/basic-integration-1.3-conclude.md +81 -11
  55. package/skills/integration/integration-angular/references/browser-sdk-2.md +67 -20
  56. package/skills/integration/{integration-swift/references/analytics.md → integration-angular/references/browser-unified-sdk.md} +591 -157
  57. package/skills/integration/integration-astro-hybrid/SKILL.md +6 -13
  58. package/skills/integration/integration-astro-hybrid/references/amplitude-quickstart.md +1 -1
  59. package/skills/integration/integration-astro-hybrid/references/basic-integration-1.0-begin.md +3 -1
  60. package/skills/integration/integration-astro-hybrid/references/basic-integration-1.1-edit.md +183 -0
  61. package/skills/integration/integration-astro-hybrid/references/basic-integration-1.3-conclude.md +81 -11
  62. package/skills/integration/integration-astro-hybrid/references/browser-sdk-2.md +67 -20
  63. package/skills/integration/{integration-android/references/analytics.md → integration-astro-hybrid/references/browser-unified-sdk.md} +591 -157
  64. package/skills/integration/integration-astro-ssr/SKILL.md +6 -11
  65. package/skills/integration/integration-astro-ssr/references/amplitude-quickstart.md +1 -1
  66. package/skills/integration/integration-astro-ssr/references/basic-integration-1.0-begin.md +3 -1
  67. package/skills/integration/integration-astro-ssr/references/basic-integration-1.1-edit.md +183 -0
  68. package/skills/integration/integration-astro-ssr/references/basic-integration-1.3-conclude.md +81 -11
  69. package/skills/integration/integration-astro-ssr/references/browser-sdk-2.md +67 -20
  70. package/skills/integration/{integration-javascript_node/references/analytics.md → integration-astro-ssr/references/browser-unified-sdk.md} +591 -157
  71. package/skills/integration/integration-astro-static/SKILL.md +6 -8
  72. package/skills/integration/integration-astro-static/references/amplitude-quickstart.md +1 -1
  73. package/skills/integration/integration-astro-static/references/basic-integration-1.0-begin.md +3 -1
  74. package/skills/integration/integration-astro-static/references/basic-integration-1.1-edit.md +183 -0
  75. package/skills/integration/integration-astro-static/references/basic-integration-1.3-conclude.md +81 -11
  76. package/skills/integration/integration-astro-static/references/browser-sdk-2.md +67 -20
  77. package/skills/integration/integration-astro-static/references/browser-unified-sdk.md +2212 -0
  78. package/skills/integration/integration-astro-view-transitions/SKILL.md +6 -10
  79. package/skills/integration/integration-astro-view-transitions/references/amplitude-quickstart.md +1 -1
  80. package/skills/integration/integration-astro-view-transitions/references/basic-integration-1.0-begin.md +3 -1
  81. package/skills/integration/integration-astro-view-transitions/references/basic-integration-1.1-edit.md +183 -0
  82. package/skills/integration/integration-astro-view-transitions/references/basic-integration-1.3-conclude.md +81 -11
  83. package/skills/integration/integration-astro-view-transitions/references/browser-sdk-2.md +67 -20
  84. package/skills/integration/integration-astro-view-transitions/references/browser-unified-sdk.md +2212 -0
  85. package/skills/integration/integration-django/SKILL.md +5 -16
  86. package/skills/integration/integration-django/references/amplitude-quickstart.md +1 -1
  87. package/skills/integration/integration-django/references/basic-integration-1.0-begin.md +3 -1
  88. package/skills/integration/integration-django/references/basic-integration-1.1-edit.md +183 -0
  89. package/skills/integration/integration-django/references/basic-integration-1.3-conclude.md +81 -11
  90. package/skills/integration/integration-django/references/python.md +1 -1
  91. package/skills/integration/integration-expo/SKILL.md +8 -13
  92. package/skills/integration/integration-expo/references/amplitude-quickstart.md +1 -1
  93. package/skills/integration/integration-expo/references/basic-integration-1.0-begin.md +3 -1
  94. package/skills/integration/integration-expo/references/basic-integration-1.1-edit.md +183 -0
  95. package/skills/integration/integration-expo/references/basic-integration-1.3-conclude.md +81 -11
  96. package/skills/integration/integration-expo/references/react-native-sdk.md +11 -10
  97. package/skills/integration/integration-fastapi/SKILL.md +5 -16
  98. package/skills/integration/integration-fastapi/references/amplitude-quickstart.md +1 -1
  99. package/skills/integration/integration-fastapi/references/basic-integration-1.0-begin.md +3 -1
  100. package/skills/integration/integration-fastapi/references/basic-integration-1.1-edit.md +183 -0
  101. package/skills/integration/integration-fastapi/references/basic-integration-1.3-conclude.md +81 -11
  102. package/skills/integration/integration-fastapi/references/python.md +1 -1
  103. package/skills/integration/integration-flask/SKILL.md +5 -15
  104. package/skills/integration/integration-flask/references/amplitude-quickstart.md +1 -1
  105. package/skills/integration/integration-flask/references/basic-integration-1.0-begin.md +3 -1
  106. package/skills/integration/integration-flask/references/basic-integration-1.1-edit.md +183 -0
  107. package/skills/integration/integration-flask/references/basic-integration-1.3-conclude.md +81 -11
  108. package/skills/integration/integration-flask/references/python.md +1 -1
  109. package/skills/integration/integration-javascript_node/SKILL.md +6 -12
  110. package/skills/integration/integration-javascript_node/references/amplitude-quickstart.md +1 -1
  111. package/skills/integration/integration-javascript_node/references/basic-integration-1.0-begin.md +3 -1
  112. package/skills/integration/integration-javascript_node/references/basic-integration-1.1-edit.md +183 -0
  113. package/skills/integration/integration-javascript_node/references/basic-integration-1.3-conclude.md +81 -11
  114. package/skills/integration/integration-javascript_node/references/node.md +1457 -0
  115. package/skills/integration/integration-javascript_web/SKILL.md +7 -16
  116. package/skills/integration/integration-javascript_web/references/amplitude-quickstart.md +1 -1
  117. package/skills/integration/integration-javascript_web/references/basic-integration-1.0-begin.md +3 -1
  118. package/skills/integration/integration-javascript_web/references/basic-integration-1.1-edit.md +183 -0
  119. package/skills/integration/integration-javascript_web/references/basic-integration-1.3-conclude.md +81 -11
  120. package/skills/integration/integration-javascript_web/references/browser-sdk-2.md +67 -20
  121. package/skills/integration/integration-javascript_web/references/browser-unified-sdk.md +2212 -0
  122. package/skills/integration/integration-laravel/SKILL.md +5 -11
  123. package/skills/integration/integration-laravel/references/amplitude-quickstart.md +1 -1
  124. package/skills/integration/integration-laravel/references/analytics.md +1 -1
  125. package/skills/integration/integration-laravel/references/basic-integration-1.0-begin.md +3 -1
  126. package/skills/integration/integration-laravel/references/basic-integration-1.1-edit.md +183 -0
  127. package/skills/integration/integration-laravel/references/basic-integration-1.3-conclude.md +81 -11
  128. package/skills/integration/integration-nextjs-app-router/SKILL.md +6 -13
  129. package/skills/integration/integration-nextjs-app-router/references/amplitude-quickstart.md +1 -1
  130. package/skills/integration/integration-nextjs-app-router/references/basic-integration-1.0-begin.md +3 -1
  131. package/skills/integration/integration-nextjs-app-router/references/basic-integration-1.1-edit.md +183 -0
  132. package/skills/integration/integration-nextjs-app-router/references/basic-integration-1.3-conclude.md +81 -11
  133. package/skills/integration/integration-nextjs-app-router/references/browser-sdk-2.md +67 -20
  134. package/skills/integration/integration-nextjs-app-router/references/browser-unified-sdk.md +2212 -0
  135. package/skills/integration/integration-nextjs-pages-router/SKILL.md +6 -13
  136. package/skills/integration/integration-nextjs-pages-router/references/amplitude-quickstart.md +1 -1
  137. package/skills/integration/integration-nextjs-pages-router/references/basic-integration-1.0-begin.md +3 -1
  138. package/skills/integration/integration-nextjs-pages-router/references/basic-integration-1.1-edit.md +183 -0
  139. package/skills/integration/integration-nextjs-pages-router/references/basic-integration-1.3-conclude.md +81 -11
  140. package/skills/integration/integration-nextjs-pages-router/references/browser-sdk-2.md +67 -20
  141. package/skills/integration/integration-nextjs-pages-router/references/browser-unified-sdk.md +2212 -0
  142. package/skills/integration/integration-nuxt-3.6/SKILL.md +6 -5
  143. package/skills/integration/integration-nuxt-3.6/references/EXAMPLE.md +1 -1
  144. package/skills/integration/integration-nuxt-3.6/references/amplitude-quickstart.md +1 -1
  145. package/skills/integration/integration-nuxt-3.6/references/basic-integration-1.0-begin.md +3 -1
  146. package/skills/integration/integration-nuxt-3.6/references/basic-integration-1.1-edit.md +183 -0
  147. package/skills/integration/integration-nuxt-3.6/references/basic-integration-1.3-conclude.md +81 -11
  148. package/skills/integration/integration-nuxt-3.6/references/browser-sdk-2.md +67 -20
  149. package/skills/integration/integration-nuxt-3.6/references/browser-unified-sdk.md +2212 -0
  150. package/skills/integration/integration-nuxt-4/SKILL.md +6 -5
  151. package/skills/integration/integration-nuxt-4/references/amplitude-quickstart.md +1 -1
  152. package/skills/integration/integration-nuxt-4/references/basic-integration-1.0-begin.md +3 -1
  153. package/skills/integration/integration-nuxt-4/references/basic-integration-1.1-edit.md +183 -0
  154. package/skills/integration/integration-nuxt-4/references/basic-integration-1.3-conclude.md +81 -11
  155. package/skills/integration/integration-nuxt-4/references/browser-sdk-2.md +67 -20
  156. package/skills/integration/integration-nuxt-4/references/browser-unified-sdk.md +2212 -0
  157. package/skills/integration/integration-python/SKILL.md +8 -13
  158. package/skills/integration/integration-python/references/amplitude-quickstart.md +1 -1
  159. package/skills/integration/integration-python/references/basic-integration-1.0-begin.md +3 -1
  160. package/skills/integration/integration-python/references/basic-integration-1.1-edit.md +183 -0
  161. package/skills/integration/integration-python/references/basic-integration-1.3-conclude.md +81 -11
  162. package/skills/integration/integration-python/references/python.md +1 -1
  163. package/skills/integration/integration-react-native/SKILL.md +8 -9
  164. package/skills/integration/integration-react-native/references/amplitude-quickstart.md +1 -1
  165. package/skills/integration/integration-react-native/references/basic-integration-1.0-begin.md +3 -1
  166. package/skills/integration/integration-react-native/references/basic-integration-1.1-edit.md +183 -0
  167. package/skills/integration/integration-react-native/references/basic-integration-1.3-conclude.md +81 -11
  168. package/skills/integration/integration-react-native/references/react-native-sdk.md +11 -10
  169. package/skills/integration/integration-react-react-router-6/SKILL.md +6 -12
  170. package/skills/integration/integration-react-react-router-6/references/amplitude-quickstart.md +1 -1
  171. package/skills/integration/integration-react-react-router-6/references/basic-integration-1.0-begin.md +3 -1
  172. package/skills/integration/integration-react-react-router-6/references/basic-integration-1.1-edit.md +183 -0
  173. package/skills/integration/integration-react-react-router-6/references/basic-integration-1.3-conclude.md +81 -11
  174. package/skills/integration/integration-react-react-router-6/references/browser-sdk-2.md +67 -20
  175. package/skills/integration/integration-react-react-router-6/references/browser-unified-sdk.md +2212 -0
  176. package/skills/integration/integration-react-react-router-7-data/SKILL.md +6 -12
  177. package/skills/integration/integration-react-react-router-7-data/references/amplitude-quickstart.md +1 -1
  178. package/skills/integration/integration-react-react-router-7-data/references/basic-integration-1.0-begin.md +3 -1
  179. package/skills/integration/integration-react-react-router-7-data/references/basic-integration-1.1-edit.md +183 -0
  180. package/skills/integration/integration-react-react-router-7-data/references/basic-integration-1.3-conclude.md +81 -11
  181. package/skills/integration/integration-react-react-router-7-data/references/browser-sdk-2.md +67 -20
  182. package/skills/integration/integration-react-react-router-7-data/references/browser-unified-sdk.md +2212 -0
  183. package/skills/integration/integration-react-react-router-7-declarative/SKILL.md +6 -12
  184. package/skills/integration/integration-react-react-router-7-declarative/references/amplitude-quickstart.md +1 -1
  185. package/skills/integration/integration-react-react-router-7-declarative/references/basic-integration-1.0-begin.md +3 -1
  186. package/skills/integration/integration-react-react-router-7-declarative/references/basic-integration-1.1-edit.md +183 -0
  187. package/skills/integration/integration-react-react-router-7-declarative/references/basic-integration-1.3-conclude.md +81 -11
  188. package/skills/integration/integration-react-react-router-7-declarative/references/browser-sdk-2.md +67 -20
  189. package/skills/integration/integration-react-react-router-7-declarative/references/browser-unified-sdk.md +2212 -0
  190. package/skills/integration/integration-react-react-router-7-framework/SKILL.md +6 -12
  191. package/skills/integration/integration-react-react-router-7-framework/references/amplitude-quickstart.md +1 -1
  192. package/skills/integration/integration-react-react-router-7-framework/references/basic-integration-1.0-begin.md +3 -1
  193. package/skills/integration/integration-react-react-router-7-framework/references/basic-integration-1.1-edit.md +183 -0
  194. package/skills/integration/integration-react-react-router-7-framework/references/basic-integration-1.3-conclude.md +81 -11
  195. package/skills/integration/integration-react-react-router-7-framework/references/browser-sdk-2.md +67 -20
  196. package/skills/integration/integration-react-react-router-7-framework/references/browser-unified-sdk.md +2212 -0
  197. package/skills/integration/integration-react-tanstack-router-code-based/SKILL.md +6 -14
  198. package/skills/integration/integration-react-tanstack-router-code-based/references/amplitude-quickstart.md +1 -1
  199. package/skills/integration/integration-react-tanstack-router-code-based/references/basic-integration-1.0-begin.md +3 -1
  200. package/skills/integration/integration-react-tanstack-router-code-based/references/basic-integration-1.1-edit.md +183 -0
  201. package/skills/integration/integration-react-tanstack-router-code-based/references/basic-integration-1.3-conclude.md +81 -11
  202. package/skills/integration/integration-react-tanstack-router-code-based/references/browser-sdk-2.md +67 -20
  203. package/skills/integration/integration-react-tanstack-router-code-based/references/browser-unified-sdk.md +2212 -0
  204. package/skills/integration/integration-react-tanstack-router-file-based/SKILL.md +6 -14
  205. package/skills/integration/integration-react-tanstack-router-file-based/references/amplitude-quickstart.md +1 -1
  206. package/skills/integration/integration-react-tanstack-router-file-based/references/basic-integration-1.0-begin.md +3 -1
  207. package/skills/integration/integration-react-tanstack-router-file-based/references/basic-integration-1.1-edit.md +183 -0
  208. package/skills/integration/integration-react-tanstack-router-file-based/references/basic-integration-1.3-conclude.md +81 -11
  209. package/skills/integration/integration-react-tanstack-router-file-based/references/browser-sdk-2.md +67 -20
  210. package/skills/integration/integration-react-tanstack-router-file-based/references/browser-unified-sdk.md +2212 -0
  211. package/skills/integration/integration-react-vite/SKILL.md +6 -12
  212. package/skills/integration/integration-react-vite/references/amplitude-quickstart.md +1 -1
  213. package/skills/integration/integration-react-vite/references/basic-integration-1.0-begin.md +3 -1
  214. package/skills/integration/integration-react-vite/references/basic-integration-1.1-edit.md +183 -0
  215. package/skills/integration/integration-react-vite/references/basic-integration-1.3-conclude.md +81 -11
  216. package/skills/integration/integration-react-vite/references/browser-sdk-2.md +67 -20
  217. package/skills/integration/integration-react-vite/references/browser-unified-sdk.md +2212 -0
  218. package/skills/integration/integration-ruby/SKILL.md +6 -10
  219. package/skills/integration/integration-ruby/references/amplitude-quickstart.md +1 -1
  220. package/skills/integration/integration-ruby/references/analytics.md +1 -1
  221. package/skills/integration/integration-ruby/references/basic-integration-1.0-begin.md +3 -1
  222. package/skills/integration/integration-ruby/references/basic-integration-1.1-edit.md +183 -0
  223. package/skills/integration/integration-ruby/references/basic-integration-1.3-conclude.md +81 -11
  224. package/skills/integration/integration-ruby-on-rails/SKILL.md +5 -14
  225. package/skills/integration/integration-ruby-on-rails/references/amplitude-quickstart.md +1 -1
  226. package/skills/integration/integration-ruby-on-rails/references/analytics.md +1 -1
  227. package/skills/integration/integration-ruby-on-rails/references/basic-integration-1.0-begin.md +3 -1
  228. package/skills/integration/integration-ruby-on-rails/references/basic-integration-1.1-edit.md +183 -0
  229. package/skills/integration/integration-ruby-on-rails/references/basic-integration-1.3-conclude.md +81 -11
  230. package/skills/integration/integration-sveltekit/SKILL.md +6 -6
  231. package/skills/integration/integration-sveltekit/references/amplitude-quickstart.md +1 -1
  232. package/skills/integration/integration-sveltekit/references/basic-integration-1.0-begin.md +3 -1
  233. package/skills/integration/integration-sveltekit/references/basic-integration-1.1-edit.md +183 -0
  234. package/skills/integration/integration-sveltekit/references/basic-integration-1.3-conclude.md +81 -11
  235. package/skills/integration/integration-sveltekit/references/browser-sdk-2.md +67 -20
  236. package/skills/integration/integration-sveltekit/references/browser-unified-sdk.md +2212 -0
  237. package/skills/integration/integration-swift/SKILL.md +9 -10
  238. package/skills/integration/integration-swift/references/amplitude-quickstart.md +1 -1
  239. package/skills/integration/integration-swift/references/basic-integration-1.0-begin.md +3 -1
  240. package/skills/integration/integration-swift/references/basic-integration-1.1-edit.md +183 -0
  241. package/skills/integration/integration-swift/references/basic-integration-1.3-conclude.md +81 -11
  242. package/skills/integration/integration-swift/references/ios.md +1480 -0
  243. package/skills/integration/integration-tanstack-start/SKILL.md +6 -17
  244. package/skills/integration/integration-tanstack-start/references/amplitude-quickstart.md +1 -1
  245. package/skills/integration/integration-tanstack-start/references/basic-integration-1.0-begin.md +3 -1
  246. package/skills/integration/integration-tanstack-start/references/basic-integration-1.1-edit.md +183 -0
  247. package/skills/integration/integration-tanstack-start/references/basic-integration-1.3-conclude.md +81 -11
  248. package/skills/integration/integration-tanstack-start/references/browser-sdk-2.md +67 -20
  249. package/skills/integration/integration-tanstack-start/references/browser-unified-sdk.md +2212 -0
  250. package/skills/integration/integration-vue-3/SKILL.md +6 -5
  251. package/skills/integration/integration-vue-3/references/amplitude-quickstart.md +1 -1
  252. package/skills/integration/integration-vue-3/references/basic-integration-1.0-begin.md +3 -1
  253. package/skills/integration/integration-vue-3/references/basic-integration-1.1-edit.md +183 -0
  254. package/skills/integration/integration-vue-3/references/basic-integration-1.3-conclude.md +81 -11
  255. package/skills/integration/integration-vue-3/references/browser-sdk-2.md +67 -20
  256. package/skills/integration/integration-vue-3/references/browser-unified-sdk.md +2212 -0
  257. package/skills/taxonomy/amplitude-chart-dashboard-plan/SKILL.md +183 -0
  258. package/dist/src/ui/tui/screens/ChecklistScreen.d.ts +0 -12
  259. package/dist/src/ui/tui/screens/ChecklistScreen.js +0 -111
@@ -0,0 +1,1480 @@
1
+ <!--production-->
2
+
3
+ <!doctype html>
4
+ <html lang="en">
5
+ <head>
6
+ <meta name='zd-site-verification' content='od3rs5oc4ggcruhipz6rp' />
7
+ <meta charset="utf-8">
8
+
9
+
10
+ <meta http-equiv="X-UA-Compatible" content="IE=edge">
11
+ <meta name="viewport" content="width=device-width, initial-scale=1">
12
+ <meta content="" name="description">
13
+ <meta name="google-site-verification" content="UHLjtoO7DV30dx3hVhwTOIWguEUr_VzS41msmq-uYKA" />
14
+
15
+ <link rel="apple-touch-icon" sizes="180x180" href="/docs/assets/general/apple-touch-icon.png">
16
+ <link rel="icon" type="image/png" sizes="32x32" href="/docs/assets/general/favicon-32x32.png">
17
+ <link rel="icon" type="image/png" sizes="16x16" href="/docs/assets/general/favicon-16x16.png">
18
+ <title>iOS | Amplitude</title>
19
+
20
+ <script type="application/ld+json">
21
+ {
22
+ "@context": "https://schema.org",
23
+ "@type": "WebPage",
24
+ "datePublished": "",
25
+ "dateModified": "May 15th, 2024",
26
+ "headline": "iOS",
27
+ "description": "",
28
+ "url": "/docs/sdks/analytics/ios",
29
+ "primaryImageOfPage": {
30
+ "@id": "/docs/assets/images/amplitude-default-seo.png"
31
+ },
32
+ "publisher": {
33
+ "@type": "Organization",
34
+ "name": "Amplitude",
35
+ "legalName": "Amplitude Inc.",
36
+ "url": "https://amplitude.com/",
37
+ "logo": {
38
+ "@type": "ImageObject",
39
+ "url": "https://amplitude.com/nextjs-public/amplitude-default-seo.png"
40
+ },
41
+ "address": {
42
+ "@type": "PostalAddress",
43
+ "streetAddress": "201 3rd St #200",
44
+ "addressLocality": "San Francisco",
45
+ "addressRegion": "CA",
46
+ "postalCode": "94103",
47
+ "addressCountry": "USA"
48
+ },
49
+ "contactPoint": {
50
+ "@type": "ContactPoint",
51
+ "contactType": "Customer Support",
52
+ "telephone": "[+650-988-5131]",
53
+ "email": "sales@amplitude.com"
54
+ },
55
+ "sameAs": [
56
+ "https://twitter.com/Amplitude_HQ",
57
+ "https://www.facebook.com/AmplitudeAnalytics/",
58
+ "https://www.linkedin.com/company/amplitude-analytics"
59
+ ]
60
+ }
61
+ }
62
+ </script>
63
+
64
+ <style>
65
+ /* Prism’s critical code-block styles only */
66
+ code[class*="language-"],
67
+ pre[class*="language-"] {
68
+ color: #2a2a2a;
69
+ background: #f5f2f0;
70
+ font-family:"IBM Plex Mono", Consolas, Menlo, monospace;
71
+ font-size: 0.9em;
72
+ white-space: pre;
73
+ /* …etc, just the essentials… */
74
+ }
75
+ </style>
76
+ <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/tocbot/4.25.0/tocbot.css">
77
+ <link href="/docs/css/site.css?id=6e2f9e1efe9343c4ba65666223648444" rel="stylesheet">
78
+ <link href="/docs/css/algolia.css?id=e343cc9490e043fefffa37d2817ddf8c" rel="stylesheet">
79
+ <link href="/docs/css/dracula-prism.css?id=a5713888be640854bb66b8b74c1037ce" rel="stylesheet">
80
+ <style>
81
+ pre[class*="language-"] code p {
82
+ all: unset; /* removes default block-level margins/padding */
83
+ display: inline; /* flow as if it were plain text */
84
+ }
85
+ </style>
86
+ <script src="/docs/js/site.js?id=078a82617f7dafffff92da951b4ec6c9"></script>
87
+ <script type="module" src="/docs/js/side-nav.js?id=b84c163c6c16a6a6b14fc85ee81c31e9"></script>
88
+ <script defer src="https://cdn.jsdelivr.net/npm/@alpinejs/collapse@3.x.x/dist/cdn.min.js"></script>
89
+ <script defer src="https://cdn.jsdelivr.net/npm/alpinejs@3.13.5/dist/cdn.min.js"></script>
90
+ <link rel="preconnect" href="https://93SYI9HL20-dsn.algolia.net" crossorigin />
91
+ <script src="https://unpkg.com/@amplitude/experiment-js-client@1.9.0/dist/experiment.umd.js"></script>
92
+ <style>
93
+ [x-cloak] {
94
+ display: none !important;
95
+ }
96
+ .copy-btn {
97
+ height: 24px;
98
+ position: absolute;
99
+ top: 0.5rem;
100
+ right: 0.5rem;
101
+ z-index: 10;
102
+ background: transparent;
103
+ border: none;
104
+ cursor: pointer;
105
+ padding: 0.25rem;
106
+ opacity: 0.6;
107
+ transition: opacity 0.2s;
108
+ }
109
+
110
+ .copy-btn:hover {
111
+ opacity: 1;
112
+ }
113
+ </style>
114
+ <script src="https://cdn.amplitude.com/script/8ec8f5cbeaf93a6717831a55add2d7a4.js"></script>
115
+ <script src="https://cdn.amplitude.com/script/8ec8f5cbeaf93a6717831a55add2d7a4.engagement.js"></script>
116
+
117
+ <script>
118
+ window.amplitude.add(window.sessionReplay.plugin({
119
+ sampleRate: 0.5
120
+ }));
121
+ window.amplitude.init('8ec8f5cbeaf93a6717831a55add2d7a4', {
122
+ "fetchRemoteConfig": true,
123
+ "autocapture": {
124
+ "attribution": {
125
+ "excludeInternalReferrers": true,
126
+ },
127
+ "pageViews": true,
128
+ "sessions": true,
129
+ "formInteractions": true,
130
+ "fileDownloads": true,
131
+ "elementInteractions": true,
132
+ "pageUrlEnrichment": true,
133
+ "webVitals": true,
134
+ },
135
+ });
136
+
137
+ window.amplitude.add(window.engagement.plugin())
138
+
139
+ function checkAuthenticatedUser() {
140
+ try {
141
+ const AMP_PREFIX = 'AMP_';
142
+ const currUserId = amplitude.getUserId();
143
+
144
+ if (!currUserId) {
145
+ // Iterate through all amplitude cookies within amplitude domain
146
+ const amplitudeCookies = getCookies(AMP_PREFIX);
147
+
148
+ for (let [cookieName, cookieValue] of amplitudeCookies.map((cookies) => cookies.split('='))) {
149
+ const [deviceId, userId] = cookieValue.split('.');
150
+
151
+ try {
152
+ const userSession = JSON.parse(decodeURIComponent(atob(cookieValue)))
153
+ if (userSession && userSession.userId) {
154
+ amplitude.setUserId(userSession.userId);
155
+ break;
156
+ }
157
+ } catch {}
158
+ }
159
+ }
160
+ } catch (e) {
161
+ console.error(e);
162
+ }
163
+ }
164
+
165
+ function getCookies(prefix) {
166
+ try {
167
+ const cookieArray = document.cookie.split(';').map((c) => c.trimStart());
168
+ let values = [];
169
+ for (let cookie of cookieArray) {
170
+ while (cookie.charAt(0) === ' ') {
171
+ cookie = cookie.substring(1);
172
+ }
173
+ if (cookie.startsWith(prefix)) {
174
+ values.push(cookie.substring(name.length));
175
+ }
176
+ }
177
+ return values;
178
+ } catch (e) {
179
+ return [];
180
+ }
181
+ }
182
+
183
+ document.addEventListener("DOMContentLoaded", function () {
184
+ checkAuthenticatedUser();
185
+ });
186
+ </script>
187
+ <script>
188
+ function academyClick(link) {
189
+ amplitude.track('Academy link', {
190
+ 'destination': link,
191
+ '[Amplitude] Page URL': window.location.href
192
+ })
193
+ }
194
+ </script>
195
+ <!-- Preload consolidated glossary data -->
196
+
197
+
198
+ </head>
199
+ <body class="bg-gray-100 font-sans leading-normal text-gray-800 scroll-pt-24">
200
+ <div x-data="{ sidebarOpen: false }" class="container prose">
201
+ <div class="top-0 left-0 right-0 bg-white fixed z-10">
202
+ <div class="w-full pt-5 pl-5">
203
+ <div class="box-border">
204
+
205
+
206
+ <div class="box-border flex flex-row flex-nowrap items-center border-solid border-b border-black-200 h-12 px-4"
207
+ style="margin-left: -20px; margin-top: -20px;">
208
+ <div class="flex-auto mr-4"><a class="no-underline" href="/docs"><svg class="inline" xmlns="http://www.w3.org/2000/svg" width="102" height="22" viewBox="0 0 102 22" fill="none"><path d="M29.6006 4.30664L24.9824 15.8083H27.0328L27.9448 13.5064H32.8375L33.7338 15.8083H35.8324L31.222 4.30664H29.6006ZM28.6561 11.6698L30.3916 7.26636L32.1114 11.6698H28.6561Z" fill="#1E61F0"/><path d="M46.3273 7.61133C45.7724 7.61133 45.2618 7.7384 44.7934 7.99253C44.3251 8.24667 43.9778 8.59073 43.7515 9.02276C43.2724 8.08148 42.4381 7.61133 41.2486 7.61133C40.7695 7.61133 40.3081 7.71396 39.8643 7.9202C39.4206 8.12644 39.0615 8.45682 38.787 8.91036V7.77945H36.9541V15.8082H38.787V11.308C38.787 10.6668 38.9631 10.183 39.3153 9.85653C39.6676 9.53006 40.0916 9.36683 40.5865 9.36683C41.1355 9.36683 41.5684 9.53886 41.8862 9.8839C42.2039 10.2289 42.3623 10.703 42.3623 11.3071V15.8072H44.211V11.3071C44.211 10.6659 44.3861 10.182 44.7354 9.85555C45.0857 9.52908 45.5107 9.36585 46.0115 9.36585C46.5545 9.36585 46.9825 9.53788 47.2954 9.88292C47.6073 10.228 47.7637 10.702 47.7637 11.3061V15.8063H49.637V10.8975C49.637 9.89758 49.332 9.099 48.721 8.50276C48.11 7.90945 47.3121 7.61133 46.3273 7.61133Z" fill="#1E61F0"/><path d="M58.0913 8.17238C57.502 7.79802 56.8546 7.61133 56.1492 7.61133C55.5038 7.61133 54.9351 7.75013 54.4462 8.0287C53.9562 8.30727 53.5626 8.70509 53.2675 9.22412V7.78043H51.4346V18.6164H53.2675V14.3655C53.5636 14.8787 53.9562 15.2745 54.4462 15.5521C54.9361 15.8307 55.5038 15.9695 56.1492 15.9695C57.2206 15.9695 58.1297 15.5639 58.8784 14.7545C59.6261 13.9442 60 12.959 60 11.7987C60 11.0392 59.8288 10.3394 59.4874 9.6972C59.146 9.05502 58.6807 8.54675 58.0913 8.17238ZM57.4813 13.5181C57.0081 13.9911 56.4296 14.2277 55.7458 14.2277C55.0355 14.2277 54.4442 13.995 53.9739 13.5298C53.5026 13.0645 53.2675 12.4868 53.2675 11.7968C53.2675 11.0959 53.5026 10.5134 53.9739 10.0481C54.4452 9.58284 55.0355 9.35021 55.7458 9.35021C56.4296 9.35021 57.0081 9.58675 57.4813 10.0598C57.9556 10.5329 58.1917 11.1116 58.1917 11.7968C58.1927 12.4722 57.9556 13.045 57.4813 13.5181Z" fill="#1E61F0"/><path d="M63.287 4.30664H61.4541V15.8083H63.287V4.30664Z" fill="#1E61F0"/><path d="M66.9003 7.7793H65.0674V15.8081H66.9003V7.7793Z" fill="#1E61F0"/><path d="M65.996 4.04883C65.6733 4.04883 65.3959 4.16417 65.1647 4.39387C64.9335 4.62357 64.8174 4.89628 64.8174 5.21199C64.8174 5.53846 64.9325 5.81606 65.1647 6.04673C65.3959 6.27643 65.6733 6.39177 65.996 6.39177C66.3187 6.39177 66.5982 6.27643 66.8323 6.04673C67.0665 5.81703 67.1836 5.53846 67.1836 5.21199C67.1836 4.89628 67.0665 4.62357 66.8323 4.39387C66.5972 4.16417 66.3187 4.04883 65.996 4.04883Z" fill="#1E61F0"/><path d="M71.4538 5.62109H69.6051V7.77832H68.0713V9.51916H69.6051V12.7838C69.6051 13.7838 69.8737 14.554 70.4129 15.0936C70.951 15.6341 71.6751 15.9039 72.5842 15.9039C72.961 15.9039 73.2926 15.8716 73.5769 15.8071V14.1151C73.4107 14.1581 73.2109 14.1796 72.9797 14.1796C72.5055 14.1796 72.1336 14.0633 71.8621 13.8307C71.5905 13.5981 71.4538 13.2384 71.4538 12.7516V9.51916H73.5769V7.77832H71.4538V5.62109Z" fill="#1E61F0"/><path d="M80.6484 12.127C80.6484 12.7574 80.4673 13.2628 80.1033 13.643C79.7403 14.0223 79.2602 14.2129 78.662 14.2129C78.0697 14.2129 77.5935 14.0232 77.2324 13.643C76.8714 13.2638 76.6913 12.7584 76.6913 12.127V7.7793H74.8584V12.343C74.8584 13.471 75.1575 14.3575 75.7547 15.0017C76.3519 15.6458 77.1724 15.9684 78.2173 15.9684C78.7505 15.9684 79.2238 15.8452 79.638 15.5989C80.0522 15.3535 80.3886 15.0007 80.6474 14.5403V15.8081H82.496V7.7793H80.6474V12.127H80.6484Z" fill="#1E61F0"/><path d="M90.6406 9.19095C90.3445 8.68268 89.9549 8.29268 89.4699 8.01997C88.9858 7.74726 88.423 7.61139 87.7826 7.61139C87.0771 7.61139 86.4288 7.79613 85.8375 8.16463C85.2452 8.53313 84.7769 9.03847 84.4325 9.68065C84.0882 10.3228 83.916 11.0227 83.916 11.7822C83.916 12.5416 84.0882 13.2435 84.4325 13.8876C84.7769 14.5317 85.2452 15.04 85.8375 15.4114C86.4298 15.7829 87.0781 15.9686 87.7826 15.9686C88.423 15.9686 88.9858 15.8337 89.4699 15.5629C89.9539 15.2932 90.3445 14.9041 90.6406 14.3959V15.8073H92.4982V4.30664H90.6406V9.19095ZM89.9352 13.5269C89.464 13.9951 88.8786 14.2287 88.1791 14.2287C87.4953 14.2287 86.9168 13.9922 86.4435 13.5191C85.9693 13.046 85.7332 12.4674 85.7332 11.7822C85.7332 11.1087 85.9703 10.5349 86.4435 10.0619C86.9168 9.58877 87.4953 9.35223 88.1791 9.35223C88.8786 9.35223 89.464 9.58486 89.9352 10.0501C90.4065 10.5154 90.6416 11.0931 90.6416 11.7831C90.6406 12.4771 90.4055 13.0587 89.9352 13.5269Z" fill="#1E61F0"/><path d="M102 11.6218C102 10.8574 101.822 10.1664 101.466 9.54863C101.111 8.93088 100.633 8.45389 100.033 8.11667C99.4327 7.77945 98.7716 7.61133 98.0504 7.61133C97.286 7.61133 96.5854 7.79313 95.9469 8.15674C95.3094 8.52036 94.8057 9.01885 94.4367 9.65224C94.0678 10.2856 93.8838 10.9855 93.8838 11.7498C93.8838 12.5357 94.0678 13.2522 94.4367 13.8993C94.8057 14.5463 95.3104 15.0526 95.9509 15.4192C96.5914 15.7857 97.3017 15.9685 98.0829 15.9685C99.0785 15.9685 99.9256 15.7114 100.626 15.1983C101.326 14.6851 101.751 14.0058 101.902 13.1613H100.054C99.9729 13.5034 99.7535 13.782 99.3953 13.995C99.0372 14.2091 98.6112 14.3156 98.1153 14.3156C97.4749 14.3156 96.9505 14.1446 96.5412 13.8025C96.1319 13.4604 95.8682 12.9902 95.7502 12.3911H101.95C101.984 12.2474 102 11.9903 102 11.6218ZM95.7993 10.8271C95.9341 10.3345 96.189 9.95232 96.5668 9.67961C96.9436 9.4069 97.403 9.27006 97.9471 9.27006C98.4961 9.27006 98.9546 9.41374 99.3235 9.69916C99.6925 9.98555 99.9168 10.3609 99.9975 10.8262H95.7993V10.8271Z" fill="#1E61F0"/><path d="M9.3659 5.25304C9.30588 5.1768 9.24193 5.13477 9.16519 5.13477C9.1101 5.13868 9.05894 5.15627 9.01171 5.18559C8.44403 5.62642 7.6717 7.49628 7.03613 9.96336L7.59988 9.96727C8.70967 9.97998 9.85684 9.99269 10.9883 10.0093C10.6892 8.88133 10.4078 7.91463 10.1481 7.13072C9.76731 5.99101 9.51151 5.47785 9.3659 5.25304Z" fill="#1E61F0"/><path d="M10.6256 0.5C4.75792 0.5 0 5.22694 0 11.0564C0 16.886 4.75792 21.6129 10.6256 21.6129C16.4933 21.6129 21.2512 16.886 21.2512 11.0564C21.2512 5.22694 16.4933 0.5 10.6256 0.5ZM18.4689 10.9294C18.4394 11.0477 18.3666 11.163 18.2643 11.247C18.2515 11.2558 18.2387 11.2637 18.2259 11.2725L18.2131 11.2813L18.1875 11.2979L18.1659 11.3106C18.0852 11.3526 17.9947 11.3741 17.9012 11.3741H12.8659C12.9042 11.5393 12.9514 11.7299 12.9977 11.9342C13.2751 13.1169 14.0052 16.2623 14.7853 16.2623H14.8021H14.8109H14.8277C15.4337 16.2623 15.7456 15.3895 16.4284 13.4766L16.4372 13.4551C16.5484 13.1501 16.6724 12.8022 16.8042 12.4337L16.8386 12.3408C16.8898 12.2177 17.0305 12.1541 17.1545 12.2049C17.244 12.2392 17.3079 12.3281 17.3079 12.4259C17.3079 12.4513 17.304 12.4728 17.2991 12.4933L17.2696 12.5862C17.1968 12.8149 17.125 13.1247 17.0344 13.4854C16.6291 15.1559 16.0142 17.6787 14.444 17.6787H14.4312C13.4158 17.6699 12.8098 16.059 12.549 15.368C12.063 14.0787 11.696 12.7093 11.3419 11.379H6.71677L5.75653 14.4355L5.74374 14.4228C5.59911 14.6476 5.29608 14.715 5.0698 14.5714C4.92911 14.4824 4.84351 14.3299 4.84351 14.1647V14.1481L4.90353 13.8001C5.03536 13.0162 5.1977 12.1971 5.37676 11.3751H3.41397L3.40512 11.3663C3.0037 11.3067 2.72626 10.9343 2.78627 10.5355C2.8335 10.2256 3.07257 9.98028 3.37954 9.92456C3.45628 9.91576 3.53302 9.91185 3.60976 9.91576H3.70322C4.32207 9.92456 4.97928 9.93727 5.70438 9.94509C6.72464 5.82416 7.90625 3.72949 9.22067 3.72558C10.6286 3.72558 11.6744 6.90913 12.5107 10.0252L12.5146 10.0379C14.2305 10.0722 16.0653 10.123 17.8441 10.2501L17.9209 10.2588C17.9504 10.2588 17.976 10.2628 18.0065 10.2676H18.0153L18.0242 10.2716H18.0281C18.3321 10.3312 18.5328 10.6283 18.4689 10.9294Z" fill="#1E61F0"/></svg> <span class="hidden md:inline text-xs uppercase text-black-600 ml-2">documentation</span></a></div>
209
+ <div id="algolia-search-header"></div>
210
+ </div>
211
+
212
+ </div>
213
+ </div>
214
+
215
+ </div>
216
+ <div class="top-12 left-0 right-0 fixed bg-white z-10">
217
+ <div class="w-full overflow-scroll md:overflow-auto pt-5 pl-5">
218
+ <div class="box-border">
219
+
220
+ <div class="box-border flex flex-row flex-nowrap items-center border-solid border-b border-black-200 h-12 px-4 justify-start"
221
+ style="margin-left: -20px; margin-top: -20px;">
222
+
223
+
224
+ <div class="flex-initial mr-4 text-sm p-2 transition hover:bg-amp-blue-950 hover:rounded hover:p-2 relative"><a class="no-underline font-normal " href="/docs/get-started">Get Started</a></div>
225
+
226
+
227
+
228
+ <div class="flex-initial mr-4 text-sm p-2 transition hover:bg-amp-blue-950 hover:rounded hover:p-2 relative"><a class="no-underline font-normal " href="/docs/data">Data</a></div>
229
+
230
+
231
+
232
+ <div class="flex-initial mr-4 text-sm p-2 transition hover:bg-amp-blue-950 hover:rounded hover:p-2 relative"><a class="no-underline font-normal " href="/docs/analytics">Analytics</a></div>
233
+
234
+
235
+
236
+ <div class="flex-initial mr-4 text-sm p-2 transition hover:bg-amp-blue-950 hover:rounded hover:p-2 relative"><a class="no-underline font-normal " href="/docs/amplitude-ai">Amplitude AI</a></div>
237
+
238
+
239
+
240
+ <div class="flex-initial mr-4 text-sm p-2 transition hover:bg-amp-blue-950 hover:rounded hover:p-2 relative"><a class="no-underline font-normal " href="/docs/session-replay">Session Replay</a></div>
241
+
242
+
243
+
244
+ <div class="flex-initial mr-4 text-sm p-2 transition hover:bg-amp-blue-950 hover:rounded hover:p-2 relative"><a class="no-underline font-normal " href="/docs/guides-and-surveys">Guides and Surveys</a></div>
245
+
246
+
247
+
248
+ <div class="flex-initial mr-4 text-sm p-2 transition hover:bg-amp-blue-950 hover:rounded hover:p-2 relative"><a class="no-underline font-normal " href="/docs/assistant">AI Assistant</a></div>
249
+
250
+
251
+
252
+ <div class="flex-initial mr-4 text-sm p-2 transition hover:bg-amp-blue-950 hover:rounded hover:p-2 relative"><a class="no-underline font-normal " href="/docs/experiment-home">Experiment</a></div>
253
+
254
+
255
+
256
+ <div class="flex-initial mr-4 text-sm p-2 transition hover:bg-amp-blue-950 hover:rounded hover:p-2 relative"><a class="no-underline font-normal " href="/docs/admin">Admin</a></div>
257
+
258
+
259
+
260
+ <div class="flex-initial mr-4 text-sm p-2 inline w-max" x-data="{ open: false }"><button
261
+ @click="open = !open" class="font-normal -mb-[11px] text-[#111827]">Developers <svg class="inline fill-[#111827]" xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 20 20" fill="none"><g id="icon-chevron-down"><path id="Vector" d="M10.25 10.6338L13.8837 7L15 8.11625L10.25 12.8663L5.5 8.11625L6.61625 7L10.25 10.6338Z" fill="#5A5E68"/></g></svg></button>
262
+ <div x-cloak x-show="open" x-transition @click.outside="open = false" class="mt-4 py-2 right-4 sm:right-auto absolute border border-amp-gray-100 rounded flex flex-col shadow-lg top-4 bg-white w-48 p-4 font-normal z-20">
263
+
264
+ <a class="no-underline pl-4 py-2 font-light hover:bg-amp-blue-950 hover:rounded" href="/docs/sdks">SDKs</a>
265
+
266
+ <a class="no-underline pl-4 py-2 font-light hover:bg-amp-blue-950 hover:rounded" href="/docs/apis">APIs</a>
267
+
268
+ </div>
269
+ </div>
270
+
271
+
272
+
273
+ <div class="flex-initial mr-4 text-sm p-2 transition hover:bg-amp-blue-950 hover:rounded hover:p-2 relative"><a class="no-underline font-normal " href="/docs/partners">Partners</a></div>
274
+
275
+
276
+
277
+ <div class="flex-initial mr-4 text-sm p-2 transition hover:bg-amp-blue-950 hover:rounded hover:p-2 relative"><a class="no-underline font-normal " href="/docs/faq">FAQ</a></div>
278
+
279
+
280
+ </div>
281
+
282
+
283
+ </div>
284
+ </div>
285
+
286
+ </div>
287
+
288
+ <div
289
+ class="w-64 top-24 bg-white bottom-0 border-solid border-r border-black-200 -left-60 lg:left-0 lg:translate-x-0 lg:block z-10 fixed transition shadow overflow-visible lg:overflow-auto lg:overscroll-contain" :class="{ 'translate-x-[240px]': sidebarOpen }">
290
+ <button @click="sidebarOpen = !sidebarOpen" class="absolute lg:hidden left-0 z-50 w-4 translate-x-[245px] translate-y-8" :class="{ 'rotate-180': sidebarOpen, 'translate-x-[250px]' : sidebarOpen }"><svg xmlns="http://www.w3.org/2000/svg" width="21" height="24" viewBox="0 0 21 24" fill="none"><rect x="0.5" y="0.5" width="20" height="23" rx="3.5" fill="white"/><rect x="0.5" y="0.5" width="20" height="23" rx="3.5" stroke="#DEDFE2"/><g clip-path="url(#clip0_671_1270)"><path d="M11.007 11.8L8.09998 8.893L8.99298 8L12.793 11.8L8.99298 15.6L8.09998 14.707L11.007 11.8Z" fill="#1E2024"/></g><defs><clipPath id="clip0_671_1270"><rect width="16" height="16" fill="white" transform="translate(2.5 4)"/></clipPath></defs></svg></button>
291
+ <div class="h-full overflow-scroll overscroll-contain">
292
+
293
+ <amp-side-nav current-uri="/docs/sdks/analytics/ios" nav-title="analytics_sdks">
294
+
295
+
296
+
297
+
298
+ <amp-nav-item
299
+ title="Analytics SDKs"
300
+ url="/docs/sdks/analytics"
301
+ slug="analytics-sdks"
302
+ level="1"
303
+ >
304
+ </amp-nav-item>
305
+
306
+
307
+
308
+
309
+
310
+
311
+ <amp-nav-item
312
+ title="Browser"
313
+ slug="browser"
314
+ has-children
315
+ level="1">
316
+
317
+
318
+
319
+
320
+
321
+ <amp-nav-item
322
+ title="Browser Unified SDK"
323
+ url="/docs/sdks/analytics/browser/browser-unified-sdk"
324
+ slug="browser-unified-sdk"
325
+ parent-slug="browser"
326
+ level="2"
327
+ >
328
+ </amp-nav-item>
329
+
330
+
331
+
332
+
333
+
334
+
335
+
336
+ <amp-nav-item
337
+ title="Browser SDK 2"
338
+ slug="browser-sdk-2"
339
+ parent-slug="browser"
340
+ has-children
341
+ level="2">
342
+
343
+
344
+ <amp-nav-item
345
+ title="Browser SDK 2"
346
+ url="/docs/sdks/analytics/browser/browser-sdk-2"
347
+ slug="browser-sdk-2"
348
+ parent-slug="browser-sdk-2"
349
+
350
+ level="3"
351
+ >
352
+ </amp-nav-item>
353
+
354
+
355
+ <amp-nav-item
356
+ title="Ampli for Browser SDK 2.0"
357
+ url="/docs/sdks/analytics/browser/ampli-for-browser-sdk-2-0"
358
+ slug="ampli-for-browser-sdk-20"
359
+ parent-slug="browser-sdk-2"
360
+
361
+ level="3"
362
+ >
363
+ </amp-nav-item>
364
+
365
+
366
+ <amp-nav-item
367
+ title="Migrate from Browser SDK 1.0 to 2.0"
368
+ url="/docs/sdks/analytics/browser/migrate-from-browser-sdk-1-0-to-2-0"
369
+ slug="migrate-from-browser-sdk-10-to-20"
370
+ parent-slug="browser-sdk-2"
371
+
372
+ level="3"
373
+ >
374
+ </amp-nav-item>
375
+
376
+
377
+ <amp-nav-item
378
+ title="Cookies and consent management (Browser SDK)"
379
+ url="/docs/sdks/analytics/browser/cookies-and-consent-management"
380
+ slug="cookies-and-consent-management-browser-sdk"
381
+ parent-slug="browser-sdk-2"
382
+
383
+ level="3"
384
+ >
385
+ </amp-nav-item>
386
+
387
+ </amp-nav-item>
388
+
389
+
390
+
391
+
392
+
393
+
394
+
395
+ <amp-nav-item
396
+ title="Autocapture Plugin"
397
+ url="/docs/sdks/analytics/browser/autocapture-plugin"
398
+ slug="autocapture-plugin"
399
+ parent-slug="browser"
400
+ level="2"
401
+ >
402
+ </amp-nav-item>
403
+
404
+
405
+
406
+
407
+
408
+
409
+
410
+ <amp-nav-item
411
+ title="Browser SDK 1"
412
+ slug="browser-sdk-1"
413
+ parent-slug="browser"
414
+ has-children
415
+ level="2">
416
+
417
+
418
+ <amp-nav-item
419
+ title="Browser SDK 1"
420
+ url="/docs/sdks/analytics/browser/browser-sdk-1"
421
+ slug="browser-sdk-1"
422
+ parent-slug="browser-sdk-1"
423
+
424
+ level="3"
425
+ >
426
+ </amp-nav-item>
427
+
428
+
429
+ <amp-nav-item
430
+ title="Ampli for Browser SDK 1.0"
431
+ url="/docs/sdks/analytics/browser/ampli-for-browser-sdk-1-0"
432
+ slug="ampli-for-browser-sdk-10"
433
+ parent-slug="browser-sdk-1"
434
+
435
+ level="3"
436
+ >
437
+ </amp-nav-item>
438
+
439
+ </amp-nav-item>
440
+
441
+
442
+
443
+ </amp-nav-item>
444
+
445
+
446
+
447
+
448
+
449
+ <amp-nav-item
450
+ title="Android"
451
+ slug="android"
452
+ has-children
453
+ level="1">
454
+
455
+
456
+
457
+
458
+
459
+ <amp-nav-item
460
+ title="Android-Kotlin SDK"
461
+ url="/docs/sdks/analytics/android/android-kotlin-sdk"
462
+ slug="android-kotlin-sdk"
463
+ parent-slug="android"
464
+ level="2"
465
+ >
466
+ </amp-nav-item>
467
+
468
+
469
+
470
+
471
+
472
+
473
+
474
+ <amp-nav-item
475
+ title="Ampli for Android-Kotlin SDK"
476
+ url="/docs/sdks/analytics/android/ampli-for-android-kotlin-sdk"
477
+ slug="ampli-for-android-kotlin-sdk"
478
+ parent-slug="android"
479
+ level="2"
480
+ >
481
+ </amp-nav-item>
482
+
483
+
484
+
485
+ </amp-nav-item>
486
+
487
+
488
+
489
+
490
+
491
+ <amp-nav-item
492
+ title="Node"
493
+ slug="node"
494
+ has-children
495
+ level="1">
496
+
497
+
498
+
499
+
500
+
501
+ <amp-nav-item
502
+ title="Node.js SDK"
503
+ url="/docs/sdks/analytics/node/node-js-sdk"
504
+ slug="nodejs-sdk"
505
+ parent-slug="node"
506
+ level="2"
507
+ >
508
+ </amp-nav-item>
509
+
510
+
511
+
512
+
513
+
514
+
515
+
516
+ <amp-nav-item
517
+ title="Node.js Ampli Wrapper"
518
+ url="/docs/sdks/analytics/node/node-js-ampli-wrapper"
519
+ slug="nodejs-ampli-wrapper"
520
+ parent-slug="node"
521
+ level="2"
522
+ >
523
+ </amp-nav-item>
524
+
525
+
526
+
527
+ </amp-nav-item>
528
+
529
+
530
+
531
+
532
+
533
+ <amp-nav-item
534
+ title="Go"
535
+ slug="go"
536
+ has-children
537
+ level="1">
538
+
539
+
540
+
541
+
542
+
543
+ <amp-nav-item
544
+ title="Go SDK"
545
+ url="/docs/sdks/analytics/go/go-sdk"
546
+ slug="go-sdk"
547
+ parent-slug="go"
548
+ level="2"
549
+ >
550
+ </amp-nav-item>
551
+
552
+
553
+
554
+
555
+
556
+
557
+
558
+ <amp-nav-item
559
+ title="Ampli for Go"
560
+ url="/docs/sdks/analytics/go/ampli-for-go"
561
+ slug="ampli-for-go"
562
+ parent-slug="go"
563
+ level="2"
564
+ >
565
+ </amp-nav-item>
566
+
567
+
568
+
569
+ </amp-nav-item>
570
+
571
+
572
+
573
+
574
+
575
+ <amp-nav-item
576
+ title="Python"
577
+ slug="python"
578
+ has-children
579
+ level="1">
580
+
581
+
582
+
583
+
584
+
585
+ <amp-nav-item
586
+ title="Python SDK"
587
+ url="/docs/sdks/analytics-sdks/python/python-sdk"
588
+ slug="python-sdk"
589
+ parent-slug="python"
590
+ level="2"
591
+ >
592
+ </amp-nav-item>
593
+
594
+
595
+
596
+
597
+
598
+
599
+
600
+ <amp-nav-item
601
+ title="Ampli for Python SDK"
602
+ url="/docs/sdks/analytics-sdks/python/ampli-for-python-sdk"
603
+ slug="ampli-for-python-sdk"
604
+ parent-slug="python"
605
+ level="2"
606
+ >
607
+ </amp-nav-item>
608
+
609
+
610
+
611
+ </amp-nav-item>
612
+
613
+
614
+
615
+
616
+
617
+ <amp-nav-item
618
+ title="iOS"
619
+ slug="ios"
620
+ has-children
621
+ level="1">
622
+
623
+
624
+
625
+
626
+
627
+ <amp-nav-item
628
+ title="iOS Swift SDK"
629
+ url="/docs/sdks/analytics/ios/ios-swift-sdk"
630
+ slug="ios-swift-sdk"
631
+ parent-slug="ios"
632
+ level="2"
633
+ >
634
+ </amp-nav-item>
635
+
636
+
637
+
638
+
639
+
640
+
641
+
642
+ <amp-nav-item
643
+ title="Ampli for iOS Swift SDK"
644
+ url="/docs/sdks/analytics/ios/ampli-for-ios-swift-sdk"
645
+ slug="ampli-for-ios-swift-sdk"
646
+ parent-slug="ios"
647
+ level="2"
648
+ >
649
+ </amp-nav-item>
650
+
651
+
652
+
653
+
654
+
655
+
656
+
657
+ <amp-nav-item
658
+ title="Unified SDK for Swift"
659
+ url="/docs/sdks/analytics/ios/unified-sdk"
660
+ slug="unified-sdk-for-swift"
661
+ parent-slug="ios"
662
+ level="2"
663
+ >
664
+ </amp-nav-item>
665
+
666
+
667
+
668
+ </amp-nav-item>
669
+
670
+
671
+
672
+
673
+
674
+ <amp-nav-item
675
+ title="Flutter"
676
+ slug="flutter"
677
+ has-children
678
+ level="1">
679
+
680
+
681
+
682
+
683
+
684
+ <amp-nav-item
685
+ title="Flutter SDK 3"
686
+ url="/docs/sdks/analytics/flutter/flutter-sdk"
687
+ slug="flutter-sdk-3"
688
+ parent-slug="flutter"
689
+ level="2"
690
+ >
691
+ </amp-nav-item>
692
+
693
+
694
+
695
+
696
+
697
+
698
+
699
+ <amp-nav-item
700
+ title="Flutter SDK 4"
701
+ url="/docs/sdks/analytics/flutter/flutter-sdk-4"
702
+ slug="flutter-sdk-4"
703
+ parent-slug="flutter"
704
+ level="2"
705
+ >
706
+ </amp-nav-item>
707
+
708
+
709
+
710
+
711
+
712
+
713
+
714
+ <amp-nav-item
715
+ title="Flutter SDK 4.0 Migration Guide"
716
+ url="/docs/sdks/analytics/flutter/flutter-sdk-4-0-migration-guide"
717
+ slug="flutter-sdk-40-migration-guide"
718
+ parent-slug="flutter"
719
+ level="2"
720
+ >
721
+ </amp-nav-item>
722
+
723
+
724
+
725
+ </amp-nav-item>
726
+
727
+
728
+
729
+
730
+
731
+ <amp-nav-item
732
+ title="Java"
733
+ slug="java"
734
+ has-children
735
+ level="1">
736
+
737
+
738
+
739
+
740
+
741
+ <amp-nav-item
742
+ title="JRE Java SDK"
743
+ url="/docs/sdks/analytics/java/jre-java-sdk"
744
+ slug="jre-java-sdk"
745
+ parent-slug="java"
746
+ level="2"
747
+ >
748
+ </amp-nav-item>
749
+
750
+
751
+
752
+
753
+
754
+
755
+
756
+ <amp-nav-item
757
+ title="Ampli for Java SDK"
758
+ url="/docs/sdks/analytics/java/ampli-for-java-sdk"
759
+ slug="ampli-for-java-sdk"
760
+ parent-slug="java"
761
+ level="2"
762
+ >
763
+ </amp-nav-item>
764
+
765
+
766
+
767
+ </amp-nav-item>
768
+
769
+
770
+
771
+
772
+
773
+ <amp-nav-item
774
+ title="React Native"
775
+ slug="react-native"
776
+ has-children
777
+ level="1">
778
+
779
+
780
+
781
+
782
+
783
+ <amp-nav-item
784
+ title="React Native SDK"
785
+ url="/docs/sdks/analytics/react-native/react-native-sdk"
786
+ slug="react-native-sdk"
787
+ parent-slug="react-native"
788
+ level="2"
789
+ >
790
+ </amp-nav-item>
791
+
792
+
793
+
794
+
795
+
796
+
797
+
798
+ <amp-nav-item
799
+ title="Migrate to the latest React Native SDK"
800
+ url="/docs/sdks/analytics/react-native/migrate-to-the-latest-react-native-sdk"
801
+ slug="migrate-to-the-latest-react-native-sdk"
802
+ parent-slug="react-native"
803
+ level="2"
804
+ >
805
+ </amp-nav-item>
806
+
807
+
808
+
809
+
810
+
811
+
812
+
813
+ <amp-nav-item
814
+ title="Ampli for the React Native SDK"
815
+ url="/docs/sdks/analytics/react-native/ampli-for-the-react-native-sdk"
816
+ slug="ampli-for-the-react-native-sdk"
817
+ parent-slug="react-native"
818
+ level="2"
819
+ >
820
+ </amp-nav-item>
821
+
822
+
823
+
824
+ </amp-nav-item>
825
+
826
+
827
+
828
+
829
+
830
+ <amp-nav-item
831
+ title="Unreal"
832
+ slug="unreal"
833
+ has-children
834
+ level="1">
835
+
836
+
837
+
838
+
839
+
840
+ <amp-nav-item
841
+ title="Unreal SDK"
842
+ url="/docs/sdks/analytics/unreal/unreal-sdk"
843
+ slug="unreal-sdk"
844
+ parent-slug="unreal"
845
+ level="2"
846
+ >
847
+ </amp-nav-item>
848
+
849
+
850
+
851
+ </amp-nav-item>
852
+
853
+
854
+
855
+
856
+
857
+ <amp-nav-item
858
+ title="Unity"
859
+ slug="unity"
860
+ has-children
861
+ level="1">
862
+
863
+
864
+
865
+
866
+
867
+ <amp-nav-item
868
+ title="Unity SDK"
869
+ url="/docs/sdks/analytics/unity/unity-sdk"
870
+ slug="unity-sdk"
871
+ parent-slug="unity"
872
+ level="2"
873
+ >
874
+ </amp-nav-item>
875
+
876
+
877
+
878
+ </amp-nav-item>
879
+
880
+
881
+
882
+
883
+
884
+ <amp-nav-item
885
+ title="Maintenance SDKs"
886
+ slug="maintenance-sdks"
887
+ has-children
888
+ level="1">
889
+
890
+
891
+
892
+
893
+
894
+ <amp-nav-item
895
+ title="Marketing Analytics SDK"
896
+ slug="marketing-analytics-sdk"
897
+ parent-slug="maintenance-sdks"
898
+ has-children
899
+ level="2">
900
+
901
+
902
+ <amp-nav-item
903
+ title="Marketing Analytics SDK"
904
+ url="/docs/sdks/analytics/browser/marketing-analytics-sdk"
905
+ slug="marketing-analytics-sdk"
906
+ parent-slug="marketing-analytics-sdk"
907
+
908
+ level="3"
909
+ >
910
+ </amp-nav-item>
911
+
912
+
913
+ <amp-nav-item
914
+ title="Migrate from Marketing Analytics to Browser SDK 2.0"
915
+ url="/docs/sdks/analytics/browser/migrate-from-marketing-analytics-to-browser-sdk-2-0"
916
+ slug="migrate-from-marketing-analytics-to-browser-sdk-20"
917
+ parent-slug="marketing-analytics-sdk"
918
+
919
+ level="3"
920
+ >
921
+ </amp-nav-item>
922
+
923
+ </amp-nav-item>
924
+
925
+
926
+
927
+
928
+
929
+
930
+
931
+ <amp-nav-item
932
+ title="Javascript SDK"
933
+ slug="javascript-sdk"
934
+ parent-slug="maintenance-sdks"
935
+ has-children
936
+ level="2">
937
+
938
+
939
+ <amp-nav-item
940
+ title="Javascript SDK"
941
+ url="/docs/sdks/analytics/browser/javascript-sdk"
942
+ slug="javascript-sdk"
943
+ parent-slug="javascript-sdk"
944
+
945
+ level="3"
946
+ >
947
+ </amp-nav-item>
948
+
949
+
950
+ <amp-nav-item
951
+ title="Ampli for Javascript SDK"
952
+ url="/docs/sdks/analytics/browser/ampli-for-javascript-sdk"
953
+ slug="ampli-for-javascript-sdk"
954
+ parent-slug="javascript-sdk"
955
+
956
+ level="3"
957
+ >
958
+ </amp-nav-item>
959
+
960
+
961
+ <amp-nav-item
962
+ title="Migrate from Javascript SDK to Browser SDK 1.0"
963
+ url="/docs/sdks/analytics/browser/migrate-from-javascript-sdk-to-browser-sdk-1-0"
964
+ slug="migrate-from-javascript-sdk-to-browser-sdk-10"
965
+ parent-slug="javascript-sdk"
966
+
967
+ level="3"
968
+ >
969
+ </amp-nav-item>
970
+
971
+
972
+ <amp-nav-item
973
+ title="Migrate from Javascript SDK to Browser SDK 2.0"
974
+ url="/docs/sdks/analytics/browser/migrate-from-javascript-sdk-to-browser-sdk-2-0"
975
+ slug="migrate-from-javascript-sdk-to-browser-sdk-20"
976
+ parent-slug="javascript-sdk"
977
+
978
+ level="3"
979
+ >
980
+ </amp-nav-item>
981
+
982
+
983
+ <amp-nav-item
984
+ title="Cookies and Consent Management (JavaScript SDK)"
985
+ url="/docs/sdks/analytics/browser/cookies-and-consent-management-javascript-sdk"
986
+ slug="cookies-and-consent-management-javascript-sdk"
987
+ parent-slug="javascript-sdk"
988
+
989
+ level="3"
990
+ >
991
+ </amp-nav-item>
992
+
993
+ </amp-nav-item>
994
+
995
+
996
+
997
+
998
+
999
+
1000
+
1001
+ <amp-nav-item
1002
+ title="React Native SDK (maintenance)"
1003
+ url="/docs/sdks/analytics/react-native/react-native-sdk-maintenance"
1004
+ slug="react-native-sdk-maintenance"
1005
+ parent-slug="maintenance-sdks"
1006
+ level="2"
1007
+ >
1008
+ </amp-nav-item>
1009
+
1010
+
1011
+
1012
+
1013
+
1014
+
1015
+
1016
+ <amp-nav-item
1017
+ title="iOS SDK"
1018
+ url="/docs/sdks/analytics/ios/ios-sdk"
1019
+ slug="ios-sdk"
1020
+ parent-slug="maintenance-sdks"
1021
+ level="2"
1022
+ >
1023
+ </amp-nav-item>
1024
+
1025
+
1026
+
1027
+
1028
+
1029
+
1030
+
1031
+ <amp-nav-item
1032
+ title="Node SDK"
1033
+ slug="node-sdk"
1034
+ parent-slug="maintenance-sdks"
1035
+ has-children
1036
+ level="2">
1037
+
1038
+
1039
+ <amp-nav-item
1040
+ title="Node SDK"
1041
+ url="/docs/sdks/analytics/node/node-sdk"
1042
+ slug="node-sdk"
1043
+ parent-slug="node-sdk"
1044
+
1045
+ level="3"
1046
+ >
1047
+ </amp-nav-item>
1048
+
1049
+
1050
+ <amp-nav-item
1051
+ title="Ampli for Node SDK"
1052
+ url="/docs/sdks/analytics/node/ampli-for-node-sdk"
1053
+ slug="ampli-for-node-sdk"
1054
+ parent-slug="node-sdk"
1055
+
1056
+ level="3"
1057
+ >
1058
+ </amp-nav-item>
1059
+
1060
+
1061
+ <amp-nav-item
1062
+ title="Node.js SDK Migration Guide"
1063
+ url="/docs/sdks/analytics/node/node-js-sdk-migration-guide"
1064
+ slug="nodejs-sdk-migration-guide"
1065
+ parent-slug="node-sdk"
1066
+
1067
+ level="3"
1068
+ >
1069
+ </amp-nav-item>
1070
+
1071
+ </amp-nav-item>
1072
+
1073
+
1074
+
1075
+
1076
+
1077
+
1078
+
1079
+ <amp-nav-item
1080
+ title="Android SDK 1.0"
1081
+ slug="android-sdk-10"
1082
+ parent-slug="maintenance-sdks"
1083
+ has-children
1084
+ level="2">
1085
+
1086
+
1087
+ <amp-nav-item
1088
+ title="Android SDK"
1089
+ url="/docs/sdks/analytics/android/android-sdk"
1090
+ slug="android-sdk"
1091
+ parent-slug="android-sdk-10"
1092
+
1093
+ level="3"
1094
+ >
1095
+ </amp-nav-item>
1096
+
1097
+
1098
+ <amp-nav-item
1099
+ title="Migrate to the Android-Kotlin SDK"
1100
+ url="/docs/sdks/analytics/android/migrate-to-the-android-kotlin-sdk"
1101
+ slug="migrate-to-the-android-kotlin-sdk"
1102
+ parent-slug="android-sdk-10"
1103
+
1104
+ level="3"
1105
+ >
1106
+ </amp-nav-item>
1107
+
1108
+ </amp-nav-item>
1109
+
1110
+
1111
+
1112
+ </amp-nav-item>
1113
+
1114
+
1115
+ </amp-side-nav>
1116
+
1117
+ </div>
1118
+
1119
+ </div>
1120
+ <div class="absolute top-24 left-0 lg:left-64 bottom-0 right-0 z-0 transition">
1121
+ <div class="max-w-screen-xl pt-8 mx-auto">
1122
+ <section class="w-full flex flex-col items-center">
1123
+ <div class="flex flex-row flex-nowrap w-full text-sm pl-6 lg:pl-8 text-gray-400">
1124
+
1125
+ <div class="mr-2 text-s text-gray-500 "><a class=""
1126
+ href="/docs/sdks">SDKs</a></div>
1127
+ <span class="mr-2">/</span><div class="mr-2 text-s text-gray-500 "><a class=""
1128
+ href="/docs/sdks/analytics">Amplitude Analytics SDK Catalog</a></div>
1129
+ <span class="mr-2">/</span><div class="mr-2 text-s text-gray-500 "><a class="font-semibold"
1130
+ href="/docs/sdks/analytics/ios">iOS</a></div>
1131
+
1132
+
1133
+ </div>
1134
+ <div class="w-full p-8">
1135
+ <div class="copy">
1136
+ <div class="flex flex-row items-start justify-between">
1137
+ <h1>iOS</h1>
1138
+
1139
+ </div>
1140
+ <div class="flex flex-wrap gap-4 w-full max-w-screen-xl">
1141
+
1142
+ <div class="flex-1 basis-80 border border-amp-gray-200 grow-0 rounded p-4 hover:shadow transition">
1143
+ <code class="text-xs mb-2 inline-block current">current</code>
1144
+ <a href="/docs/sdks/analytics/ios/ios-swift-sdk">
1145
+ <h2 class="text-md font-Gellix my-0 flex flex-row content-center items-start">
1146
+
1147
+ <img class="h-6 rounded-sm inline mr-1 my-0" src="/docs/assets/icons/swift.svg" />
1148
+
1149
+ <img class="h-6 rounded-sm inline mr-1 my-0" src="/docs/assets/icons/obj-c.svg" />
1150
+
1151
+ <span class="ml-2">iOS Swift SDK</span>
1152
+ </h2>
1153
+ </a>
1154
+ <div class="inline"><a href="https://cocoapods.org/pods/AmplitudeSwift" target="_blank"><img class="my-0 inline"
1155
+ src="" alt="" srcset="" /></a>
1156
+ </div>
1157
+ <ul class="text-sm">
1158
+ <li><a href="https://github.com/amplitude/Amplitude-Swift" target="_blank">GitHub</a></li>
1159
+ <li><a href="https://github.com/amplitude/Amplitude-Swift/releases" target="_blank">Releases</a></li>
1160
+
1161
+
1162
+ <li><a href="/docs/sdks/analytics/ios/ampli-for-ios-swift-sdk">Ampli</a></li>
1163
+
1164
+
1165
+
1166
+
1167
+ <li><a href="/docs/sdks/analytics/ios/ios-sdk-migration-guide">iOS SDK Migration Guide</a></li>
1168
+
1169
+
1170
+
1171
+
1172
+ </ul>
1173
+ </div>
1174
+
1175
+ <div class="flex-1 basis-80 border border-amp-gray-200 grow-0 rounded p-4 hover:shadow transition">
1176
+ <code class="text-xs mb-2 inline-block current">current</code>
1177
+ <a href="/docs/sdks/analytics/ios/unified-sdk">
1178
+ <h2 class="text-md font-Gellix my-0 flex flex-row content-center items-start">
1179
+
1180
+ <img class="h-6 rounded-sm inline mr-1 my-0" src="/docs/assets/icons/swift.svg" />
1181
+
1182
+ <img class="h-6 rounded-sm inline mr-1 my-0" src="/docs/assets/icons/obj-c.svg" />
1183
+
1184
+ <span class="ml-2">Unified SDK for Swift</span>
1185
+ </h2>
1186
+ </a>
1187
+ <div class="inline"><a href="https://cocoapods.org/pods/AmplitudeUnified" target="_blank"><img class="my-0 inline"
1188
+ src="" alt="" srcset="" /></a>
1189
+ </div>
1190
+ <ul class="text-sm">
1191
+ <li><a href="https://github.com/amplitude/AmplitudeUnified-Swift" target="_blank">GitHub</a></li>
1192
+ <li><a href="https://github.com/amplitude/AmplitudeUnified-Swift/releases" target="_blank">Releases</a></li>
1193
+
1194
+
1195
+
1196
+
1197
+ </ul>
1198
+ </div>
1199
+
1200
+ <div class="flex-1 basis-80 border border-amp-gray-200 grow-0 rounded p-4 hover:shadow transition">
1201
+ <code class="text-xs mb-2 inline-block maintenance">maintenance</code>
1202
+ <a href="/docs/sdks/analytics/ios/ios-sdk">
1203
+ <h2 class="text-md font-Gellix my-0 flex flex-row content-center items-start">
1204
+
1205
+ <img class="h-6 rounded-sm inline mr-1 my-0" src="/docs/assets/icons/swift.svg" />
1206
+
1207
+ <img class="h-6 rounded-sm inline mr-1 my-0" src="/docs/assets/icons/obj-c.svg" />
1208
+
1209
+ <span class="ml-2">iOS SDK</span>
1210
+ </h2>
1211
+ </a>
1212
+ <div class="inline"><a href="https://cocoapods.org/pods/Amplitude-iOS" target="_blank"><img class="my-0 inline"
1213
+ src="" alt="" srcset="" /></a>
1214
+ </div>
1215
+ <ul class="text-sm">
1216
+ <li><a href="https://github.com/amplitude/Amplitude-iOS" target="_blank">GitHub</a></li>
1217
+ <li><a href="https://github.com/amplitude/Amplitude-iOS/releases" target="_blank">Releases</a></li>
1218
+
1219
+
1220
+
1221
+
1222
+ </ul>
1223
+ </div>
1224
+
1225
+ </div>
1226
+ </div>
1227
+ </section>
1228
+ </div>
1229
+ </div>
1230
+
1231
+ </div>
1232
+ <script src="https://cdnjs.cloudflare.com/ajax/libs/tocbot/4.25.0/tocbot.min.js"></script>
1233
+ <script>
1234
+
1235
+ // Get all h2 and h3 elements
1236
+ var headings = document.querySelectorAll('h2, h3');
1237
+
1238
+ // Check if there are more than 3
1239
+ if (headings.length > 2) {
1240
+ // Execute your code here
1241
+ tocbot.init({
1242
+ // Where to render the table of contents.
1243
+ tocSelector: '.js-toc',
1244
+ // Where to grab the headings to build the table of contents.
1245
+ contentSelector: '.prose',
1246
+ // Which headings to grab inside of the contentSelector element.
1247
+ headingSelector: 'h2, h3',
1248
+ // For headings inside relative or absolute positioned containers within content.
1249
+ hasInnerContainers: true,
1250
+ ignoreSelector: '.hint-title, .js-toc-ignore',
1251
+ orderedList: false,
1252
+ ignoreHiddenElements: true,
1253
+ headingsOffset: 96,
1254
+ scrollSmoothOffset: -96
1255
+ }); }
1256
+
1257
+ </script>
1258
+
1259
+
1260
+
1261
+ <script src="https://cdn.jsdelivr.net/npm/@docsearch/js@4"></script>
1262
+ <script type="text/javascript">
1263
+ docsearch({
1264
+ appId: "93SYI9HL20",
1265
+ apiKey: "105a5cad34a7ac8f6a9fb78189d9c113",
1266
+ indexName: "amplitude-vercel",
1267
+ container: '#algolia-search-header',
1268
+ debug: true,
1269
+ placeholder: "Search 'instrumentation' , 'Export API'",
1270
+ transformItems(items) {
1271
+ return items.map((item) => ({
1272
+ ...item,
1273
+ url: item.url.replace('https://amplitude.com','')
1274
+ }))
1275
+ }
1276
+ });
1277
+
1278
+ // Amplitude tracking for DocSearch
1279
+ (function() {
1280
+ var lastQuery = '';
1281
+ var searchOpen = false;
1282
+
1283
+ document.addEventListener('click', function(e) {
1284
+ if (e.target.closest('.DocSearch-Button')) {
1285
+ amplitude.track('Search opened');
1286
+ searchOpen = true;
1287
+ }
1288
+ });
1289
+
1290
+ document.addEventListener('input', function(e) {
1291
+ var input = document.querySelector('.DocSearch-Input');
1292
+ if (input && e.target === input) {
1293
+ lastQuery = input.value;
1294
+ }
1295
+ });
1296
+
1297
+ // Use capture phase to run before DocSearch closes the modal
1298
+ document.addEventListener('click', function(e) {
1299
+ var hit = e.target.closest('.DocSearch-Hit');
1300
+ if (hit) {
1301
+ var query = lastQuery; // Capture query before any DOM changes
1302
+ var link = hit.querySelector('a');
1303
+ var url = link ? link.getAttribute('href') : '';
1304
+ var hits = document.querySelectorAll('.DocSearch-Hit');
1305
+ var position = Array.prototype.indexOf.call(hits, hit) + 1;
1306
+ amplitude.track('Search result clicked', { query: query, url: url, position: position });
1307
+ }
1308
+ }, true);
1309
+
1310
+ var observer = new MutationObserver(function(mutations) {
1311
+ var modal = document.querySelector('.DocSearch-Modal');
1312
+ if (searchOpen && !modal) {
1313
+ if (lastQuery) {
1314
+ amplitude.track('Search query', { query: lastQuery });
1315
+ }
1316
+ lastQuery = '';
1317
+ searchOpen = false;
1318
+ } else if (modal && !searchOpen) {
1319
+ // Track search opened for keyboard shortcuts (Cmd+K/Ctrl+K)
1320
+ amplitude.track('Search opened');
1321
+ searchOpen = true;
1322
+ }
1323
+ });
1324
+
1325
+ observer.observe(document.body, { childList: true, subtree: true });
1326
+ })();
1327
+ </script>
1328
+ <script src="/docs/js/site.js?id=078a82617f7dafffff92da951b4ec6c9"></script>
1329
+ <script src="/docs/js/statuspage.js?id=4da5c29a14b085ee38c353c2a7b7713c"></script>
1330
+
1331
+ <!-- Latest Version -->
1332
+ <script src="https://cc.cdn.civiccomputing.com/9/cookieControl-9.x.min.js" type="text/javascript"></script>
1333
+ <script>
1334
+ var config = {
1335
+ apiKey: "106b5e962520ab454786a0d1ba709e47372ef512",
1336
+ product: "PRO_MULTISITE",
1337
+ initialState: 'notify',
1338
+ notifyDismissButton: false,
1339
+ theme: 'light',
1340
+ setInnerHTML: true,
1341
+ branding: {
1342
+ fontFamily: 'IBM Plex Sans, sans-serif',
1343
+ backgroundColor: '#fafcfe',
1344
+ removeIcon: true,
1345
+ removeAbout: true,
1346
+ },
1347
+ statement: {
1348
+ description: 'See our',
1349
+ name: 'Privacy Notice',
1350
+ url: 'https://amplitude.com/privacy#cookies',
1351
+ updated: '25/04/2018',
1352
+ },
1353
+
1354
+ ccpaConfig: {
1355
+ description: 'See our',
1356
+ name: 'Personal Information Notice',
1357
+ url: 'https://amplitude.com/privacy',
1358
+ updated: '25/04/2018',
1359
+ },
1360
+
1361
+ ccpaConfig: {
1362
+ description: 'See our',
1363
+ name: 'Personal Information Notice',
1364
+ url: 'https://amplitude.com/privacy',
1365
+ updated: '25/04/2018',
1366
+ },
1367
+ text: {
1368
+ title: 'This site uses cookies.',
1369
+ intro: 'Some of these cookies are essential, while others help us to improve your experience by providing insights into how the site is being used.',
1370
+ necessaryTitle: 'Necessary Cookies',
1371
+ necessaryDescription: 'Necessary cookies enable core functionality. The website cannot function properly without these cookies, and can only be disabled by changing your browser preferences.',
1372
+ accept: 'Accept',
1373
+ reject: 'Reject',
1374
+ rejectSettings: "Do Not Sell or Share My Personal Information",
1375
+
1376
+ // Regarding opening settings, "openCookieControl" should have been exposed
1377
+ // to the window by instrumentCookieControl() by, in the event it hasn't,
1378
+ // this falls back to CookieControl.open
1379
+ notifyDescription: `
1380
+ <div class="ccc-description">
1381
+ <div class="ccc-inner-description">
1382
+ <h2>Cookie Preferences</h2>
1383
+ <p>
1384
+ Sharing your cookies helps us improve site functionality and optimize your experience.
1385
+ <br><a href="https://amplitude.com/privacy#cookies" data-cta-clicked-type="interstitial" data-cc-policy>Click Here</a> to read our cookie policy.
1386
+ </p>
1387
+ </div>
1388
+ <div class="ccc-actions">
1389
+ <a class="ccc-manage-settings-btn" onclick="(window.openCookieControl || CookieControl.open)()"
1390
+ data-cta-clicked-type="interstitial"
1391
+ data-cc-settings>Manage Settings</a>
1392
+ <button onclick="CookieControl.acceptAll()" data-cc-accept data-cta-clicked-type="interstitial">
1393
+ Accept
1394
+ </button>
1395
+ </div>
1396
+ </div>`,
1397
+ },
1398
+ necessaryCookies: [
1399
+ '__utmzz', // utmz cookie replicator necessary to track utm google values
1400
+ '__utmzzses', // Also used by utmz cookie replciator
1401
+ 'corp_utm', // Own cookie used to persist utm values for Marketo
1402
+ 'membership_token_*', // Membership cookies for all access program
1403
+ 'sj_csrftoken', // Skill Jar Cookie
1404
+ ],
1405
+ optionalCookies: [{
1406
+ name: "performance",
1407
+ label: "Performance Cookies",
1408
+ description: 'We use these cookies to monitor and improve website performance.',
1409
+ cookies: [
1410
+ 'amplitude_id*', // Amplitude SDK
1411
+ 'amp_*', // Newer Amplitude SDK
1412
+ 'AMP_*', // Newer Amplitude SDK
1413
+ '1P_JAR', // Google Analytics
1414
+ 'DV', // Google Analytics
1415
+ 'NID', // Google Analytics
1416
+ 'OGPC', // Google Analytics
1417
+ '_ga', // Google Analytics
1418
+ '_gid', // Google Analytics
1419
+ '_gat*', // Google Analytics
1420
+ ],
1421
+ onRevoke: function () {
1422
+ amplitude.setOptOut(true)
1423
+ }
1424
+ },
1425
+ {
1426
+ name: "advertising",
1427
+ label: "Advertising Cookies",
1428
+ description: 'We use these cookies to help us improve the relevancy of advertising campaigns you receive.',
1429
+ cookies: [
1430
+ 'BizoID', // LinkedIn
1431
+ 'UserMatchHistory', // LinkedIn
1432
+ 'lang', // LinkedIn
1433
+ 'bcookie', // LinkedIn
1434
+ 'bscookie', // LinkedIn
1435
+ 'lidc', // LinkedIn
1436
+ 'fr', // Facebook
1437
+ 'vc', // AddThis
1438
+ 'uvc', // AddThis
1439
+ 'uid', // AddThis
1440
+ 'loc', // AddThis
1441
+ 'ouid', // AddThis
1442
+ 'di2', // AddThis
1443
+ '__atuvc', // AddThis
1444
+ '__atuvs', // AddThis
1445
+ '__d_mkto', // Marketo
1446
+ '_mkto_trk', // Marketo
1447
+ 'BIGipServerab13web-app_https', // Marketo
1448
+ 'IDE', // Doubleclick,
1449
+ 'csv', // Reddit
1450
+ 'edgebucket', // Reddit
1451
+ 'loid', // Reddit
1452
+ 'over18', // Reddit
1453
+ 'recent_srs', // Reddit
1454
+ 'session_tracker', // Reddit
1455
+ 'token_v2', // Reddit
1456
+ 'IDE', // Doubleclick
1457
+ '_uetsid', // Bing
1458
+ '_uetvid', // Bing
1459
+ '_uetsid_exp', // Bing
1460
+ '_uetvid_exp', // Bing
1461
+ '_uetmsclkid', // Bing
1462
+ '_clsk', // Bing
1463
+ 'sa-user-id', // Stackadapt
1464
+ 'sa-user-id-v2', // Stackadapt
1465
+ ],
1466
+ onAccept: function () {
1467
+
1468
+ },
1469
+ onRevoke: function () {
1470
+
1471
+ },
1472
+ }
1473
+ ]
1474
+ }
1475
+
1476
+ CookieControl.load(config);
1477
+ </script>
1478
+
1479
+ </body>
1480
+ </html>