Một liên kết phổ quát là gì và làm thế nào để tạo ra nó?

0
(0)

Hỗ trợ liên kết chung cho phép trang web chia sẻ nội dung, kết nối với ứng dụng iOS.

Điều này có nghĩa là khi người dùng nhấp vào liên kết HTTP trên iPhone, nó sẽ dẫn đến ứng dụng iOS thay vì sử dụng trình duyệt safari và nếu không có ứng dụng iOS nào hỗ trợ liên kết chung, liên kết sẽ được hiển thị trên màn hình. trình duyệt.

Việc sử dụng liên kết phổ quát sẽ mang lại những lợi ích sau:

  • Tính duy nhất (Độc nhất): không giống như lược đồ URL (liên kết sâu), các ứng dụng khác không thể sử dụng liên kết chung
  • Bảo vệ (Chắc chắn): khi người dùng cài đặt ứng dụng, iOS sẽ kiểm tra tệp apple-app-site-hiệp hội trên máy chủ để đảm bảo rằng ứng dụng được cài đặt trên máy được phép mở URL đã truy cập.
  • Uyển chuyển (Linh hoạt): Liên kết chung hoạt động ngay cả khi chưa cài đặt ứng dụng iOS, vì khi chưa cài đặt, URL sẽ được mở thông qua trình duyệt.
  • Đơn giản (Đơn giản): URL có thể được sử dụng cho cả trang web và ứng dụng iOS

Thực hiện theo các bước sau để sử dụng liên kết chung:

  • Tạo một tệp** apple-app-site-association** ở định dạng JSON, mô tả các URL của trang web mà ứng dụng có thể truy cập
  • Tải tệp lên apple-app-site-hiệp hội đến máy chủ HTTPS.
  • Đã thêm xử lý mực phổ quát vào ứng dụng.

Tài liệu apple-app-site-hiệp hội là một tệp JSON có định dạng sau

{
  "applinks": {
       "apps": [],
        "details": [
           {
               "appID":"Team name + App Bundle ID”,
               "paths":[ "*" ]
           }
         ]
    }
}

Trong đó:

  • appID : thông tin app được phép truy cập URL theo mẫu Tên nhóm + App BundleID
  • đường dẫn: là danh sách các url con của trang web mà ứng dụng có thể truy cập. VD: [“*”]: cho phép truy cập vào tất cả các trang web [“/abc”, “/xyz”]

Tài liệu apple-app-site-hiệp hội khi upload lên server phải đảm bảo các điều kiện sau:

  • Máy chủ phải hỗ trợ HTTPS
  • Các tệp có thể được đặt trong thư mục gốc của ứng dụng web và có thể được truy cập trực tiếp và không cần chuyển hướng
  • Loại nội dung phải là ứng dụng/json (hoặc ứng dụng/pkcs7-mime)

Định cấu hình miền để hỗ trợ các liên kết chung

Vào phần cấu hình ứng dụng, chọn tab khả năng chọn dòng Tên miền được liên kết thay đổi trạng thái thành TRÊN Sau đó thêm danh sách tên miền hỗ trợ liên kết phổ quát, URL sẽ như thế nào liên kết ứng dụng: Tên miền. VD: liên kết ứng dụng:google.com.vn (Để có thể kích hoạt chức năng Tên miền được liên kếtcần sử dụng tài khoản nhà phát triển iOS, tài khoản miễn phí sẽ không kích hoạt chức năng này).

Liên kết chung

Xử lý khi truy cập Universal link

thực hiện chức năng ứng dụng func(_ ứng dụng: UIApplication, tiếp tục userActivity: NSUserActivity, recoveryHandler: @escaping ([Any]?) -> Vô hiệu) -> Bool TRONG appdeleagte

Một ứng dụng được kích hoạt khi truy cập Universal Link sẽ được xử lý ở chức năng này. Chúng ta có thể dựa vào hành vi hoặc URL mà người dùng đã truy cập để chuyển đến chức năng nào đó của ứng dụng.

func application(_ application: UIApplication, continue userActivity: NSUserActivity, restorationHandler: @escaping ([Any]?) -> Void) -> Bool {
    if userActivity.activityType == NSUserActivityTypeBrowsingWeb {
        //In ra URL mà người dùng đã truy cập
        print(userActivity.webpageURL!)
    }
    return true
}

Demo chương trình sử dụng Universal link Chương trình gồm 2 phần:

  • Một trang web tĩnh bao gồm các trang và tệp chức năng apple-app-site-hiệp hội và đặt nó trên một máy chủ web hỗ trợ HTTPS. Giao diện như sau:

Liên kết chung

  • Ứng dụng iOS có giao diện như bên dưới:

Liên kết chung

Mục đích của chương trình:

  • Khi người dùng trình duyệt truy cập URL vào trang chi tiết của Android hoặc iOS, nó sẽ tự động chuyển sang phần chi tiết tương ứng trên ứng dụng iOS.

[blog type=”alt” heading=”Xem thêm bài mới nhất” heading_type=”block” /]

Theo Viblo/Apple Developers

How useful was this post?

Click on a star to rate it!

Average rating 0 / 5. Vote count: 0

No votes so far! Be the first to rate this post.

As you found this post useful...

Follow us on social media!

We are sorry that this post was not useful for you!

Let us improve this post!

Tell us how we can improve this post?

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *

Website này sử dụng Akismet để hạn chế spam. Tìm hiểu bình luận của bạn được duyệt như thế nào.