0
0
Lập trình
Thaycacac
Thaycacac thaycacac

Hướng dẫn cài đặt Deep Link cho ứng dụng Native trên Android và iOS

Đăng vào 1 tháng trước

• 3 phút đọc

Hướng dẫn cài đặt Deep Link cho ứng dụng Native trên Android và iOS

Trong phần trước, tôi đã chia sẻ cách cài đặt Deep Link ở cấp độ Server. Trong phần này, chúng ta sẽ cùng nhau tìm hiểu chi tiết cách cấu hình Deep Link cho ứng dụng Native trên hai nền tảng phổ biến là Android và iOS.

Để cấu hình Deep Link trong ứng dụng Android, bạn cần mở file AndroidManifest.xml và thêm đoạn mã sau vào bên trong thẻ <Activity> tương ứng:

xml Copy
<!-- Chỉ định xử lý Deep Link: false nếu sử dụng trình xử lý bên thứ ba, true nếu sử dụng trình xử lý mặc định -->
<meta-data android:name="flutterdeeplinkingenabled" android:value="false" />
<intent-filter android:autoVerify="true">
    <action android:name="android.intent.action.VIEW" />
    <category android:name="android.intent.category.DEFAULT" />
    <category android:name="android.intent.category.BROWSABLE" />
    <data android:scheme="https" android:host="share-tntkhang.vercel.app" />
    <!-- Có thể thêm pathPrefix để điều hướng sâu hơn vào ứng dụng -->
    <data android:scheme="https" android:host="share-tntkhang.vercel.app" android:pathPrefix="/product" />
    <data android:scheme="https" android:host="share-tntkhang.vercel.app" android:pathPrefix="/detail" />
</intent-filter>

Mã đầy đủ cho thẻ Activity

xml Copy
<activity
    android:name=".MainActivity"
    android:configChanges="orientation|keyboardHidden|keyboard|screenSize|smallestScreenSize|locale|layoutDirection|fontScale|screenLayout|density|uiMode"
    android:exported="true"
    android:hardwareAccelerated="true"
    android:launchMode="singleTop"
    android:theme="@style/LaunchTheme"
    android:windowSoftInputMode="adjustResize">
    <!-- Cấu hình mặc định cho theme ứng dụng -->
    <meta-data
        android:name="io.flutter.embedding.android.NormalTheme"
        android:resource="@style/NormalTheme" />
    <intent-filter>
        <action android:name="android.intent.action.MAIN" />
        <category android:name="android.intent.category.LAUNCHER" />
    </intent-filter>

    <!-- Cấu hình Deep Link -->
    <meta-data android:name="flutterdeeplinkingenabled" android:value="false" />
    <intent-filter android:autoVerify="true">
        <action android:name="android.intent.action.VIEW" />
        <category android:name="android.intent.category.DEFAULT" />
        <category android:name="android.intent.category.BROWSABLE" />
        <data android:scheme="https" android:host="share-move2bfit.vercel.app" android:pathPrefix="/friend" />
        <data android:scheme="https" android:host="share-move2bfit.vercel.app" android:pathPrefix="/challenge" />
    </intent-filter>
</activity>

Để cấu hình Deep Link trong ứng dụng iOS, bạn cần có tài khoản Apple Developer. Dưới đây là các bước cần thực hiện:

  1. Kích hoạt Associated Domains trên trang Apple Developer:

    • Đăng nhập vào tài khoản Apple Developer của bạn với Apple ID.
    • Nhấp vào Certificates, Identifiers & Profiles.
    • Chọn Identifiers và nhấp vào ID ứng dụng của bạn.
    • Trong tab Capabilities, đánh dấu ô Associated Domains và nhấn Save.
  2. Mở XCode và làm theo các bước sau:

    • Mở dự án Runner.
    • Chọn Target Runner và chuyển sang tab Signing and Capabilities.
    • Nhấn vào + Capability và thêm Associated Domains.

Lưu ý về cách cấu hình

Khi cấu hình Associated Domains, bạn cần thêm applinks trước tên miền của bạn. Ví dụ:
applinks:share-tntkhang.vercel.app. Hãy nhớ rằng https là mặc định nên không cần thêm vào.

Sau khi hoàn thành cài đặt Deep Link, bạn có thể thử nghiệm bằng cách nhấp vào các liên kết từ Gmail hoặc ứng dụng Notes. Nếu ứng dụng chưa mở, đường link sẽ dẫn đến App Store tương ứng.

Lưu ý rằng có một số ứng dụng không hỗ trợ Deep Link mà sẽ mở một trình duyệt nội bộ, chẳng hạn như Zalo. Để kiểm tra ứng dụng có hỗ trợ Deep Link hay không, bạn có thể thử nhấp vào liên kết youtube.com. Nếu ứng dụng điều hướng đến Youtube, tức là ứng dụng đó có hỗ trợ tính năng này.

Phần tiếp theo, tôi sẽ hướng dẫn cách bắt dữ liệu trong ứng dụng Flutter và điều hướng tới màn hình cần hiển thị.
source: viblo

Gợi ý câu hỏi phỏng vấn
Không có dữ liệu

Không có dữ liệu

Bài viết được đề xuất
Bài viết cùng tác giả

Bình luận

Chưa có bình luận nào

Chưa có bình luận nào