@symbiote-native/tracking-transparency 1.0.0 → 3.0.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 (2) hide show
  1. package/README.md +48 -44
  2. package/package.json +14 -14
package/README.md CHANGED
@@ -23,6 +23,10 @@ exactly.
23
23
  npm install @symbiote-native/tracking-transparency
24
24
  ```
25
25
 
26
+ Scaffolding or extending a SymbioteNative app? `npx @symbiote-native/cli new --tracking-transparency`
27
+ (or `add --tracking-transparency` in an existing app) installs and wires this for you — see
28
+ [`@symbiote-native/cli`](../cli).
29
+
26
30
  `expo-tracking-transparency` and `expo-modules-core` come along as regular, pinned dependencies —
27
31
  never install either yourself, and never add the `expo` meta-package to this project (it bundles
28
32
  its own Metro/Babel pipeline that conflicts with this project's own).
@@ -82,15 +86,15 @@ function TrackingScreen() {
82
86
  const [permissionStatus, requestPermission] = usePermissions();
83
87
 
84
88
  return (
85
- <View>
86
- <Text>{permissionStatus?.status ?? 'checking…'}</Text>
87
- <Pressable onPress={() => requestPermission()}>
88
- <Text>Request tracking permission</Text>
89
- </Pressable>
90
- <Pressable onPress={() => console.log(getAdvertisingId())}>
91
- <Text>Log advertising ID</Text>
92
- </Pressable>
93
- </View>
89
+ <view>
90
+ <text>{permissionStatus?.status ?? 'checking…'}</text>
91
+ <pressable onPress={() => requestPermission()}>
92
+ <text>Request tracking permission</text>
93
+ </pressable>
94
+ <pressable onPress={() => console.log(getAdvertisingId())}>
95
+ <text>Log advertising ID</text>
96
+ </pressable>
97
+ </view>
94
98
  );
95
99
  }
96
100
  ```
@@ -106,15 +110,15 @@ const { status: permissionStatus, request: requestPermission } =
106
110
  </script>
107
111
 
108
112
  <template>
109
- <View>
110
- <Text>{{ permissionStatus?.status ?? 'checking…' }}</Text>
111
- <Pressable @press="requestPermission()">
112
- <Text>Request tracking permission</Text>
113
- </Pressable>
114
- <Pressable @press="console.log(getAdvertisingId())">
115
- <Text>Log advertising ID</Text>
116
- </Pressable>
117
- </View>
113
+ <view>
114
+ <text>{{ permissionStatus?.status ?? 'checking…' }}</text>
115
+ <pressable @press="requestPermission()">
116
+ <text>Request tracking permission</text>
117
+ </pressable>
118
+ <pressable @press="console.log(getAdvertisingId())">
119
+ <text>Log advertising ID</text>
120
+ </pressable>
121
+ </view>
118
122
  </template>
119
123
  ```
120
124
 
@@ -130,15 +134,15 @@ import {
130
134
  selector: 'TrackingScreen',
131
135
  standalone: true,
132
136
  template: `
133
- <View>
134
- <Text>{{ permissionStatus()?.status ?? 'checking…' }}</Text>
135
- <Pressable (press)="permissionsService.request()">
136
- <Text>Request tracking permission</Text>
137
- </Pressable>
138
- <Pressable (press)="logAdvertisingId()"
139
- ><Text>Log advertising ID</Text></Pressable
137
+ <view>
138
+ <text>{{ permissionStatus()?.status ?? 'checking…' }}</text>
139
+ <pressable (press)="permissionsService.request()">
140
+ <text>Request tracking permission</text>
141
+ </pressable>
142
+ <pressable (press)="logAdvertisingId()"
143
+ ><text>Log advertising ID</text></pressable
140
144
  >
141
- </View>
145
+ </view>
142
146
  `,
143
147
  })
144
148
  export class TrackingScreen {
@@ -163,15 +167,15 @@ export class TrackingScreen {
163
167
  const permissions = usePermissions();
164
168
  </script>
165
169
 
166
- <View>
167
- <Text>{permissions.status?.status ?? 'checking…'}</Text>
168
- <Pressable onPress={() => permissions.request()}>
169
- <Text>Request tracking permission</Text>
170
- </Pressable>
171
- <Pressable onPress={() => console.log(getAdvertisingId())}>
172
- <Text>Log advertising ID</Text>
173
- </Pressable>
174
- </View>
170
+ <view>
171
+ <text>{permissions.status?.status ?? 'checking…'}</text>
172
+ <pressable onPress={() => permissions.request()}>
173
+ <text>Request tracking permission</text>
174
+ </pressable>
175
+ <pressable onPress={() => console.log(getAdvertisingId())}>
176
+ <text>Log advertising ID</text>
177
+ </pressable>
178
+ </view>
175
179
  ```
176
180
 
177
181
  ```tsx
@@ -184,15 +188,15 @@ function TrackingScreen() {
184
188
  createPermissions();
185
189
 
186
190
  return (
187
- <View>
188
- <Text>{permissionStatus()?.status ?? 'checking…'}</Text>
189
- <Pressable onPress={() => void requestPermission()}>
190
- <Text>Request tracking permission</Text>
191
- </Pressable>
192
- <Pressable onPress={() => console.log(getAdvertisingId())}>
193
- <Text>Log advertising ID</Text>
194
- </Pressable>
195
- </View>
191
+ <view>
192
+ <text>{permissionStatus()?.status ?? 'checking…'}</text>
193
+ <pressable onPress={() => void requestPermission()}>
194
+ <text>Request tracking permission</text>
195
+ </pressable>
196
+ <pressable onPress={() => console.log(getAdvertisingId())}>
197
+ <text>Log advertising ID</text>
198
+ </pressable>
199
+ </view>
196
200
  );
197
201
  }
198
202
  ```
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@symbiote-native/tracking-transparency",
3
- "version": "1.0.0",
3
+ "version": "3.0.0",
4
4
  "description": "expo-tracking-transparency wrapped for SymbioteNative — one framework-agnostic core, built once and reachable from the React, Vue, Svelte, Solid, and Angular adapters. iOS App Tracking Transparency prompt (permission get/request, always-granted on Android/web) plus the advertising-ID getter.",
5
5
  "keywords": [
6
6
  "react-native",
@@ -79,12 +79,12 @@
79
79
  "solid-js": ">=1.9.0",
80
80
  "svelte": ">=5.56.0",
81
81
  "vue": ">=3.5.0",
82
- "@symbiote-native/angular": "^1.0.0",
83
- "@symbiote-native/engine": "^0.4.0",
84
- "@symbiote-native/react": "^1.0.0",
85
- "@symbiote-native/solid": "^1.0.0",
86
- "@symbiote-native/vue": "^1.0.0",
87
- "@symbiote-native/svelte": "^1.0.0"
82
+ "@symbiote-native/angular": "^3.0.0",
83
+ "@symbiote-native/react": "^3.0.0",
84
+ "@symbiote-native/svelte": "^3.0.0",
85
+ "@symbiote-native/solid": "^3.0.0",
86
+ "@symbiote-native/engine": "^1.0.0",
87
+ "@symbiote-native/vue": "^3.0.0"
88
88
  },
89
89
  "peerDependenciesMeta": {
90
90
  "@symbiote-native/angular": {
@@ -132,13 +132,13 @@
132
132
  "solid-js": "^1.9.14",
133
133
  "svelte": "^5.56.0",
134
134
  "typescript": "~6.0.0",
135
- "@symbiote-native/angular": "1.0.0",
136
- "@symbiote-native/engine": "0.4.0",
137
- "@symbiote-native/react": "1.0.0",
138
- "@symbiote-native/solid": "1.0.0",
139
- "@symbiote-native/svelte": "1.0.0",
140
- "@symbiote-native/test-utils": "0.3.0",
141
- "@symbiote-native/vue": "1.0.0"
135
+ "@symbiote-native/engine": "1.0.0",
136
+ "@symbiote-native/react": "3.0.0",
137
+ "@symbiote-native/angular": "3.0.0",
138
+ "@symbiote-native/solid": "3.0.0",
139
+ "@symbiote-native/svelte": "3.0.0",
140
+ "@symbiote-native/test-utils": "0.3.1",
141
+ "@symbiote-native/vue": "3.0.0"
142
142
  },
143
143
  "scripts": {
144
144
  "typecheck": "tsc --build",