使用適用於iOS應用程序的Amazon登錄入門指南

使用Amazon登錄:iOS入門指南
版權所有©2017 Amazon.com,Inc.或其附屬公司。 版權所有。 亞馬遜和亞馬遜徽標是Amazon.com,Inc.或其附屬公司的商標。 非亞馬遜所有的所有其他商標均為其各自所有者的財產。
介紹
在本指南中,我們將向您展示如何使用適用於iOS v3.0 +的“使用Amazon登錄” SDK將“使用Amazon登錄”添加到iOS應用。
完成本指南後,您應在應用程序中擁有一個可用的“使用亞馬遜登錄”按鈕,該按鈕允許用戶使用其Amazon憑證登錄。 要了解有關客戶在您的應用程序中使用“通過亞馬遜登錄”時會遇到的登錄流程的更多信息,請參閱我們的 客戶體驗 超過view 對於 iOS 應用程序。
安裝iOS開發人員工具
安裝XCode
Amazon提供了適用於iOS的Amazon登錄SDK,以幫助您將Amazon登錄添加到您的iOS應用程序中。 該SDK旨在與Xcode開發環境一起使用。 該SDK支持使用ARMv7.0,ARMv7s,ARM7,i64和x386_86在iOS 64及更高版本上運行的應用程序。
您可以從Mac App Store安裝Xcode。 有關更多信息,請參見 Xcode:新增功能 on 開發者.apple.com.
安裝Xcode之後,您可以 使用適用於iOS的Amazon SDK安裝登錄名 和 運行Samp樂應用, 如下所述。
使用適用於iOS的Amazon SDK安裝登錄名
Login with Amazon SDK for iOS 有兩個包。 第一個包含 iOS 庫和支持文檔。 第二個包含為amp允許用戶登錄的應用程序 view 他們的親file 數據。
如果尚未安裝Xcode,請參閱 安裝Xcode 上面的部分。
- 下載 使用AmazonSDKForiOS.zip登錄 並提取 files 到硬盤驅動器上的目錄。
您應該看到一個LoginWithAmazon.framework目錄。 這包含“使用Amazon登錄”庫。
在拉鍊的最上層是 LoginWithAmazon.docset 目錄。 這包含API文檔。 - 有關如何將庫添加到iOS項目的說明,請參閱使用Amazon庫安裝登錄名。
安裝用於iOS的Amazon SDK登錄後,您可以 使用Amazon Project創建新的登錄名 您先請 通過登錄Amazon進行註冊。
運行Samp樂應用
運行 sample應用程序,打開sampXcode 中的文件。
- 下載 SampleLoginWithAmazonAppForiOS.zip 並複製
SampleLoginWithAmazonAppForiOS 目錄到您的Documents文件夾。 - 啟動Xcode。 如果“歡迎使用 Xcode”對話框彈出,請單擊“打開其他”。 否則,從主菜單中,單擊 File 並選擇打開。
- 選擇文檔文件夾,然後選擇
SampleLoginWithAmazonAppForiOS/LoginWithAmazonSamp樂/
登錄亞馬遜ampxcodeproj文件。點選 打開。 - samp文件項目現在應該加載。 完成後,選擇 產品 從主菜單中,然後選擇 跑步。
通過Amazon登錄進行註冊
在您可以使用 Login with Amazon 之前 web在網站或行動應用程式中,您必須使用 Login with Amazon 註冊應用程式。您的「登入亞馬遜」應用程式是包含有關您的業務的基本資訊以及有關每個業務的資訊的註冊。 web您創建的支援使用亞馬遜登入的網站或行動應用程式。用戶每次在您的網站上使用「透過亞馬遜登入」時,都會顯示此業務資訊。 web網站或移動應用程序。 用戶將看到您的應用程序名稱、您的徽標以及指向您的隱私政策的鏈接。 這些步驟演示瞭如何註冊您的 iOS 應用程序以與 Login with Amazon 一起使用。
使用Amazon Application註冊您的登錄名
- 前往 https://login.amazon.com.
- 如果您之前已經註冊過使用Amazon登錄的權限,請單擊 應用控制台。否則,請按一下 報名。 您將被重定向到Seller Central,該中心負責處理通過Amazon登錄的應用程序註冊。 如果這是您第一次使用Seller Central,則會要求您設置一個Seller Central帳戶。
- 點選 註冊新申請。這 註冊您的應用程式 表格將出現:

a. 在“註冊您的申請”表單中,輸入 姓名 和一個 描述 為您的應用程序。 這 姓名 是當使用者同意與您的應用程式分享資訊時顯示在同意畫面上的名稱。此名稱適用於 Android、iOS 和 web您的應用程序的站點版本。
這 描述 幫助您通過Amazon應用程序區分每個登錄名,並且不會向用戶顯示。
b. 輸入一個 隱私權聲明 URL 為您的應用程式。
隱私權聲明 URL 是您公司或應用程序的隱私政策的位置(例如amp樂, http://www.example.com/privacy.html)。 此鏈接在同意屏幕上顯示給用戶。
c. 如果你想添加一個 標誌圖像 對於您的應用程序,請單擊 選擇 File 並找到適用的圖像。
此徽標顯示在登錄和同意屏幕上以代表您的業務或 web地點。
如果徽標的高度大於50像素,則徽標的高度將縮小為50像素; 徽標的寬度沒有限制。 - 點選 節省。 你的amp文件註冊應類似以下內容:

儲存基本應用程式設定後,您可以新增特定的設置 web將使用此 Login with Amazon 帳戶的站點和移動應用程序。
如果您的應用程序的不同版本具有不同的捆綁軟件ID,例如一個或多個測試版本以及生產版本,則每個版本都需要自己的API密鑰。 在您應用的iOS設置中,點擊添加 API金鑰 按鈕可為您的應用創建其他密鑰(每個版本一個)。
將iOS設置添加到您的應用程序
儲存基本應用程式設定後,您可以新增特定的設置 web將使用 Login with Amazon 的網站和移動應用程序。
要註冊iOS App,您必須為該應用程序項目指定Bundle標識符。 使用Amazon登錄將使用捆綁包ID生成API密鑰。 API密鑰將授予您的應用程序訪問“使用亞馬遜登錄”授權服務的權限。 請按照以下步驟將iOS應用添加到您的帳戶:
- 從 應用 螢幕上,點擊 iOS設置。 如果您已經註冊了iOS應用,請查找 添加API密鑰 按鈕在 iOS 設定 部分。
這 iOS應用程序詳細信息 表格將出現:

- 輸入 標籤 您的iOS應用程序。
這不必是您的應用程序的正式名稱。 它只是在應用程序中識別這個特定的 iOS 應用程序和 web使用亞馬遜應用程序註冊到您的登錄名的網站。 - 輸入您的 捆綁ID。 這必須與您的iOS項目的包標識符匹配。 要確定您的捆綁包標識符,請在Xcode中打開項目。 打開項目的屬性列表(-Info.plist)在 項目瀏覽器。 這 捆綁包標識符 是列表中的屬性之一。
- 點選 節省。
如果您的應用程序的不同版本具有不同的捆綁軟件ID,例如一個或多個測試版本以及生產版本,則每個版本都需要自己的API密鑰。 在應用程序的iOS設置中,點擊添加API密鑰按鈕,為您的應用程序創建其他密鑰(每個版本一個)。
iOS套件ID和API密鑰
捆綁包標識符對於每個iOS應用程序都是唯一的。 使用Amazon登錄使用Bundle ID來構造
您的API密鑰。 API密鑰使“使用Amazon登錄”授權服務可以識別您的應用程序。
確定iOS應用的捆綁包標識符
1.在Xcode中打開您的應用程序項目。
2. 打開 信息財產 清單 用於該項目(-Info.plist)在 項目瀏覽器.
3. 查找 捆綁包標識符 在屬性列表中。
檢索iOS API密鑰
在註冊iOS版本並提供捆綁ID之後,您可以從註冊頁面中檢索API密鑰,以用於您的“使用Amazon登錄”應用程序。 您將需要將該API密鑰放入項目的屬性列表中。 除非您這樣做,否則該應用將無權與“使用亞馬遜登錄”授權服務進行通信。
- 前往 https://login.amazon.com.
- 點選 應用程序控制台。
- 在 應用程式 框,單擊您的應用程序。
- 在以下位置找到您的iOS應用 iOS 設定 部分。
如果您尚未註冊iOS應用,請參閱 將iOS設置添加到應用程序. - 點選 生成API密鑰值。 彈出窗口將顯示您的API密鑰。 要復制密鑰,請單擊 選擇全部 選擇整個密鑰。
筆記: API密鑰值部分基於生成它的時間。 因此,您生成的後續API密鑰值可能與原始API密鑰值不同。 您可以在應用程序中使用這些API鍵值中的任何一個,因為它們都是有效的。 - 有關將API密鑰添加到iOS應用的說明,請參見將API密鑰添加到應用屬性列表。
使用Amazon Project創建登錄名
在本部分中,您將學習如何為使用Amazon登錄創建一個新的Xcode項目並配置該項目。
使用Amazon Project創建新的登錄名
如果您還沒有用於通過Amazon登錄使用的應用程序項目,請按照以下說明創建一個。 如果您已有應用程序,請跳至 使用Amazon Library安裝登錄名 下面的部分。
- 發射 Xcode。
- 如果您看到一個 歡迎使用Xcode 對話框,選擇 創造 一個新的Xcode項目。
否則,從 File 選單,選擇 新的 和 專案. - 選擇您要創建的項目類型,然後單擊 下一個。
- 輸入一個 產品名稱 和一個 公司標識符。 注意你的 捆綁包標識符, 並點擊“下一步”。
- 選擇一個存儲項目的位置,然後單擊 創造。
現在,您將有一個新項目,可用於調用“使用Amazon登錄”。
使用Amazon Library安裝登錄名
如果尚未下載適用於iOS的Amazon SDK登錄,請參閱 使用適用於iOS的Amazon SDK安裝登錄名.
“使用Amazon登錄”項目必須鏈接 用Amazon.framework登錄 和 安全框架 庫。 您還需要配置框架搜索路徑,以找到帶有Amazon標頭的登錄名。
- 如果您的項目沒有Frameworks文件夾,請在導航器中右鍵單擊項目名稱
Xcode中的窗格,然後單擊 新組。 - 命名新組 構架。
- 選擇 框架 資料夾並單擊 File 從主菜單。
- 選擇 添加 Files 到 專案.
- 在對話框中,選擇 用Amazon.framework登錄 然後單擊 添加。
如果您使用Login with Amazon 1.0庫,請刪除 用amazon-sdk登錄 目錄和 用amazon-sdk.a登錄 從Frameworks文件夾中。 從主菜單中單擊“編輯”,然後選擇 刪除。 - 在“項目瀏覽器”中選擇項目的名稱。
這 項目編輯 將出現在Xcode工作區的編輯器區域中。 - 在下面單擊您的項目名稱 目標, 並選擇 構建階段。 擴張 將二進製文件與庫鏈接 然後單擊加號以添加庫。
- 在搜索框中,輸入 安全框架。 選擇 安全框架k並單擊 添加。
- 在搜索框中,輸入 SafariServices.framework。 選擇 SafariServices.framework 然後單擊 添加。

- 選擇構建設置。 點擊全部到 view 所有設置。
- 在“搜索路徑”下,確保 用Amazon.framework登錄 目錄在 框架搜索路徑。
對於前amp樂:

- 在構建項目之前,如果您使用 Login with Amazon 1.0 庫,請替換源中的 #import “AIMobileLib.h”、#import “AIAuthenticationDelegate.h” 和 #import “AIError.h” files 與單個 #import
。 LoginWithAmazon.hline一次包含所有帶有Amazon標頭的Login。
此外,您可以在以下位置刪除對1.0庫路徑的所有引用: 標頭搜索路徑或庫搜索路徑。
13.從主菜單中,單擊 產品 並選擇 建造。 構建應該成功完成。
將您的API密鑰添加到您的應用屬性列表
在通過“通過亞馬遜登錄”註冊iOS應用程序時,會獲得一個API密鑰。 這是一個標識符,Amazon Mobile Library將使用該標識符將您的應用程序標識為“使用Amazon登錄”授權服務。 Amazon Mobile Library在運行時從應用程序的信息屬性列表中的APIKey屬性值加載此值。
- 在您的項目打開的情況下,選擇 配套 Files 文件夾,然後選擇 -Info.plist file (在哪裡 是您的項目的名稱)。 這應該打開屬性列表進行編輯:

- 確保沒有選擇任何條目。 然後,從主菜單中,單擊“編輯器”,然後 新增項目。 進入 API密鑰 並按 進入。
- 雙擊下面的 價值 列以添加值。 粘貼您的API密鑰作為值。
添加一個 URL 方案到您的應用程序屬性列表
當用戶登錄時,他們將看到一個Amazon登錄頁面。 為了讓您的應用收到登錄確認,您必須添加一個 URL 計劃,使 web 頁面可以重定向回您的應用程序。 這 URL 方案必須聲明為 amzn- (例如amp樂, 亞馬遜網站amp應用程序)。 有關更多信息,請參見 使用 URL 與應用進行通信的方案 在developer.apple.com上。
- 打開項目後,選擇 Supporting Files 文件夾,然後選擇 -Info.plist file (在哪裡 是您的項目的名稱)。 這應該打開屬性列表進行編輯:

- 確保沒有選擇任何條目。 然後,從主菜單中,單擊“編輯器”,然後 新增項目。 輸入或選擇 URL 類型 並按 進入。
- 擴張 URL 類型 揭示 物品 0。選擇 物品 0 然後在主菜單中單擊 編輯 和 新增項目。 輸入或選擇 URL 識別符 並按 進入。
- 選擇 項目0 在下面 URL 識別符 並雙擊下面的 價值 列以添加值。 該值是您的捆綁包ID。 您可以找到您的捆綁ID,列為 捆綁包標識符 在屬性列表中。
- 選擇 物品 0 在下面 URL 類型 然後在主菜單中單擊 編輯 並添加項目。 輸入或選擇 URL 方案 然後按Enter。
- 選擇 項目0 在下面 URL 方案 並在“值”列下雙擊以添加一個值。 該值是您的捆綁包ID,其中包含 amzn- 前置(例如amp樂, 亞馬遜網站amp應用程序)。 您可以找到您的捆綁ID,列為 捆綁包標識符 在屬性列表中。
使用Amazon登錄提供了幾個標準按鈕,可用於提示用戶從您的應用程序登錄。
本部分提供了下載帶有Amazon映像的正式Login並將其與iOS配對的步驟 UIButton。
- 添加標準 用戶界面按鈕 到您的應用。
有關如何向應用程序添加按鈕的教程和信息,請參見 創建和配置 View 物件 和 立即開始開發 iOS 應用程式 在developer.apple.com上。 - 添加 內部潤飾 名為方法的按鈕的事件
onLoginButtonClicked。 現在將實現留空。 這 創建和配置 View 物件 和 立即開始開發 iOS 應用程式 developer.apple.com上的文檔包括添加按鈕事件的步驟。 - 選擇一個按鈕圖像。
有關可在應用中使用的按鈕列表,請參閱我們的 Login with Amazon Style Guidelines。 下載 LWA_for_iOS.zip 的副本 file. 在 1x 和 2x 目錄中找到您喜歡的按鈕並從 zip 中提取它們。 如果要在 Selected 狀態下顯示按鈕,請提取按鈕的 _Pressed 版本。 - 將圖像添加到您的項目。
a. 在Xcode中,加載您的項目,然後單擊 File 從主菜單中選擇添加 Files 到“項目”。
b. 在對話框中,選擇按鈕圖像 file(s) 並單擊添加。
c. 這些按鈕現在應該在項目目錄下的項目中。 將它們移至支持 Files 文件夾。 - 將圖像添加到您的按鈕。
要為您的按鈕啟用圖片,您可以修改按鈕屬性或使用 setImage:forState 上的方法 用戶界面按鈕 目的。 請按照下列步驟修改您的按鈕的圖像屬性:
a. 打開您的應用的情節提要。
b. 通過單擊或從情節提要中選擇故事板中的按鈕 View 控制器場景 樹。
c. 在 公用事業 窗口,打開 屬性檢查器。
d. 在頂部 屬性檢查器 設定 類型 的按鈕 系統。
e. 在第二組設置中,選擇默認為 狀態配置。
f. 在第二組設置中,將 影像 環境。
g. 選擇您添加到項目中的Login with Amazon按鈕圖形。 不要選擇2x版本:它將在高密度顯示(Retina)設備上自動加載。
h. 為圖像設置相同的圖像 背景 環境。
i. 如果要指定按鈕的按下版本,請選擇 已選擇 為了 狀態配置, 並設定 影像 到 _按 按鈕的版本。
j. 如果需要,在情節提要板上,調整按鈕的大小以容納圖像。
在本部分中,您將代碼添加到您的項目中,以使用“使用Amazon登錄”登錄用戶。
使用適用於iOS API的SDK
在本部分中,您將代碼添加到您的項目中,以使用“使用Amazon登錄”登錄用戶。
連接應用程序委託
實施 適用場合:開放式URL:選項:在您項目的類中處理 UI應用程序委託 協議。 默認情況下,這將是 應用程序委託 班級。 當用戶使用“通過Amazon登錄”成功登錄到您的應用程序時,他們將根據以下信息從Amazon登錄屏幕重定向回您的應用程序: URL 方案 您之前已添加到“應用程序屬性列表”中。 為了處理此重定向,您必須實現 適用場合:開放式URL:選項:方法,如果 URL 已成功處理。
iOS版Amazon SDK登錄提供了庫功能, 句柄打開URL:sourceApplication:處理任何重定向 URL 從亞馬遜頁面發送。 如果 URL 已成功由SDK處理。 在 適用場合:開放式URL:選項: 方法。
要調用此方法,您將需要導入 。
| 進口 @實現AppDelegate –(BOOL)應用程序:(UIApplication *)應用程序打開URL:(NSURL *) url 選項:(NSDictionaryURLOptionsKey,id> *)options { 返回[AMZNAuthorizationManager handleOpenURL:url sourceApplication:options [UIApplicationOpenURL選項SourceApplicationKey]]; } @結尾 |
本節說明如何調用authorize:withHandler:API登錄用戶。 這包括為您的“使用亞馬遜登錄”按鈕創建一個onLoginButtonClicked:listener。
- 將“使用Amazon登錄”添加到您的iOS項目。 看 使用Amazon Library安裝登錄名.
- 使用Amazon API將登錄名導入您的源 file.
要使用Amazon API導入登錄名,請添加以下內容 #import 語句 到你的來源 file:#進口 - 稱呼 授權:withHandler: 在 點擊登錄按鈕。 如果您按照將“使用Amazon按鈕登錄”添加到您的應用中的步驟進行操作,則應該有一個 onLoginButtonClicked:方法 鏈接到“使用Amazon登錄”按鈕。 用這種方法,調用 授權:withHandler:提示用戶登錄並授權您的應用程序。
該方法將使用戶能夠通過以下方式之一登錄並同意所請求的信息:
- 切換到 web view 在安全環境中(如果設備上安裝了 Amazon Shopping 應用程序)
- 切換到 Safari View 控制器(在 iOS 9 及更高版本上)
- 切換到系統瀏覽器(在iOS 8和更低版本上)
將Amazon Shopping應用程序安裝到設備時,第一個選項的安全上下文可用。 如果用戶已經登錄到Amazon Shopping應用程序,則此API將跳過登錄頁面,從而顯示單個 登錄(SSO) 經驗。 見客戶體驗-ios [PDF] 了解更多。
第一個參數為 授權:withHandler: 是一個 亞馬遜授權請求 指示您的應用程序請求授權的範圍的對象。 一種 範圍 包含您從“通過亞馬遜登錄”中請求的用戶數據。 用戶首次登錄到您的應用程序時,系統會向他們顯示您所請求並獲得批准的數據列表。
使用Amazon登錄當前支持以下範圍:範圍名稱 描述 親file 允許訪問用戶名,電子郵件地址和Amazon賬戶ID。 親file:用戶身份 僅授予訪問用戶的Amazon帳戶ID的權限。 郵遞區號 允許訪問用戶的郵政編碼 file 為他們的亞馬遜帳戶。 使用中定義的方法 亞馬遜file範圍 獲取範圍對象並將其添加到您的 亞馬遜授權請求 目的。 見 samp詳細代碼如下。
authorize:withHandler:的第二個參數是AMZNAuthorizationRequestHandler,將在下一步中進行描述。 - 創建一個 AMZN 授權請求處理程序 塊對象。 AMZN 授權請求處理程序 處理的結果 授權:withHandler: 稱呼。 要了解有關Objective-C塊的更多信息,請參見 使用塊 在developer.apple.com上。
的第一個參數 AMZN 授權請求處理程序 是一個 AMZN 授權結果 目的。 成功授權用戶後, AMZN 授權結果 將包含一個訪問令牌,可用於訪問用戶的專業file 數據,以及 亞馬遜用戶 對象,其中包含用戶的專業file data.第二個參數 AMZN 授權請求處理程序 是一個布爾值,稱為 用戶取消。 如果用戶執行以下操作,則此參數將設置為true:
1. 關閉 Safari View 登錄和授權期間的控制器(在 iOS 9 及更高版本上)
2. 關閉 web view 在亞馬遜購物應用中
3. 取消登錄或拒絕授權
第三個參數 AMZN 授權請求處理程序 是一個 錯誤 如果由於SDK或授權服務器而導致登錄和授權失敗,則包含錯誤詳細信息的對象。–(IBAction)onLogInButtonClicked:(id)sender {
//建立授權請求。
AMZNAuthorizeRequest * request = [[AMZNAuthorizeRequest alloc] init];
request.scopes = [NSArray arrayWithObjects:
// [亞馬遜專業版file範圍用戶 ID],
[AMZNProfile範圍專業版file],
[AMZNProfileScope postalCode]];// 對 Login with Amazon SDK 進行授權調用。
[[AMZNAuthorizationManager sharedManager]授權:請求
withHandler:^(AMZNAuthorizeResult * result,BOOL
userDidCancel,NSError * error){
如果(錯誤){
//處理來自SDK或授權服務器的錯誤。
} else if(userDidCancel){
//處理用戶取消登錄時引起的錯誤。
} 別的 {
//驗證成功。
// 獲取訪問令牌和用戶profile 數據。
NSString * accessToken = result.token;
AMZNUser * user = result.user;
NSString * userID = user.userID;
}
}];
}
獲取用戶專業版file 數據
只要用戶登錄並授權使用您的應用程序,您就可以獲取他們的用戶 profile 隨時提供數據。
本節說明如何使用 拿來:的方法 亞馬遜用戶 類來檢索最新的用戶 profile 當前已授權用戶的數據。 親file 您可以檢索的數據基於 授權 稱呼。
- 稱呼 AMZN用戶獲取:.
此方法將獲取親file 數據通過 AMZNUserFetchRequestHandler 塊對象。 第一個參數為 AMZN 用戶請求處理程序 是一個 亞馬遜用戶 目的。這 亞馬遜用戶 對象可以包含一個 用戶身份,名稱,電子郵件和 郵遞區號,具體取決於請求的範圍。[AMZNUser fetch:^(AMZNUser * user,NSError * error){
如果(錯誤){
// SDK出現錯誤,或者沒有用戶授權該應用。
}否則,如果(用戶){
NSString * userID = user.userID;
// NSString * name = user.name;
// NSString * email = user.email;
// NSString * postalCode = user.postalCode;
}
}];
在啟動時檢查用戶登錄
如果用戶登錄到您的應用程序,關閉該應用程序,然後稍後重新啟動該應用程序,則該應用程序仍有權檢索數據。 用戶不會自動註銷。 在啟動時,如果您的應用仍被授權,則可以向用戶顯示已登錄。 本節說明如何使用 授權:withHandler:查看該應用是否仍被授權。
- 創建一個 亞馬遜授權請求 對象並指定範圍,這些範圍指示您的應用程序正在請求其授權的用戶數據。 有關範圍的更多信息,請參見 處理 登錄按鈕並獲取專業版file 數據.
- 放 亞馬遜授權請求.互動策略 到 AMZN互動策略永不. 亞馬遜授權請求 支持多種提示用戶登錄的策略:
- AMZN交互式策略自動 (默認):SDK從以前的版本中查找本地存儲的授權授予 授權:withHandler:回應。 如果一個可用,有效且包含所有請求的範圍,則SDK將通過以下方式返回成功的響應 AMZN 授權請求處理程序,並且不會提示用戶登錄。 否則,將提示用戶登錄。
- AMZN互動策略總是:無論用戶是否先前已被授權使用該應用,SDK都會始終提示用戶登錄。 當提示用戶時,SDK將刪除該應用程序的所有本地緩存的授權授予。
- AMZN互動策略永不:SDK從以前的版本中查找本地存儲的授權授權 授權:withHandler 回應。 如果其中一個可用,有效且包含所有請求的範圍,則SDK將返回一個 AMZN 授權結果 包含訪問令牌和用戶 pro 的對象file 數據。
否則,它將返回一個 錯誤 通過對象 AMZN 授權請求處理程序.//建立授權請求。
AMZNAuthorizeRequest * request = [[AMZNAuthorizeRequest alloc] init];
request.scopes = [NSArray arrayWithObjects:
// [亞馬遜專業版file範圍用戶 ID],
[AMZNProfile範圍專業版file],
[AMZNProfileScope postalCode]];request.interactiveStrategy = AMZNInteractiveStrategyNever;[[AMZNAuthorizationManager sharedManager] 授權:請求
withHandler:^(AMZNAuthorizeResult * result,BOOL
userDidCancel,NSError * error){
如果(錯誤){
// SDK出現錯誤,表明該用戶以前不是
授權給您的應用以實現所請求的範圍。
} 別的 {
//先前已授權該用戶使用您的應用。
// 獲取訪問令牌和用戶profile 數據。
NSString * accessToken = result.token;
AMZNUser * user = result.user;
NSString * userID = user.userID;
}
}];
本節說明如何使用 登出 從兩個方法清除用戶授權數據的方法 人工智能移動圖書館 本地數據存儲和授權服務器。 用戶必須再次登錄才能讓應用程序檢索專業版file 數據。 使用此方法註銷用戶,或解決應用程序中的登錄問題。
- 實現註銷機制。
當用戶成功登錄後,您應該提供一個註銷機制,以便他們可以清除他們的親file 數據和先前授權的範圍。 您的機制可能是超鏈接、按鈕或菜單項。 - 稱呼 登出:.
稱呼 登出:在您的註銷處理程序中刪除用戶的授權數據(訪問令牌、專業版file) 來自本地存儲,以及來自服務器的身份驗證狀態。 輸入參數為 登出 是一個 AMZN 授權請求處理程序 塊對象。 該塊應檢測並處理 錯誤 對象,在以下情況下返回 登出:失敗。[[AMZNAuthorizationManager sharedManager]註銷:^(NSError * _Nullable
錯誤) {
如果(!錯誤){
//來自SDK的錯誤或使用Amazon授權服務器登錄。
}
}];
測試您的整合
在iOS設備或模擬器中啟動您的應用程序,並確認您可以使用Amazon.com憑據登錄。
筆記: 在iOS10模擬器上進行測試時,您可能會看到錯誤消息 該應用程序的APIKey無效 對於一個 授權用戶範圍 請求或未知錯誤代碼 清除授權狀態 要求。 這是一個 蘋果的已知錯誤 當SDK嘗試訪問鑰匙串時發生。 在Apple解決該錯誤之前,您可以通過以下方法解決該問題: 鑰匙串分享 為您的應用下 能力 應用程序目標的標籤。 此錯誤僅影響模擬器。 您可以在不使用任何替代方法的情況下,在實際的iOS10設備上進行測試。
使用適用於iOS應用程序的Amazon登錄入門指南– 下載[優化]
使用適用於iOS應用程序的Amazon登錄入門指南– 下載



