diff options
author | Hailey <me@haileyok.com> | 2024-07-11 18:43:10 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-07-11 18:43:10 -0700 |
commit | 8b121af2e438ca77cc5f5b1715516107c18aff6f (patch) | |
tree | c7f1a28b63226c79e07aef4d2e88898358a62ec6 /modules/expo-bluesky-swiss-army/src/Referrer/index.ios.ts | |
parent | 83e8522e0a89be28b1733f4c50dbd4379d98d03b (diff) | |
download | voidsky-8b121af2e438ca77cc5f5b1715516107c18aff6f.tar.zst |
referrers for all platforms (#4514)
Diffstat (limited to 'modules/expo-bluesky-swiss-army/src/Referrer/index.ios.ts')
-rw-r--r-- | modules/expo-bluesky-swiss-army/src/Referrer/index.ios.ts | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/modules/expo-bluesky-swiss-army/src/Referrer/index.ios.ts b/modules/expo-bluesky-swiss-army/src/Referrer/index.ios.ts new file mode 100644 index 000000000..2bf1497a0 --- /dev/null +++ b/modules/expo-bluesky-swiss-army/src/Referrer/index.ios.ts @@ -0,0 +1,37 @@ +import {SharedPrefs} from '../../index' +import {NotImplementedError} from '../NotImplemented' +import {GooglePlayReferrerInfo, ReferrerInfo} from './types' + +export function getGooglePlayReferrerInfoAsync(): Promise<GooglePlayReferrerInfo> { + throw new NotImplementedError() +} + +export function getReferrerInfoAsync(): Promise<ReferrerInfo | null> { + const referrer = SharedPrefs.getString('referrer') + if (referrer) { + SharedPrefs.removeValue('referrer') + try { + const url = new URL(referrer) + return { + referrer, + hostname: url.hostname, + } + } catch (e) { + return { + referrer, + hostname: undefined, + } + } + } + + const referrerApp = SharedPrefs.getString('referrerApp') + if (referrerApp) { + SharedPrefs.removeValue('referrerApp') + return { + referrer: referrerApp, + hostname: referrerApp, + } + } + + return null +} |