Skip to content

Commit 215a3f3

Browse files
committed
update readme
1 parent 0646045 commit 215a3f3

1 file changed

Lines changed: 47 additions & 10 deletions

File tree

  • src/Packages/Passport/Samples~/PassportManagerPrefab

src/Packages/Passport/Samples~/PassportManagerPrefab/README.md

Lines changed: 47 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -57,6 +57,7 @@ The **PassportManager** provides multiple drag-and-drop prefabs for easy Immutab
5757
- **Auto Initialize**: Automatically initialize on Start (default: true)
5858
- **Auto Login**: Automatically attempt login after initialization (default: false)
5959
- **Direct Login Method**: Pre-select login method (None, Google, Apple, Facebook)
60+
- **Default Marketing Consent**: Default consent status for marketing communications (Unsubscribed, OptedIn)
6061
- **Log Level**: Control debug output verbosity
6162

6263
### UI Customization (PassportManagerComplete)
@@ -149,13 +150,57 @@ if (manager.IsInitialized && manager.IsLoggedIn)
149150
// var address = await manager.PassportInstance.GetAddress();
150151
}
151152

152-
// Manual login with specific method
153-
manager.Login(DirectLoginMethod.Google);
153+
// Manual login with specific method and marketing consent
154+
var loginOptions = new DirectLoginOptions(DirectLoginMethod.Google, marketingConsentStatus: MarketingConsentStatus.Unsubscribed);
155+
manager.Login(loginOptions);
156+
157+
// Or use the simpler method (uses default marketing consent from Inspector)
158+
manager.Login(); // Uses configured directLoginMethod
154159
155160
// Manual logout
156161
manager.Logout();
157162
```
158163

164+
## 📧 Marketing Consent
165+
166+
The PassportManager supports marketing consent for compliance with privacy regulations (GDPR, etc.):
167+
168+
### Default Marketing Consent
169+
170+
Configure the default marketing consent status in the Inspector:
171+
172+
- **Unsubscribed** (default): Users are not subscribed to marketing communications by default
173+
- **OptedIn**: Users are opted into marketing communications by default
174+
175+
This setting is used when:
176+
177+
- Users authenticate via direct login methods (Google, Apple, Facebook)
178+
- No explicit marketing consent is provided in code
179+
180+
### Advanced Marketing Consent
181+
182+
For programmatic control over marketing consent:
183+
184+
```csharp
185+
// Create login options with specific marketing consent
186+
var loginOptions = new DirectLoginOptions(
187+
DirectLoginMethod.Google,
188+
marketingConsentStatus: MarketingConsentStatus.Unsubscribed
189+
);
190+
191+
// Login with explicit marketing consent
192+
await PassportManager.Instance.LoginAsync(loginOptions);
193+
```
194+
195+
### Marketing Consent Flow
196+
197+
1. **Unity Game**: Sets marketing consent via `DirectLoginOptions` or uses default from Inspector
198+
2. **Authentication Server**: Receives and processes the marketing consent preference
199+
3. **User Profile**: Marketing consent status is stored and applied to user's profile
200+
4. **Compliance**: Ensures proper consent handling for marketing communications
201+
202+
**Note**: Marketing consent is automatically handled during the authentication flow and integrated with Immutable's user profile system.
203+
159204
## 📁 Sample Scripts
160205

161206
Check out the included example script:
@@ -182,14 +227,6 @@ The `PassportUIController` uses **aggressive cursor management** designed for de
182227
}
183228
```
184229

185-
## 🔗 Deep Linking Setup
186-
187-
For native platforms (Windows/Mac), you'll need to register your custom URL scheme:
188-
189-
### Windows
190-
191-
The SDK automatically handles Windows deep linking registration.
192-
193230
## 🆘 Troubleshooting
194231

195232
### "Can't drag UI elements to Inspector fields"

0 commit comments

Comments
 (0)