airbridge-link-migrator-library
v0.2.0
Published
Library for migrating various link types to Airbridge Tracking Links
Maintainers
Readme
airbridge-link-migrator-library
Migration library for converting various link types to Airbridge Tracking Links.
Installation
npm install airbridge-link-migrator-libraryUsage
Firebase Dynamic Links
import { createFirebaseMigrator } from 'airbridge-link-migrator-library'
// Create migrator instance for Firebase source
const migrator = createFirebaseMigrator({
scheme: 'myapp://',
appName: 'MyApp',
apiToken: 'your-airbridge-api-token'
})
// Migrate a Firebase Dynamic Link to Airbridge
const firebaseLink = {
short_link: 'https://example.page.link/abcd',
utm_source: 'facebook',
utm_campaign: 'summer_sale',
utm_medium: 'social',
link: 'https://example.com/product',
// ... other Firebase fields
}
const airbridgeLink = await migrator.migrate(firebaseLink)
console.log(airbridgeLink.short_url) // Airbridge short URL
console.log(airbridgeLink.long_url) // Airbridge long URLField Mapping
When migrating from Firebase Dynamic Links, the following field mapping is used:
| Firebase Field | Airbridge Field | Description | |---------------|-----------------|-------------| | utm_source | channel | Marketing channel (required) | | utm_campaign | campaign | Campaign name | | utm_medium | sub_id | Sub ID (was sub_publisher) | | utm_term | keyword | Search keyword | | utm_content | content | Ad content | | link | deeplink | Deep link URL (encoded with scheme) | | afl | android_fallback | Android fallback URL | | ifl | ios_fallback | iOS fallback URL | | ofl | desktop_fallback | Desktop fallback URL | | st | title | Page title | | sd | description | Page description | | si | image_url | OG image URL |
Rate Limiting
The library automatically handles Airbridge API rate limits (40 requests per second). No additional configuration needed.
Error Handling
try {
const result = await migrator.migrate(firebaseLink)
// Handle success
} catch (error) {
// Handle migration error
console.error('Migration failed:', error)
}License
MIT
