registerToken method

Future<void> registerToken(
  1. String token, {
  2. required PushPlatform platform,
  3. PushProvider? provider,
  4. String? lang,
})

Register (or refresh) this device's push token, correlated to the journey identity. Call this yourself only for BYO-token setups; pushEnabled does it automatically.

Implementation

Future<void> registerToken(
  String token, {
  required PushPlatform platform,
  PushProvider? provider,
  String? lang,
}) async {
  _token = token;
  final resolved = provider ?? _defaultProvider(platform);
  _lastPlatform = platform;
  _lastProvider = resolved;
  final effectiveLang = lang ?? _lang;
  NexusLog.debug('push.registerToken — ${platform.name}/${resolved.name} ${_mask(token)}');
  await _http.post('/partner/push/register', {
    'token': token,
    'platform': platform.name,
    'provider': resolved.name,
    'distinctId': ?_id.distinctId,
    'deviceKey': _id.deviceKey,
    'appVersion': ?_cfg.appVersion,
    'lang': ?effectiveLang,
    if (_tagsTouched) 'tags': _tags,
    ..._id.wireContext,
  });
}