Đăng nhập với Hướng dẫn bắt đầu của Amazon cho các ứng dụng iOS

Đăng nhập với Amazon: Hướng dẫn bắt đầu dành cho iOS
Bản quyền © 2017 Amazon.com, Inc., hoặc các chi nhánh của nó. Đã đăng ký Bản quyền. Amazon và biểu trưng Amazon là thương hiệu của Amazon.com, Inc. hoặc các chi nhánh của Amazon. Tất cả các nhãn hiệu khác không thuộc sở hữu của Amazon là tài sản của chủ sở hữu tương ứng.
Giới thiệu
Trong hướng dẫn này, chúng tôi sẽ chỉ cho bạn cách thêm Đăng nhập bằng Amazon vào ứng dụng iOS của bạn, sử dụng Đăng nhập bằng Amazon SDK cho iOS v3.0 +.
Sau khi hoàn thành hướng dẫn này, bạn sẽ có nút Đăng nhập bằng Amazon hoạt động trong ứng dụng của mình để cho phép người dùng đăng nhập bằng thông tin đăng nhập Amazon của họ. Để tìm hiểu thêm về quy trình đăng nhập mà khách hàng của bạn sẽ gặp phải khi họ sử dụng Đăng nhập bằng Amazon trong ứng dụng của bạn, vui lòng xem Trải nghiệm của khách hàng Quaview cho các ứng dụng iOS.
Cài đặt Công cụ dành cho nhà phát triển iOS
Cài đặt XCode
Đăng nhập bằng Amazon SDK cho iOS được Amazon cung cấp để giúp bạn thêm Đăng nhập bằng Amazon vào ứng dụng iOS của mình. SDK được thiết kế để sử dụng với môi trường phát triển Xcode. SDK hỗ trợ các ứng dụng chạy trên iOS 7.0 trở lên sử dụng ARMv7, ARMv7s, ARM64, i386 vàx86_64.
Bạn có thể cài đặt Xcode từ Mac App Store. Để biết thêm thông tin, hãy xem Xcode: Có gì mới on nhà phát triển.apple.com.
Sau khi Xcode được cài đặt, bạn có thể Cài đặt Đăng nhập bằng Amazon SDK cho iOS Và Chạy Sampứng dụng le, như mô tả dưới đây.
Cài đặt Đăng nhập bằng Amazon SDK cho iOS
Đăng nhập bằng Amazon SDK cho iOS có hai gói. Đầu tiên chứa thư viện iOS và tài liệu hỗ trợ. Thứ hai chứa dưới dạngampứng dụng le cho phép người dùng đăng nhập và view chuyên nghiệp của họfile dữ liệu.
Nếu bạn chưa cài đặt Xcode, hãy xem hướng dẫn trong Cài đặt Xcode phần trên.
- Tải về Đăng nhậpVớiAmazonSDKForiOS.zip và trích xuất files vào một thư mục trên ổ cứng của bạn.
Bạn sẽ thấy một thư mục LoginWithAmazon.framework. Điều này chứa thư viện Đăng nhập với Amazon.
Ở cấp cao nhất của zip là Đăng nhậpVớiAmazon.docet danh mục. Điều này chứa tài liệu API. - Xem Cài đặt Đăng nhập bằng Thư viện Amazon để biết hướng dẫn về cách thêm thư viện vào dự án iOS.
Khi Đăng nhập bằng Amazon SDK cho iOS được cài đặt, bạn có thể Tạo thông tin đăng nhập mới với dự án Amazon sau bạn Đăng ký bằng Đăng nhập với Amazon.
Chạy Sampứng dụng le
Để chạy sampứng dụng le, mở sample trong Xcode.
- Tải về SampleLoginWithAmazonAppForiOS.zip và sao chép
SampleĐăng nhậpVớiAmazonAppForiOS vào thư mục Documents của bạn. - Khởi động Xcode. Nếu hộp thoại Chào mừng đến với Xcode bật lên, hãy nhấp vào Mở Khác. Nếu không, từ menu chính, hãy nhấp vào File và chọn Mở.
- Chọn thư mục Documents và chọn
SampleLoginWithAmazonAppForiOS / LoginWithAmazonSample /
Đăng nhậpVới AmazonSample.xcodeproj. Nhấp chuột Mở. - Các sample dự án bây giờ sẽ tải. Khi nó kết thúc, hãy chọn Sản phẩm từ menu chính và chọn Chạy.
Đăng ký bằng Đăng nhập với Amazon
Trước khi bạn có thể sử dụng Đăng nhập bằng Amazon trên webtrang web hoặc trong ứng dụng di động, bạn phải đăng ký ứng dụng với Đăng nhập bằng Amazon. Ứng dụng Đăng nhập bằng Amazon của bạn là đăng ký có chứa thông tin cơ bản về doanh nghiệp của bạn và thông tin về từng webtrang web hoặc ứng dụng di động bạn tạo hỗ trợ Đăng nhập bằng Amazon. Thông tin doanh nghiệp này được hiển thị cho người dùng mỗi khi họ sử dụng Đăng nhập bằng Amazon trên webtrang web hoặc ứng dụng di động. Người dùng sẽ thấy tên ứng dụng, biểu trưng của bạn và liên kết đến chính sách bảo mật của bạn. Các bước này trình bày cách đăng ký ứng dụng iOS của bạn để sử dụng với Đăng nhập bằng Amazon.
Đăng ký Đăng nhập của bạn với Ứng dụng Amazon
- Đi đến https://login.amazon.com.
- Nếu bạn đã đăng ký Đăng nhập với Amazon trước đây, hãy nhấp vào Bảng điều khiển ứng dụng. Nếu không, hãy nhấp vào Đăng ký. Bạn sẽ được chuyển hướng đến Trung tâm người bán, nơi xử lý đăng ký đăng ký Đăng nhập với Amazon. Nếu đây là lần đầu tiên bạn sử dụng Trung tâm người bán, bạn sẽ được yêu cầu thiết lập tài khoản Trung tâm người bán.
- Nhấp chuột Đăng ký ứng dụng mới. Các Đăng ký ứng dụng của bạn biểu mẫu sẽ xuất hiện:

a. Trong biểu mẫu Đăng ký Đơn đăng ký của bạn, hãy nhập Tên và một Sự miêu tả cho ứng dụng của bạn. Các Tên là tên hiển thị trên màn hình đồng ý khi người dùng đồng ý chia sẻ thông tin với ứng dụng của bạn. Tên này áp dụng cho Android, iOS và webphiên bản trang web của ứng dụng của bạn.
Các Sự miêu tả giúp bạn phân biệt từng Đăng nhập của mình với các ứng dụng Amazon và không được hiển thị cho người dùng.
b. Nhập một Thông báo về quyền riêng tư URL cho ứng dụng của bạn.
Thông báo về quyền riêng tư URL là vị trí của chính sách bảo mật của công ty hoặc ứng dụng của bạn (đối vớiamplà, http://www.example.com/privacy.html). Liên kết này được hiển thị cho người dùng trên màn hình đồng ý.
c. Nếu bạn muốn thêm một Hình ảnh Logo cho ứng dụng của bạn, hãy nhấp vào Chọn File và tìm hình ảnh phù hợp.
Biểu trưng này được hiển thị trên màn hình đăng nhập và đồng ý để đại diện cho doanh nghiệp của bạn hoặc webđịa điểm.
Biểu trưng sẽ được thu nhỏ chiều cao còn 50 pixel nếu cao hơn 50 pixel; không có giới hạn về chiều rộng của logo. - Nhấp chuột Cứu. Của bạn sampViệc đăng ký sẽ trông tương tự như thế này:

Sau khi cài đặt ứng dụng cơ bản của bạn được lưu, bạn có thể thêm cài đặt cho các mục đích cụ thể webcác trang web và ứng dụng di động sẽ sử dụng Đăng nhập này bằng tài khoản Amazon.
Nếu các phiên bản khác nhau của ứng dụng của bạn có các ID gói khác nhau, chẳng hạn như đối với một hoặc nhiều phiên bản thử nghiệm và phiên bản sản xuất, thì mỗi phiên bản yêu cầu Khóa API riêng. Từ Cài đặt iOS của ứng dụng, nhấp vào Thêm Khóa API để tạo các khóa bổ sung cho ứng dụng của bạn (một khóa cho mỗi phiên bản).
Thêm cài đặt iOS vào ứng dụng của bạn
Sau khi cài đặt ứng dụng cơ bản của bạn được lưu, bạn có thể thêm cài đặt cho các mục đích cụ thể webcác trang web và ứng dụng dành cho thiết bị di động sẽ sử dụng Đăng nhập bằng Amazon.
Để đăng ký Ứng dụng iOS, bạn phải chỉ định số nhận dạng Gói cho dự án ứng dụng. Đăng nhập bằng Amazon sẽ sử dụng ID gói để tạo khóa API. Khóa API sẽ cấp cho ứng dụng của bạn quyền truy cập vào Dịch vụ ủy quyền Đăng nhập bằng Amazon. Làm theo các bước sau để thêm ứng dụng iOS vào tài khoản của bạn:
- Từ Ứng dụng màn hình, nhấp chuột Cài đặt iOS. Nếu bạn đã đăng ký ứng dụng iOS, hãy tìm Thêm khóa API nút trong Cài đặt iOS phần.
Các Chi tiết ứng dụng iOS biểu mẫu sẽ xuất hiện:

- Nhập vào Nhãn ứng dụng iOS của bạn.
Đây không phải là tên chính thức của ứng dụng của bạn. Nó chỉ đơn giản là xác định ứng dụng iOS cụ thể này trong số các ứng dụng và webcác trang web đã đăng ký Đăng nhập của bạn với ứng dụng Amazon. - Nhập của bạn ID gói. Điều này phải khớp với số nhận dạng gói của dự án iOS của bạn. Để xác định số nhận dạng gói của bạn, hãy mở dự án trong Xcode. Mở danh sách thuộc tính cho dự án (-Info.plist) trong Bộ điều hướng dự án. Các Bộ nhận dạng gói là một trong những thuộc tính trong danh sách.
- Nhấp chuột Cứu.
Nếu các phiên bản khác nhau của ứng dụng có ID gói khác nhau, chẳng hạn như cho một hoặc nhiều phiên bản thử nghiệm và phiên bản sản xuất, thì mỗi phiên bản yêu cầu Khóa API riêng. Từ Cài đặt iOS của ứng dụng, nhấp vào nút Thêm khóa API để tạo khóa bổ sung cho ứng dụng của bạn (một khóa cho mỗi phiên bản).
Khóa API và ID gói iOS
Số nhận dạng Gói là duy nhất cho mọi ứng dụng iOS. Đăng nhập với Amazon sử dụng ID gói để xây dựng
Khóa API của bạn. Khóa API cho phép dịch vụ ủy quyền Đăng nhập bằng Amazon nhận dạng ứng dụng của bạn.
Xác định số nhận dạng gói cho ứng dụng iOS
1. Mở dự án ứng dụng của bạn trong Xcode.
2. Mở Tài sản thông tin Danh sách cho dự án (-Info.plist) trong Điều hướng dự án.
3. Tìm Bộ nhận dạng gói trong danh sách các thuộc tính.
Lấy khóa API iOS
Sau khi bạn đã đăng ký phiên bản iOS và cung cấp ID gói, bạn có thể truy xuất khóa API từ trang đăng ký cho ứng dụng Đăng nhập bằng Amazon của mình. Bạn sẽ cần đặt khóa API đó vào danh sách thuộc tính của dự án. Cho đến khi bạn làm như vậy, ứng dụng sẽ không được phép giao tiếp với dịch vụ ủy quyền Đăng nhập bằng Amazon.
- Đi đến https://login.amazon.com.
- Nhấp chuột Bảng điều khiển ứng dụng.
- Trong Ứng dụng , nhấp vào ứng dụng của bạn.
- Tìm ứng dụng iOS của bạn trong Cài đặt iOS phần.
Nếu bạn chưa đăng ký ứng dụng iOS, hãy xem Thêm cài đặt iOS vào ứng dụng. - Nhấp chuột Tạo giá trị khóa API. Một cửa sổ bật lên sẽ hiển thị khóa API của bạn. Để sao chép khóa, hãy nhấp vào Chọn tất cả để chọn toàn bộ khóa.
Ghi chú: Giá trị khóa API một phần dựa vào thời gian nó được tạo. Do đó, (các) Giá trị khóa API tiếp theo mà bạn tạo có thể khác với giá trị ban đầu. Bạn có thể sử dụng bất kỳ Giá trị Khóa API nào trong số này trong ứng dụng của mình vì chúng đều hợp lệ. - Xem Thêm khóa API của bạn vào Danh sách thuộc tính ứng dụng của bạn để biết hướng dẫn về cách thêm khóa API vào ứng dụng iOS của bạn
Tạo Đăng nhập với Dự án Amazon
Trong phần này, bạn sẽ học cách tạo một dự án Xcode mới để Đăng nhập với Amazon và định cấu hình dự án.
Tạo thông tin đăng nhập mới với dự án Amazon
Nếu bạn chưa có dự án ứng dụng để sử dụng Đăng nhập với Amazon, hãy làm theo hướng dẫn bên dưới để tạo một dự án ứng dụng. Nếu bạn có một ứng dụng hiện có, hãy chuyển đến phần Cài đặt Đăng nhập với Thư viện Amazon phần bên dưới.
- Phóng Mã hóa.
- Nếu bạn được giới thiệu với một Chào mừng đến với Xcode hộp thoại, chọn Tạo nên một Dự án Xcode Mới.
Nếu không, từ File thực đơn, chọn Mới Và Dự án. - Chọn loại dự án bạn muốn tạo và nhấp vào Kế tiếp.
- Nhập một Tên sản phẩm và một Định danh công ty. Lưu ý của bạn Số nhận dạng gói, và nhấp vào Tiếp theo.
- Chọn một vị trí để lưu trữ dự án của bạn và nhấp vào Tạo nên.
Bây giờ bạn sẽ có một dự án mới mà bạn có thể sử dụng để gọi Đăng nhập với Amazon.
Cài đặt Đăng nhập với Thư viện Amazon
Nếu bạn chưa tải xuống Đăng nhập bằng Amazon SDK cho iOS, hãy xem Cài đặt Đăng nhập bằng Amazon SDK cho iOS.
Đăng nhập với dự án Amazon phải liên kết Đăng nhậpVớiAmazon.framework Và Bảo mật.framework các thư viện. Bạn cũng sẽ cần phải định cấu hình đường dẫn tìm kiếm khung để tìm các tiêu đề Đăng nhập bằng Amazon.
- Nếu dự án của bạn không có thư mục Framework, hãy bấm chuột phải vào tên dự án trong Bộ điều hướng
trong Xcode, sau đó nhấp vào Nhóm mới. - Đặt tên cho nhóm mới Các khuôn khổ.
- Chọn Khung thư mục và nhấp chuột File từ menu Chính.
- Lựa chọn Thêm vào Files ĐẾN Dự án.
- Trong hộp thoại, hãy chọn Đăng nhậpVớiAmazon.framework và nhấp vào Thêm vào.
Nếu bạn đã sử dụng thư viện Đăng nhập bằng Amazon 1.0, hãy xóa đăng nhập bằng amazon-sdk thư mục và đăng nhập với-amazon-sdk.a từ thư mục Frameworks. Nhấp vào Chỉnh sửa từ menu chính và chọn Xóa bỏ. - Chọn tên dự án của bạn trong Project Navigator.
Các Trình soạn thảo dự án sẽ xuất hiện trong vùng soạn thảo của không gian làm việc Xcode. - Nhấp vào tên dự án của bạn dưới Mục tiêu, và chọn Xây dựng giai đoạn. Mở rộng Liên kết nhị phân với thư viện và nhấp vào dấu cộng để thêm thư viện.
- Trong hộp tìm kiếm, hãy nhập Bảo mật.framework. Lựa chọn Bảo mật.framework và nhấp vào Thêm vào.
- Trong hộp tìm kiếm, hãy nhập SafariServices.framework. Lựa chọn SafariServices.framework và nhấp vào Thêm vào.

- Chọn Cài đặt bản dựng. Nhấp vào Tất cả để view tất cả các thiết lập.
- Trong Đường dẫn Tìm kiếm, hãy đảm bảo rằng Đăng nhậpVớiAmazon.framework thư mục nằm trong Đường dẫn tìm kiếm khung.
Ví dụamplê:

- Trước khi xây dựng dự án của mình, nếu bạn đã sử dụng thư viện Đăng nhập bằng Amazon 1.0, hãy thay thế #import “AIMobileLib.h”, #import “AIAuthenticationDelegate.h” và #import “AIError.h” trong nguồn của bạn files với một #import duy nhất
. LoginWithAmazon.hline bao gồm tất cả các tiêu đề Đăng nhập với Amazon cùng một lúc.
Ngoài ra, bạn có thể xóa mọi tham chiếu đến đường dẫn thư viện 1.0 trong Đường dẫn Tìm kiếm Tiêu đề hoặc Đường dẫn Tìm kiếm Thư viện.
13. Từ menu chính, nhấp vào Sản phẩm và chọn Xây dựng. Quá trình xây dựng sẽ hoàn tất thành công.
Thêm khóa API của bạn vào danh sách thuộc tính ứng dụng của bạn
Khi bạn đăng ký ứng dụng iOS của mình bằng Đăng nhập với Amazon, bạn sẽ được chỉ định một khóa API. Đây là số nhận dạng mà Thư viện Di động Amazon sẽ sử dụng để xác định ứng dụng của bạn đối với dịch vụ ủy quyền Đăng nhập bằng Amazon. Thư viện Di động Amazon tải giá trị này trong thời gian chạy từ giá trị thuộc tính APIKey trong Danh sách Thuộc tính Thông tin của ứng dụng của bạn.
- Khi dự án của bạn đang mở, hãy chọn Hỗ trợ Files thư mục, sau đó chọn -Info.plist file (Ở đâu là tên dự án của bạn). Thao tác này sẽ mở danh sách thuộc tính để chỉnh sửa:

- Đảm bảo rằng không có mục nào được chọn. Sau đó, từ menu chính, hãy nhấp vào Trình chỉnh sửa và Thêm mục. Đi vào Mã API và nhấn Đi vào.
- Bấm đúp vào bên dưới Giá trị cột để thêm giá trị. Dán Khóa API của bạn làm giá trị.
Thêm một URL Lược đồ cho danh sách thuộc tính ứng dụng của bạn
Khi người dùng đăng nhập, họ sẽ thấy một trang đăng nhập Amazon. Để ứng dụng của bạn nhận được xác nhận đăng nhập của họ, bạn phải thêm URL kế hoạch để web trang có thể chuyển hướng trở lại ứng dụng của bạn. Các URL lược đồ phải được khai báo là amzn- (ví dụamplà, amzncom.example.app). Để biết thêm thông tin, hãy xem Sử dụng URL Các kế hoạch giao tiếp với các ứng dụng trên developer.apple.com.
- Khi dự án của bạn đang mở, hãy chọn Hỗ trợ Filethư mục s, sau đó chọn -Info.plist file (Ở đâu là tên dự án của bạn). Thao tác này sẽ mở danh sách thuộc tính để chỉnh sửa:

- Đảm bảo rằng không có mục nào được chọn. Sau đó, từ menu chính, hãy nhấp vào Trình chỉnh sửa và Thêm mục. Nhập hoặc chọn URL các loại và nhấn Đi vào.
- Mở rộng URL các loại để tiết lộ Mục 0. Lựa chọn Mục 0 và từ menu chính, hãy nhấp vào Biên tập viên Và Thêm mục. Nhập hoặc chọn URL Mã định danh và nhấn Đi vào.
- Lựa chọn Mục 0 dưới URL Mã định danh và nhấp đúp vào bên dưới Giá trị cột để thêm giá trị. Giá trị là ID gói của bạn. Bạn có thể tìm thấy ID gói của mình được liệt kê là Bộ nhận dạng gói trong danh sách tài sản.
- Lựa chọn Mục 0 dưới URL các loại và từ menu chính, hãy nhấp vào Biên tập viên và Thêm mục. Nhập hoặc chọn URL Các chương trình và nhấn Enthời hạn.
- Lựa chọn Mục 0 dưới URL Các chương trình và bấm đúp vào bên dưới cột Giá trị để thêm giá trị. Giá trị là ID gói của bạn với amzn- prepended (cho người yêu cũamplà, amzn com.example.app). Bạn có thể tìm thấy ID gói của mình được liệt kê là Bộ nhận dạng gói trong danh sách tài sản.
Đăng nhập với Amazon cung cấp một số nút tiêu chuẩn mà bạn có thể sử dụng để nhắc người dùng đăng nhập từ ứng dụng của bạn.
Phần này cung cấp các bước để tải xuống hình ảnh Đăng nhập chính thức với Amazon và ghép nối nó với iOS UIButton.
- Thêm tiêu chuẩn Nút UI cho ứng dụng của bạn.
Để biết hướng dẫn và thông tin về cách thêm nút vào ứng dụng, hãy xem Tạo và cấu hình View Đối tượng Và Bắt đầu phát triển ứng dụng iOS ngay hôm nay trên developer.apple.com. - Thêm vào Chạm lên bên trong sự kiện cho nút tới một phương thức có tên
onLoginButtonClicked. Để trống phần triển khai ngay bây giờ. Các Tạo và cấu hình View Đối tượng Và Bắt đầu phát triển ứng dụng iOS ngay hôm nay tài liệu trên developer.apple.com bao gồm các bước về cách thêm sự kiện nút. - Chọn một hình ảnh nút.
Tham khảo Đăng nhập của chúng tôi với Nguyên tắc phong cách Amazon để biết danh sách các nút mà bạn có thể sử dụng trong ứng dụng của mình. Tải xuống bản sao của LWA_for_iOS.zip file. Tìm nút ưa thích của bạn trong cả thư mục 1x và 2x và giải nén chúng từ zip. Trích xuất phiên bản _Pressed của nút của bạn nếu bạn muốn hiển thị nút ở trạng thái Đã chọn. - Thêm hình ảnh vào dự án của bạn.
a. Trong Xcode, với dự án của bạn đã được tải, hãy nhấp vào File từ menu chính và chọn Thêm Files để "dự án".
b. Trong hộp thoại, chọn hình ảnh nút file(các) mà bạn đã tải xuống và nhấp vào Thêm.
c. Các nút bây giờ sẽ nằm trong dự án trong thư mục dự án của bạn. Di chuyển chúng đến Hỗ trợ Filethư mục s. - Thêm hình ảnh vào nút của bạn.
Để kích hoạt hình ảnh cho nút của bạn, bạn có thể sửa đổi thuộc tính nút hoặc sử dụng setImage: forState phương pháp trên Nút UI vật. Làm theo các bước sau để sửa đổi thuộc tính hình ảnh cho nút của bạn:
a. Mở bảng phân cảnh cho ứng dụng của bạn.
b. Chọn nút trong bảng phân cảnh của bạn bằng cách nhấp vào nút đó hoặc chọn nó từ View Cảnh điều khiển cây.
c. Trong Tiện ích cửa sổ, mở Trình kiểm tra thuộc tính.
d. Ở phía trên cùng của Trình kiểm tra thuộc tính, đặt Kiểu trong tổng số nút tới Hệ thống.
e. Trong nhóm cài đặt thứ hai, hãy chọn Mặc định cho Cấu hình trạng thái.
f. Trong nhóm cài đặt thứ hai, hãy thả xuống Hình ảnh cài đặt.
g. Chọn đồ họa nút Đăng nhập bằng Amazon mà bạn đã thêm vào dự án. Không chọn phiên bản 2x: nó sẽ được tải tự động trên các thiết bị có màn hình mật độ cao (Retina).
h. Đặt cùng một hình ảnh cho Lý lịch cài đặt.
i. Nếu bạn muốn chỉ định phiên bản được nhấn của nút, hãy chọn Đã chọn vì Cấu hình trạng thái, và thiết lập Hình ảnh đến _ Ép phiên bản của nút của bạn.
j. Trên bảng phân cảnh, hãy điều chỉnh kích thước nút của bạn để phù hợp với hình ảnh, nếu cần.
Trong phần này, bạn sẽ thêm mã vào dự án của mình để đăng nhập người dùng bằng Đăng nhập bằng Amazon.
Sử dụng SDK cho API iOS
Trong phần này, bạn sẽ thêm mã vào dự án của mình để đăng nhập người dùng bằng Đăng nhập bằng Amazon.
Kết nối đại diện ứng dụng
Thực hiện ứng dụng: mởURL: tùy chọn: trong lớp trong dự án của bạn xử lý UIApplicationDelegate giao thức. Theo mặc định, đây sẽ là đại biểu ứng dụng lớp học. Khi người dùng đăng nhập thành công vào ứng dụng của bạn bằng Đăng nhập với Amazon, họ sẽ được chuyển hướng từ màn hình đăng nhập Amazon trở lại ứng dụng của bạn dựa trên URL Cơ chế bạn đã thêm vào Danh sách thuộc tính ứng dụng của mình trước đó. Để xử lý chuyển hướng này, bạn phải triển khai ứng dụng: mởURL: tùy chọn: phương thức, trả về YES nếu URL được xử lý thành công.
Đăng nhập bằng Amazon SDK cho iOS cung cấp chức năng thư viện, xử lýMởURL: sourceApplication: xử lý bất kỳ chuyển hướng nào URL được gửi từ các trang Amazon. Nó trả về CÓ nếu URL được SDK xử lý thành công. Gọi phương thức này trong ứng dụng: mởURL: tùy chọn: phương pháp.
Để gọi phương thức này, bạn sẽ cần nhập .
| nhập khẩu @implementation AppDelegate - Ứng dụng (BOOL): Ứng dụng (UIApplication *) đang mởURL: (NSURL *) url tùy chọn: (NSDictionaryURLOptionsKey, id> *) tùy chọn { trả về [AMZNAuthorizationManager handleOpenURL:url sourceApplication: tùy chọn [UIApplicationOpenURLTùy chọnSourceApplicationKey]]; } @kết thúc |
Phần này giải thích cách gọi API ủy quyền: withHandler: để đăng nhập người dùng. Điều này bao gồm việc tạo trình nghe onLoginButtonClicked: cho nút Đăng nhập bằng Amazon của bạn.
- Thêm Đăng nhập với Amazon vào dự án iOS của bạn. Xem Cài đặt Đăng nhập với Thư viện Amazon.
- Nhập Đăng nhập bằng API Amazon vào nguồn của bạn file.
Để nhập Đăng nhập bằng API Amazon, hãy thêm thông tin sau #báo cáo nhập khẩu đến nguồn của bạn file:#import - Gọi ủy quyền: withHandler: TRONG onLoginButtonClicked. Nếu bạn đã làm theo các bước trong Thêm thông tin đăng nhập bằng nút Amazon vào ứng dụng của mình, bạn sẽ có một onLoginButtonClicked: method được liên kết với nút Đăng nhập bằng Amazon. Trong phương pháp đó, hãy gọi ủy quyền: withHandler: để nhắc người dùng đăng nhập và cấp phép ứng dụng của bạn.
Phương pháp này sẽ cho phép người dùng đăng nhập và đồng ý với thông tin được yêu cầu theo một trong những cách sau:
- Chuyển sang web view trong bối cảnh an toàn (nếu ứng dụng Amazon Mua sắm được cài đặt cho thiết bị)
- Chuyển sang Safari View Bộ điều khiển (trên iOS 9 trở lên)
- Chuyển sang trình duyệt hệ thống (trên iOS 8 trở về trước)
Ngữ cảnh an toàn cho tùy chọn đầu tiên khả dụng khi ứng dụng Amazon Mua sắm được cài đặt vào thiết bị. Nếu người dùng đã đăng nhập vào ứng dụng Amazon Mua sắm, API này sẽ bỏ qua trang đăng nhập, dẫn đến một Đăng nhập (SSO) kinh nghiệm. Xem khách hàng-trải nghiệm-ios [PDF] để tìm hiểu thêm.
Tham số đầu tiên ủy quyền: withHandler: là một AMZNAủy quyềnYêu cầu đối tượng cho biết phạm vi ứng dụng của bạn đang yêu cầu ủy quyền. A phạm vi bao gồm dữ liệu người dùng bạn đang yêu cầu từ Đăng nhập với Amazon. Lần đầu tiên người dùng đăng nhập vào ứng dụng của bạn, họ sẽ được hiển thị danh sách dữ liệu bạn đang yêu cầu và được yêu cầu phê duyệt.
Đăng nhập bằng Amazon hiện hỗ trợ các phạm vi sau:Tên phạm vi Sự miêu tả chuyên nghiệpfile Cấp quyền truy cập vào tên, địa chỉ email và ID tài khoản Amazon của người dùng. chuyên nghiệpfile:tên người dùng Chỉ cấp quyền truy cập vào ID tài khoản Amazon của người dùng. mã bưu chính Cấp quyền truy cập vào mã zip / mã bưu điện của người dùng trên file cho tài khoản Amazon của họ. Sử dụng các phương pháp được xác định trong AMZNProfilePhạm vi để lấy một đối tượng phạm vi và thêm nó vào AMZNAủy quyềnYêu cầu sự vật. Xem các sampmã le bên dưới để biết chi tiết.
Tham số thứ hai để ủy quyền: withHandler: là AMZNAuthorizationRequestHandler, được mô tả trong bước tiếp theo. - Tạo một AMZNAuthorizationRequestHandler đối tượng khối. AMZNAuthorizationRequestHandler xử lý kết quả của ủy quyền: withHandler: gọi. Để tìm hiểu thêm về khối mục tiêu-c, hãy xem Làm việc với các khối trên developer.apple.com.
Tham số đầu tiên của AMZNAuthorizationRequestHandler là một AMZNAủy quyềnKết quả vật. Sau khi người dùng được ủy quyền thành công, AMZNAủy quyềnKết quả sẽ chứa mã thông báo truy cập có thể được sử dụng để truy cập chuyên nghiệp của người dùngfile dữ liệu và một AMZNNgười dùng đối tượng, chứa pro của người dùngfile dữ liệu. Tham số thứ hai của AMZNAuthorizationRequestHandler là một Boolean được gọi là người dùngDidcancel. Tham số này sẽ được đặt thành true nếu người dùng:
1. Đóng Safari View Bộ điều khiển trong quá trình đăng nhập và ủy quyền (trên iOS 9 trở lên)
2. Đóng web view trong ứng dụng Mua sắm Amazon
3. Hủy đăng nhập hoặc từ chối ủy quyền
Tham số thứ ba của AMZNAuthorizationRequestHandler là một NSLỗi đối tượng chứa chi tiết lỗi nếu đăng nhập và ủy quyền không thành công do SDK hoặc máy chủ ủy quyền.- (IBAction) onLogInButtonClicked: (id) sender {
// Xây dựng một yêu cầu ủy quyền.
AMZNAuthorizeRequest * request = [[AMZNAuthorizeRequest CẤP] init];
request.scope = [NSArray arrayWithObjects:
// [AMZNProfilePhạm vi userID],
[AMZNProfilePhạm vi chuyên nghiệpfile],
[AMZNProfileMã bưu chính phạm vi]]; // Thực hiện lệnh gọi Ủy quyền cho Đăng nhập bằng Amazon SDK.
[[AMZNAuthorizationManager sharedManager] ủy quyền: yêu cầu
withHandler: ^ (AMZNAuthorizeResult * kết quả, BOOL
userDidCancel, lỗi NSError *) {
nếu (lỗi) {
// Xử lý lỗi từ SDK hoặc máy chủ ủy quyền.
} khác nếu (userDidCancel) {
// Xử lý các lỗi gây ra khi người dùng hủy đăng nhập.
} khác {
// Xác thực thành công.
// Lấy mã thông báo truy cập và người dùng chuyên nghiệpfile dữ liệu.
NSString * accessToken = result.token;
AMZNUser * user = result.user;
NSString * userID = user.userID;
}
}];
}
Tìm nạp người dùng Profile Dữ liệu
Miễn là người dùng đăng nhập và được ủy quyền vào ứng dụng của bạn, bạn có thể tìm nạp người dùng chuyên nghiệp của họfile dữ liệu bất cứ lúc nào.
Phần này giải thích cách sử dụng tìm về: phương pháp của AMZNNgười dùng lớp để truy xuất người dùng chuyên nghiệp cập nhật nhấtfile dữ liệu cho người dùng hiện đang được ủy quyền. Người chuyên nghiệpfile dữ liệu bạn có thể truy xuất dựa trên phạm vi được chỉ ra trong ủy quyền gọi.
- Gọi AMZN Tìm nạp người dùng:.
Phương pháp này sẽ tìm nạp chuyên nghiệpfile dữ liệu thông qua một AMZNUserFetchRequestHandler đối tượng khối. Tham số đầu tiên AMZNUserRequestHandler là một AMZNNgười dùng đối tượng. Các AMZNNgười dùng đối tượng có thể bao gồm một tên người dùng, tên, email và Mã bưu chính, tùy thuộc vào phạm vi được yêu cầu.[AMZNUser tìm nạp: ^ (AMZNUser * user, NSError * error) {
nếu (lỗi) {
// Lỗi từ SDK hoặc không có người dùng nào ủy quyền cho ứng dụng.
} else if (người dùng) {
NSString * userID = user.userID;
// NSString * name = user.name;
// NSString * email = user.email;
// NSString * PostalCode = user.postalCode;
}
}];
Kiểm tra Đăng nhập của Người dùng khi Khởi động
Nếu người dùng đăng nhập vào ứng dụng của bạn, đóng ứng dụng và khởi động lại ứng dụng sau đó, ứng dụng vẫn được phép truy xuất dữ liệu. Người dùng không tự động đăng xuất. Khi khởi động, bạn có thể hiển thị người dùng là đã đăng nhập nếu ứng dụng của bạn vẫn được ủy quyền. Phần này giải thích cách sử dụng ủy quyền: withHandler: để xem liệu ứng dụng có còn được ủy quyền hay không.
- Tạo một AMZNAủy quyềnYêu cầu đối tượng và chỉ định phạm vi cho biết dữ liệu người dùng mà ứng dụng của bạn đang yêu cầu ủy quyền. Để biết thêm thông tin về phạm vi, hãy xem Xử lý Nút Đăng nhập và Nhận Profile Dữ liệu.
- Bộ AMZNAủy quyềnYêu cầu.tương tác ĐẾN AMZNChiến lược tương tácNever. AMZNAủy quyềnYêu cầu hỗ trợ nhiều chiến lược để nhắc người dùng đăng nhập:
- AMZNChiến lược tương tácTự động (mặc định): SDK tìm kiếm một khoản cấp phép được lưu trữ cục bộ từ trước đó ủy quyền: withHandler: phản hồi. Nếu có sẵn, hợp lệ và chứa tất cả các phạm vi được yêu cầu, SDK sẽ trả về phản hồi thành công qua AMZNAuthorizationRequestHandler, và sẽ không nhắc người dùng đăng nhập. Nếu không, người dùng sẽ được nhắc đăng nhập.
- AMZNChiến lược tương tácLuôn luôn: SDK sẽ luôn nhắc người dùng đăng nhập bất kể trước đó họ đã được phép sử dụng ứng dụng hay chưa. Khi người dùng được nhắc, SDK sẽ xóa tất cả các khoản cấp quyền được lưu trong bộ nhớ cache cục bộ cho ứng dụng.
- AMZNChiến lược tương tácNever: SDK tìm kiếm một khoản cấp phép được lưu trữ cục bộ từ trước đó ủy quyền: withHandler phản hồi. Nếu có sẵn, hợp lệ và chứa tất cả các phạm vi được yêu cầu, SDK sẽ trả về AMZNAủy quyềnKết quả đối tượng có chứa mã thông báo truy cập và người dùng chuyên nghiệpfile dữ liệu.
Nếu không, nó sẽ trả về một NSLỗi đối tượng thông qua AMZNAuthorizationRequestHandler.// Xây dựng một yêu cầu ủy quyền.
AMZNAuthorizeRequest * request = [[AMZNAuthorizeRequest CẤP] init];
request.scope = [NSArray arrayWithObjects:
// [AMZNProfilePhạm vi userID],
[AMZNProfilePhạm vi chuyên nghiệpfile],
[AMZNProfileMã bưu chính phạm vi]]; request.interactiveStrategy = AMZNInteractiveStrategyNever; [[AMZNAuthorizationManager sharedManager] ủy quyền: yêu cầu
withHandler: ^ (AMZNAuthorizeResult * kết quả, BOOL
userDidCancel, lỗi NSError *) {
nếu (lỗi) {
// Lỗi từ SDK, cho biết trước đây người dùng không phải
được ủy quyền cho ứng dụng của bạn trong các phạm vi được yêu cầu.
} khác {
// Người dùng trước đây đã được ủy quyền cho ứng dụng của bạn.
// Lấy mã thông báo truy cập và người dùng chuyên nghiệpfile dữ liệu.
NSString * accessToken = result.token;
AMZNUser * user = result.user;
NSString * userID = user.userID;
}
}];
Phần này giải thích cách sử dụng đăng xuất để xóa dữ liệu ủy quyền của người dùng khỏi cả AIMobileLib kho dữ liệu cục bộ và máy chủ ủy quyền. Người dùng sẽ phải đăng nhập lại để ứng dụng truy xuất chuyên nghiệpfile dữ liệu. Sử dụng phương pháp này để đăng xuất người dùng hoặc để khắc phục sự cố đăng nhập trong ứng dụng.
- Thực hiện cơ chế đăng xuất.
Khi người dùng đã đăng nhập thành công, bạn nên cung cấp cơ chế đăng xuất để họ có thể xóa chuyên nghiệp của mìnhfile dữ liệu và các phạm vi đã được ủy quyền trước đó. Cơ chế của bạn có thể là một siêu liên kết, nút hoặc một mục menu. - Gọi đăng xuất:.
Gọi đăng xuất: trong trình xử lý đăng xuất của bạn để xóa dữ liệu ủy quyền của người dùng (mã thông báo truy cập, chuyên nghiệpfile) từ cửa hàng cục bộ và trạng thái xác thực của chúng từ máy chủ. Tham số đầu vào cho đăng xuất là một AMZNAuthorizationRequestHandler đối tượng khối. Khối sẽ phát hiện và xử lý NSLỗi các đối tượng, được trả lại khi đăng xuất: thất bại.[[AMZNAuthorizationManager sharedManager] signOut: ^ (NSError * _Nullable
lỗi) {
if (! error) {
// lỗi từ SDK hoặc Đăng nhập bằng máy chủ ủy quyền của Amazon.
}
}];
Kiểm tra sự tích hợp của bạn
Khởi chạy ứng dụng của bạn trong thiết bị iOS hoặc trình mô phỏng và xác nhận rằng bạn có thể đăng nhập bằng thông tin đăng nhập Amazon.com của mình.
Ghi chú: Khi kiểm tra trên trình mô phỏng iOS10, bạn có thể thấy thông báo lỗi APIKey cho Ứng dụng không hợp lệ cho một ủy quyền yêu cầu hoặc Mã lỗi không xác định cho một ClearAuthorizationState yêu cầu. Đây là một lỗi đã biết với Apple xảy ra khi SDK cố gắng truy cập chuỗi khóa. Cho đến khi Apple giải quyết được lỗi, bạn có thể khắc phục lỗi đó bằng cách bật Chia sẻ chuỗi khóa cho ứng dụng của bạn trong Khả năng tab mục tiêu của ứng dụng của bạn. Lỗi này chỉ ảnh hưởng đến trình mô phỏng. Bạn có thể kiểm tra trên các thiết bị iOS10 thực tế mà không cần sử dụng bất kỳ giải pháp thay thế nào.
Đăng nhập với Hướng dẫn bắt đầu Amazon cho ứng dụng iOS - Tải xuống [đã tối ưu hóa]
Đăng nhập với Hướng dẫn bắt đầu Amazon cho ứng dụng iOS - Tải về



