Đăng nhập với Hướng dẫn bắt đầu Amazon dành cho iOS
Đăng nhập với Amazon: Hướng dẫn bắt đầu dành cho iOS
Bản quyền © 2016 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 đều là tài sản của chủ sở hữu tương ứng.
Bắt đầu cho iOS
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. 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ọ
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 trên developer.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 Đăng nhậpVớiAmazon.framework danh mục. Đ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.doc thiết lập thư mục. Điều này chứa tài liệu API. - Nhìn thấy Cài đặt Đăng nhập với 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 đó Đă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
Sampthư mục leLoginWithAmazonAppForiOS 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 / LoginWithAmazonSample.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 nhập với ứng dụng Amazon và thêm ứng dụng iOS vào tài khoản đó.
Xem các chủ đề sau
- Đăng ký Đăng nhập của bạn với Ứng dụng Amazon
- Thêm ứng dụng iOS vào Security Profile
- Khóa API và ID gói iOS
o Xác định số nhận dạng gói cho ứng dụng iOS
o Lấy khóa API iOS
Đă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, bấm 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 dụng Đă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à 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.
b. Nhập 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ớiample, 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 Duyệt 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ó 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 của bạn, hãy 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 ứng dụng iOS vào Security Profile
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.
Để đă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ừ màn hình Ứng dụng, nhấp vào 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 Ứng dụng iOS Biểu mẫu chi tiết 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. Định danh Gói là một trong những thuộc tính trong danh sách.
- Nhấp chuột Cứu.
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 để tạo 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
- Mở dự án ứng dụng của bạn bằng Xcode.
- Mở Danh sách tài sản thông tin cho dự án ( -Info.plist) trong Bộ điều hướng dự án.
- Tìm thấy 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.
1. Đi đến https://login.amazon.com.
2. Nhấp vào Bảng điều khiển ứng dụng.
3. Trong Ứng dụng , nhấp vào ứng dụng của bạn.
4. 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 ứng dụng iOS vào Security Profile.
5. Nhấp vào 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ệ.
6. 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.
Xem các chủ đề sau:
- Tạo thông tin đăng nhập mới với dự án Amazon
- Cài đặt Đăng nhập với Thư viện Amazon
- 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
- Thêm một URL Lược đồ cho danh sách thuộc tính ứng dụng của bạn
- Thêm ngoại lệ bảo mật truyền tải ứng dụng cho Amazon vào ứng dụng của bạn Danh sách tài sản
GHI CHÚ: Bước mới này hiện là bắt buộc khi phát triển trên iOS 9 SDK - Thêm thông tin đăng nhập bằng nút Amazon vào ứng dụng của bạ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 bằng Thư viện Amazon 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 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 Mã định danh góivà nhấp vào Kế tiếp.
- 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
- Với dự án của bạn đang mở trong Xcode, hãy chọn Khung thư mục, nhấp vào File từ menu chính, sau đó 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.
Nếu bạn đã sử dụng thư viện Đăng nhập bằng Amazon 1.0, hãy xóa thư mục sdk đăng nhập bằng amazon và đăng nhập bằng amazon-sdk.a khỏi thư mục Frameworks. Nhấp chuột Biên tập từ menu chính và chọn Xóa bỏ. - Chọn tên dự án của bạn trong Bộ điều hướng dự án.
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 Security.framework vàclick 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.
- Trong hộp tìm kiếm, hãy nhập CoreGraphics.framework. Lựa chọn CoreGraphics.framework và nhấp vào Thêm vào
- Lựa chọn Thiết lập xây dựng. Nhấp vào Tất cả để view tất cả các thiết lập.
- Dưới Đường dẫn tìm kiếm, đả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ê:
Nếu bạn đã sử dụng thư viện Đăng nhập bằng Amazon 1.0, 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 đề or Đường dẫn Tìm kiếm Thư viện. - 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.
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”, or #nhập khẩu “AIError.h” trong nguồn của bạn files với #nhập khẩu
.
Đăng nhậpWithAmazon.h bao gồm tất cả các tiêu đề Đăng nhập với Amazon cùng một lúc.
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 Khóa API 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 Biên tập viên, 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ợ 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 Biên tập viên, 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 Trình chỉnh sửa và Thêm mục. Nhập hoặc chọn URL Định danh và nhấn Đi vào.
- Lựa chọn Mục 0 dưới URL Mã định danh 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. Bạn có thể tìm thấy ID gói của mình được liệt kê dưới dạng số nhận dạng Gói trong danh sách thuộc tính.
- 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 lược đồ và nhấn Enter.
- Lựa chọn Mục 0 dưới URL Các chương trình và nhấp đúp vào bên dưới Giá trị cột để thêm một 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.
Thêm ngoại lệ bảo mật truyền tải ứng dụng cho Amazon vào ứng dụng của bạn
Danh sách tài sản
Bắt đầu với iOS 9, Apple thực thi Bảo mật truyền tải ứng dụng (ATS) để có kết nối an toàn giữa ứng dụng và web dịch vụ. Điểm cuối (api.amazon.com) mà Đăng nhập với Amazon SDK tương tác để trao đổi thông tin chưa tuân thủ ATS. Thêm một ngoại lệ cho api.amazon.com để cho phép giao tiếp liền mạch giữa SDK và máy chủ Amazon.
- 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). Điều này sẽ mở danh sách tài sản forediting:
- Đảm bảo rằng không có mục nhập nào Sau đó, 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 NSAppTransportAn ninh và nhấn Đi vào.
- Mở rộng NSAppTransportAn ninh 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 Tên miền NSException và nhấn Đi vào.
- Mở rộng Tên miền NSException và từ menu chính, hãy nhấp vào Biên tập viên Và Thêm mục. Nhập amazon.com và nhấn Đi vào.
- Mở rộng amazon.com và từ menu chính, hãy nhấp vào Biên tập viên Và Thêm mục.Đi vào NSExceptionRequiresForwardSecrecy và nhấn Đi vào.
- Lựa chọn NSExceptionRequiresForwardSecrecy và nhấp đúp vào bên dưới Giá trị cột để thêm một Chọn một Kiểu of Boolean và một Giá trị of KHÔNG.
Đă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 đưa ra 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 UIButton iOS.
- Thêm UIButton tiêu chuẩn vào ứ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 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 Amazon Nguyên tắc về phong cách để 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 vào 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 vào.
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. - 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 Bộ điều khiển Cây cảnh.
c. Trong Tiện ích cửa sổ, mở Trình kiểm tra thuộc tính.
d. Ở đầu Trình kiểm tra thuộc tính, đặt Loại nút thành Hệ thống.
e. Trong nhóm cài đặt thứ hai, 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 cài đặt Hình ảnh.
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 hình ảnh tương tự cho cài đặt Nền.
i. Nếu bạn muốn chỉ định phiên bản đã nhấn của nút, hãy chọn Đã chọn cho Cấu hình trạng thái, và đặt Hình ảnh thành _ Phiên bản được nhấ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.
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.
Xem các chủ đề sau:
- Xử lý Nút Đăng nhập và Nhận Profile Dữ liệu
- Kiểm tra Đăng nhập của Người dùng khi Khởi động
- Xóa trạng thái ủy quyền và đăng xuất người dùng
Phần này giải thích cách gọi AuthozeUserForScope: ủy quyền: Và getProfile: API để đăng nhập một người dùng và truy xuất chuyên nghiệp của họfile dữ liệu. Điều này bao gồm việc tạo một onLoginButtonClicked: nghe 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 - Tạo ra AMZNAuthorizeUserDelegateclass để thực hiện
AIAuthenticationĐại biểu.
Khi AuthozeUserForScope: ủy quyền: hoàn thành, nó sẽ gọi requestDidThành công: or requestDidFail: trên một đối tượng triển khai AIAuthenticationĐại biểu giao thức.@interface AMZNAuthorizeUserDelegate: NSObject @kết thúc Để biết thêm thông tin, hãy xem Làm việc với các giao thức trên developer.apple.com.
- Gọi AuthozeUserForScope: ủy quyền: in 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 bạn, bạn nên 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 AuthozeUserForScope: ủy quyền: đến nhắc người dùng đăng nhập và cho 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:
1.) 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ị)
2.) Chuyển sang Safari View Bộ điều khiển (trên iOS 9 trở lên)
3.) 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, trang đăng nhập sẽ bị bỏ qua, dẫn đến Đăng nhập một lần (SSO) kinh nghiệm.Khi ứng dụng của bạn được ủy quyền, nó sẽ được ủy quyền cho một hoặc nhiều tập dữ liệu được gọi là phạm vi. Tham số đầu tiên là một mảng phạm vi bao gồm dữ liệu người dùng mà bạn đang yêu cầu từ Đăng nhập bằng 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 với Amazon hiện hỗ trợ ba phạm vi: chuyên nghiệpfile, trong đó có 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ỉ chứa id tài khoản Amazon; và mã bưu điện, chứa mã zip / mã bưu điện của người dùng.
Tham số thứ hai để AuthozeUserForScope: ủy quyền: là một đối tượng thực hiện Giao thức xác thực đại biểu AI, trong trường hợp này là một ví dụ của AMZNAỦy quyền người dùngDelegate lớp học.- (IBAction) onLogInButtonClicked: (id) sender {
// Thực hiện cuộc gọi ủy quyền tới SDK để nhận mã thông báo truy cập an toàn
// cho người dùng.
// Trong khi thực hiện cuộc gọi đầu tiên, bạn có thể chỉ định mức cơ bản tối thiểu
// phạm vi cần thiết.// Yêu cầu cả hai phạm vi cho người dùng hiện tại.
NSArray * requestScope =
[NSArray arrayWithObjects: @ ”profile”, @” Postal_code ”, nil];AMZNAuthorizeUserDelegate * đại biểu =
[AIMobileLib copyrightzeUserForSamonds: requestScope ủy quyền: ủy quyền];
[[AMZNAuthorizeUserDelegate phân bổ] initWithParentController: self];Thêm tiêu đề triển khai ủy quyền của bạn vào việc gọi lớp
AuthozeUserForScope:. Ví dụamplê:#import “AMZNAuthorizeUserDelegate.h” - Tạo một AMZNGetProfileỦy quyền.
AMZNGetProfileỦy nhiệm tên của chúng tôi cho một lớp triển khai
Giao thức xác thực đại biểu AI, và sẽ xử lý kết quả của getProfile: gọi. Giống ủy quyềnfile: hỗ trợ requestDidThành công: Và requestDidFail: các phương thức giao thức. requestDidThành công: nhận được một kết quả API đối tượng với chuyên nghiệpfile dữ liệu trong thuộc tính kết quả. requestDidFail: nhận được một AILỗi đối tượng có thông tin về lỗi trong thuộc tính lỗi.
Để tạo một lớp đại biểu từ một khai báo lớp bình thường, hãy nhập
AIAuthenticationDelegate.hand thêm giao thức vào khai báo trong tiêu đề lớp của bạn file:#nhập khẩu @interface AMZNGetProfileỦy quyền: NSObject @end - Thực hiện requestDidSucceed: cho của bạn AMZNAuthorizeUserDelegate. In requestDidSucceed :, gọi getProfile: để lấy khách hàng chuyên nghiệpfile. getProfile:, giống AuthozeUserForScope: ủy quyền :, sử dụng giao thức AIAuthenticationDelegate.
- (void) requestDidSucceed: (APIResult *) apiResult {
// Mã của bạn sau khi người dùng cho phép ứng dụng
// phạm vi được yêu cầu.// Tải mới view bộ điều khiển với thông tin nhận dạng người dùng
// vì người dùng hiện đã đăng nhập thành công.AMZNGetProfileĐại biểu * đại biểu =
[[[AMZNGGetProfileĐại biểu phân bổ] initWithParentController:parentViewBộ điều khiển] autorelease];
[AIMobileLib getProfile: đại biểu];
}Thêm tiêu đề triển khai ủy quyền của bạn vào việc gọi lớp getProfile:. Ngoại hốiamplê:
#import “AMZNGetProfileỦy nhiệm.h ” - Thực hiện requestDidThành công: cho bạn AMZNGetProfileỦy quyền.
requestDidSucceed: có hai nhiệm vụ chính: để truy xuất profile dữ liệu từ Kết quả API, và chuyển dữ liệu đến giao diện người dùng.
Để lấy chuyên nghiệpfile dữ liệu từ Kết quả API, truy cập thuộc tính kết quả. Cho một getProfile:phản ứng, thuộc tính đó sẽ chứa một từ điển các giá trị thuộc tính cho người dùng chuyên nghiệpfile tính chất. Người chuyên nghiệpfile tài sản là tên, email, Và user_id cho người chuyên nghiệpfile phạm vi và
mã bưu chính cho mã bưu chính phạm vi.- (void) requestDidSucceed: (APIResult *) apiResult {
// Nhận chuyên nghiệpfile yêu cầu đã thành công. Giải nén chuyên nghiệpfile thông tin
// và chuyển nó cho cha mẹ view bộ điều khiểnNSString * name = [(NSDictionary *) apiResult.result
objectForKey: @ ”name”];
NSString * email = [(NSDictionary *) apiResult.result
objectForKey: @ ”email”];
NSString * user_id = [(NSDictionary *) apiResult.result
objectForKey: @ ”user_id”];
NSString * Postal_code = [(NSDictionary *) apiResult.result
objectForKey: @ ”Postal_code”];// Truyền dữ liệu tới view bộ điều khiển
} - Thực hiện requestDidFail: cho bạn AMZNGetProfileỦy quyền.
requestDidFail: bao gồm một Lỗi API đối tượng chứa thông tin chi tiết về lỗi. hiển thịLogInPageis một phương pháp giả định sẽ thiết lập lại view bộ điều khiển để hiển thị nút Đăng nhập bằng Amazon.- (void) requestDidFail: (APIError *) errorResponse {
// Nhận Profile yêu cầu không thành công cho người chuyên nghiệpfile phạm vi.
// Nếu mã lỗi = kAIApplicationNotAuthorized,
// cho phép người dùng đăng nhập lại.
if (errorResponse.error.code == kAIApplicationNotAuthorized) {
// Hiển thị nút cho phép người dùng.
[cha mẹViewBộ điều khiển showLogInPage];
}
khác {
// Xử lý các lỗi khác
[[[[UIAlertView phân bổ] initWithTitle: @ ”” thông báo: [NSString
stringWithFormat: @ ”Đã xảy ra lỗi với thông báo:% @”,
errorResponse.error.message] đại biểu: nil
hủy bỏButtonTitle: @ ”OK” otherButtonTitles: nil] autorelease] hiển thị];
}
} - Thực hiện requestDidFail: cho của bạn AMZNAuthorizeUserDelegate.
- (void) requestDidFail: (APIError *) errorResponse {
NSString * message = errorResponse.error.message;
// Mã của bạn khi ủy quyền không thành công. [[[[UIAlertView phân bổ] initWithTitle: @ ”” thông báo: [NSString
stringWithFormat: @ ”Ủy quyền người dùng không thành công với thông báo:% @”, errorResponse.error.message] ủy quyền: nil
hủy bỏButtonTitle: @ ”OK” otherButtonTitles: nil] autorelease] hiển thị];
}10. Thực hiện ứng dụng: mởURL: sourceApplication: annotation: trong lớp trong dự án của bạn xử lý UIApplicationDelegate giao thức (theo mặc định đây sẽ là lớp ứng dụng trong dự án của bạn). Khi ứng dụng hiển thị trang đăng nhập Amazon và người dùng hoàn tất đăng nhập, ứng dụng sẽ chuyển hướng đến ứng dụng bằng cách sử dụng URL Lược đồ ứng dụng đã đăng ký trước đó. Chuyển hướng đó được chuyển đến ứng dụng: mởURL: sourceApplication: annotation :, cái nào trả về ĐÚNG nếu URL đã được xử lý thành công. xử lýMởURL: sourceApplication: là một chức năng thư viện SDK sẽ xử lý Đăng nhập bằng chuyển hướng Amazon URLs cho bạn. Nếu xử lýMởURL: sourceApplication: trả về CÓ, sau đó URL đã được xử lý.
- Ứng dụng (BOOL): ứng dụng (UIApplication *)
mởURL: (NSURL *)url
sourceApplication: (NSString *) sourceApplication
annotation: (id) annotation
{
// Truyền url vào SDK để phân tích cú pháp mã ủy quyền // từ url.
BOOL isValidRedirectSignInURL =
[AIMobileLib xử lýMởURL:url
sourceAppli cation: chua ceApplicati on);
if (! isValidRedirect Si gnlnURL)
trả lại KHÔNG;
// Ứng dụng có thể muốn xử lý e url trả lại CÓ;
}GHI CHÚ: Phương pháp này không được chấp nhận trong iOS 9 nhưng nên được đưa vào dự án của bạn để duy trì hỗ trợ cho người dùng trên các nền tảng cũ hơn. Để biết thêm thông tin về ứng dụng: mởURL: sourceApplication: annotation :, nhìn thấy Tham chiếu giao thức UIApplicationDelegate trên developer.apple.com.
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
getAccessTokenForScope: withOverrideParams: ủy quyền: để xem liệu ứng dụng có còn được ủy quyền hay không.
- Tạo một AMZNGetAccessTokenDelegate lớp học. AMZNGetAccessTokenDelegatethực hiện cái AIAuthenticationĐại biểu và sẽ xử lý kết quả của
getAccessTokenForScope: withOverrideParams: ủy quyền: gọi. AIAuthenticationĐại biểu chứa hai phương pháp, requestDidThành công: Và requestDidFail:. requestDidThành công: nhận được một kết quả API đối tượng với dữ liệu mã thông báo, trong khi requestDidFail: nhận được một Lỗi API đối tượng với thông tin về lỗi.#import @interface AMZNGetAccessTokenDelegate: NSObject
@kết thúc
Thêm tiêu đề triển khai ủy quyền của bạn vào việc gọi lớp
getAccessTokenForScope: withOverrideParams: đại biểu:. Ngoại hốiamplê:#import “AMZNGGetAccessTokenDelegate.h” - Khi khởi động ứng dụng, hãy gọi
getAccessTokenForScope: withOverrideParams: ủy quyền: để xem liệu ứng dụng có còn được ủy quyền hay không. getAccessTokenForScope: withOverrideParams: ủy quyền: truy xuất mã thông báo truy cập thô mà Đăng nhập với Amazon sử dụng để truy cập chuyên gia của khách hàngfile. Nếu phương pháp này thành công, ứng dụng vẫn được ủy quyền và một cuộc gọi tới getProfile: nên thành công. getAccessTokenForScope: withOverrideParams: ủy quyền: sử dụng AIAuthenticationĐại biểu giao thức theo cách tương tự như AuthozeUserForScope: đại biểu:. Truyền đối tượng thực thi giao thức làm tham số ủy nhiệm.- (void) checkIsUserSignedIn {
AMZNGetAccessTokenDelegate * đại biểu =
[[[AMZNGetAccessTokenDelegate alloc] initWithParentController:self] autorelease];
NSArray * requestScope =
[NSArray arrayWithObjects: @ ”profile”, @” Postal_code ”, nil]; [AIMobileLib getAccessTokenForScope: requestScope withOverrideParams: nil Delegate: Delegate];
} - Thực hiện requestDidThành công: trên của bạn AMZNGGetAccessTokenDelegate. requestDidSucceed: có một nhiệm vụ: gọi getProfile:. Cái này cũample gọi getProfile: bằng cách sử dụng cùng một trình nghe mà bạn đã khai báo trong phần trước (xem các bước 6-8).
#import “AMZNGetProfileỦy nhiệm.h ”
#import- (void) requestDidSucceed: (APIResult *) apiResult {
// Mã của bạn để sử dụng mã thông báo truy cập ở đây.// Vì ứng dụng có quyền cho các phạm vi của chúng tôi, chúng tôi có thể
[AIMobileLib getProfile: đại biểu];
// lấy người dùng chuyên nghiệpfile.
AMZNGetProfileỦy quyền * ủy quyền = [[[AMZNGetProfileỦy quyền phân bổ] initWithParentController: cha mẹViewBộ điều khiển] autorelease];
} - Thực hiện requestDidFail: trên của bạn AMZNGGetAccessTokenDelegate.
requestDidFail: bao gồm một Lỗi API đối tượng chứa thông tin chi tiết về lỗi. Nếu bạn gặp lỗi, bạn có thể đặt lại chính view bộ điều khiển để hiển thị nút Đăng nhập bằng Amazon.- (void) requestDidFail: (APIError *) errorResponse {
// Mã của bạn để xử lý việc truy xuất mã thông báo truy cập không thành công.
// Nếu mã lỗi = kAIApplicationNotAuthorized, hãy cho phép người dùng
// để đăng nhập lại.
if (errorResponse.error.code == kAIApplicationNotAuthorized) {
// Hiển thị nút Đăng nhập bằng Amazon.
}
khác {
// Xử lý các lỗi khác
[[[[UIAlertView phân bổ] initWithTitle: @ ”” thông báo: [NSString
stringWithFormat: @ ”Đã xảy ra lỗi với thông báo:% @”, errorResponse.error.message] ủy quyền: nil
cancelButtonTitle:@”OK” otherButtonTitles:nil] autorelease] show];
}
}
Các ClearAuthorizationState: phương thức sẽ xóa dữ liệu ủy quyền của người dùng khỏi AIMobileLib kho dữ liệu cục bộ. 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.
- Khai báo một AMZNĐăng xuấtĐại biểu. Đây là một lớp thực hiện
Giao thức AIAuthenticationDelegate. Đối với mục đích của chúng tôi, chúng tôi có thể kế thừa lớp từ NSObject:
#import @interface AMZNLogoutDelegate NSObject
@kết thúc
Thêm tiêu đề triển khai ủy quyền của bạn vào việc gọi lớp ClearAuthorizationState:. Ví dụamplê:
#import “AMZNLogoutDelegate.h” - Gọi ClearAuthorizationState:.
Khi người dùng đã đăng nhập thành công, bạn có thể cung cấp cơ chế đăng xuất để họ có thể xóa dữ liệu ủy quyền của mình. Cơ chế của bạn có thể là một siêu liên kết hoặc một mục menu, nhưng đối với trường hợp này, ví dụample sẽ tạo ra một đăng xuấtButtonClickedmethod cho một nút đăng xuất.- (IBAction) logoutButtonClicked: (id) sender {
AMZNLogoutDelegate* delegate = [[[AMZNLogoutDelegate alloc] initWithParentController:self] autorelease]; [AIMobileLib clearAuthorizationState:đại biểu];
}Tham số duy nhất để ClearAuthorizationState là một AIAuthenticationĐại biểu thực hiện requestDidThành công: Và requestDidFail:.
- Thực hiện requestDidThành công:. Phương thức này sẽ được gọi khi thông tin của người dùng bị xóa. Sau đó, bạn sẽ hiển thị chúng là đã đăng xuất.
- (void) requestDidSucceed: (APIResult *) apiResult {
// Logic bổ sung của bạn sau khi người dùng ủy quyền
// trạng thái bị xóa.
[[[UIAlertView phân bổ] initWithTitle: @ ”” thông báo: @ ”Người dùng đã đăng xuất.”
đại biểu:nil cancelButtonTitle:@”OK” otherButtonTitles:nil] show];
} - Thực hiện requestDidFail:. Phương thức này sẽ được gọi nếu vì lý do nào đó mà thông tin của người dùng không thể bị xóa khỏi bộ nhớ cache. Trong trường hợp đó, bạn không nên hiển thị chúng khi đã đăng xuất.
- (void) requestDidFail: (APIError *) errorResponse {
// Logic bổ sung của bạn sau khi SDK không xóa được
// trạng thái ủy quyền. [[[[UIAlertView phân bổ] initWithTitle: @ ”” thông báo: [NSString
stringWithFormat: @ ”Đăng xuất Người dùng không thành công với thông báo:% @”,
errorResponse.error.message] đại biểu: nil
cancelButtonTitle:@”OK” otherButtonTitles:nil] autorelease] show];
}
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ệ đối với yêu cầu AuthozeUserForScope hoặc Mã lỗi không xác định đối với yêu cầu clearAuthorizationState. Đâ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 này bằng cách bật Chia sẻ chuỗi khóa cho ứng dụng của mình trong tab Khả năng của mục tiêu ứ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 Phiên bản iOS 2.1.2 - Tải xuống [đã tối ưu hóa]
Đăng nhập với Hướng dẫn Bắt đầu Amazon cho Phiên bản iOS 2.1.2 - Tải về