Hướng dẫn cách tạo Dynamic Link với CloudFlare Worker |
Chào các bạn! 👋 Hôm nay mình sẽ chia sẻ cách tạo Dynamic Link sử dụng Cloudflare Worker. Đây là một giải pháp đơn giản và hiệu quả để tạo các link động, có thể tùy chỉnh theo nhu cầu của bạn. Hãy cùng bắt đầu nhé!
Dynamic Link là gì?
Dynamic Link là các đường link có thể thay đổi động dựa trên các điều kiện hoặc tham số khác nhau. Ví dụ, khi người dùng click vào link, họ có thể được chuyển hướng đến các địa chỉ khác nhau tùy thuộc vào thiết bị, vị trí địa lý, thời gian, hoặc bất kỳ logic nào mà bạn muốn.
Tại sao nên dùng Cloudflare Worker?
- Miễn phí với 100,000 request mỗi ngày
- Độ trễ cực thấp nhờ mạng lưới global của Cloudflare
- Dễ dàng triển khai và quản lý
- Có thể tùy chỉnh logic phức tạp bằng JavaScript
Các bước thực hiện
1. Đăng ký tài khoản Cloudflare
Nếu bạn chưa có tài khoản, hãy đăng ký tại cloudflare.com. Quá trình này hoàn toàn miễn phí nhé!
2. Tạo Worker mới
Sau khi đăng nhập:
- Vào mục "Workers & Pages"
- Click "Create Worker"
- Đặt tên cho Worker của bạn (ví dụ: dynamic-link)
3. Code cho Worker
Dưới đây là code mẫu để tạo một Dynamic Link đơn giản:
addEventListener('fetch', event => {
event.respondWith(handleRequest(event.request))
})
async function handleRequest(request) {
// Lấy URL hiện tại
const url = new URL(request.url)
// Lấy các tham số từ URL (nếu có)
const targetPlatform = url.searchParams.get('platform')
const source = url.searchParams.get('source')
// Logic chuyển hướng
let redirectUrl = 'https://default-website.com'
// Kiểm tra thiết bị
const userAgent = request.headers.get('User-Agent') || ''
const isMobile = /Mobile|Android|iPhone/i.test(userAgent)
if (isMobile) {
if (targetPlatform === 'ios') {
redirectUrl = 'https://apps.apple.com/your-app'
} else if (targetPlatform === 'android') {
redirectUrl = 'https://play.google.com/store/your-app'
}
}
// Thêm UTM parameters nếu có source
if (source) {
redirectUrl += `?utm_source=${source}`
}
// Trả về response chuyển hướng
return Response.redirect(redirectUrl, 302)
}
4. Triển khai và sử dụng
Sau khi lưu code, Worker của bạn sẽ được triển khai tự động. Bạn có thể sử dụng link với format:
https://[tên-worker].[username].workers.dev?platform=[ios/android]&source=[nguồn]
Ví dụ:
https://dynamic-link.your-name.workers.dev?platform=ios&source=facebook
Một số tính năng có thể mở rộng
-
Chuyển hướng theo vị trí địa lý
const country = request.cf.country if (country === 'VN') { redirectUrl = 'https://vietnam-site.com' } else { redirectUrl = 'https://global-site.com' }
-
Chuyển hướng theo thời gian
const hour = new Date().getHours() if (hour >= 22 || hour < 6) { redirectUrl = 'https://night-time-site.com' }
-
Theo dõi số lượt click
// Sử dụng Cloudflare KV để lưu trữ số liệu await CLICKS.put('total', (await CLICKS.get('total') || 0) + 1)
Lời kết
Vậy là chúng ta đã hoàn thành việc tạo một Dynamic Link đơn giản bằng Cloudflare Worker rồi! 🎉
Bạn có thể tùy chỉnh logic chuyển hướng theo nhu cầu của mình. Một số ý tưởng mở rộng:
- Tích hợp với các API bên ngoài
- Thêm xác thực và bảo mật
- Tạo trang đích tùy chỉnh
- Thêm analytics và tracking
Nếu bạn cần thêm thông tin hoặc gặp khó khăn gì, đừng ngại để lại comment nhé! Chúc bạn thành công! 😊