Log masuk dengan Panduan Bermula Amazon untuk iOS
Log masuk dengan Amazon: Panduan Bermula untuk iOS
Hak Cipta © 2016 Amazon.com, Inc., atau sekutunya. Hak cipta terpelihara.
Amazon dan logo Amazon adalah tanda dagang Amazon.com, Inc. atau sekutunya. Semua tanda dagangan lain yang tidak dimiliki oleh Amazon adalah hak milik pemiliknya masing-masing.
Bermula untuk iOS
Dalam panduan ini, kami akan menunjukkan kepada anda cara menambahkan Login dengan Amazon ke aplikasi iOS anda. Setelah melengkapkan panduan ini, anda harus mempunyai butang Login dengan Amazon yang berfungsi di aplikasi anda untuk membolehkan pengguna log masuk dengan bukti kelayakan Amazon mereka
Memasang Xcode
Log masuk dengan Amazon SDK untuk iOS disediakan oleh Amazon untuk membantu anda menambahkan Log masuk dengan Amazon ke aplikasi iOS anda. SDK dimaksudkan untuk digunakan dengan lingkungan pengembangan Xcode. SDK menyokong aplikasi yang berjalan pada iOS 7.0 dan yang lebih baru menggunakan ARMv7, ARMv7s, ARM64, i386, danx86_64.
Anda boleh memasang Xcode dari Mac App Store. Untuk maklumat lebih lanjut, lihat Xcode: Apa Yang Baru di developer.apple.com.
Selepas Xcode dipasang, anda boleh Pasang Log Masuk dengan Amazon SDK untuk iOS dan Jalankan Sample Aplikasi, seperti yang dijelaskan di bawah.
Pasang Log Masuk dengan Amazon SDK untuk iOS
Log masuk dengan Amazon SDK untuk iOS terdapat dalam dua pakej. Yang pertama mengandungi perpustakaan iOS dan dokumentasi sokongan. Yang kedua mengandungi sebagaiample aplikasi yang membolehkan pengguna log masuk dan view pro merekafile data.
Sekiranya anda belum memasang Xcode, lihat arahan di Pasang Xcode bahagian di atas.
- Muat turun Log MasukDenganAmazonSDKForiOS.zip dan ekstrak files ke direktori pada cakera keras anda.
Anda harus melihat a LoginWithAmazon.framework direktori. Ini mengandungi log masuk dengan perpustakaan Amazon.
Di tingkat atas zip adalah a Log MasukDenganAmazon.doc set direktori. Ini mengandungi dokumentasi API. - Lihat Pasang Log Masuk dengan Perpustakaan Amazon untuk arahan bagaimana menambahkan perpustakaan ke projek iOS.
Apabila Log Masuk dengan Amazon SDK untuk iOS dipasang, anda boleh Buat Log Masuk Baru dengan Projek Amazon selepas Mendaftar dengan Log Masuk dengan Amazon.
Jalankan Sample Aplikasi
Untuk menjalankan sampaplikasi le, buka sample dalam Xcode.
- Muat turun SampleLoginWithAmazonAppForiOS.zip dan salin
Sampdirektori leLoginWithAmazonAppForiOS ke folder Dokumen anda. - Mulakan Xcode. Sekiranya dialog Welcome to Xcode muncul, klik Open Other. Jika tidak, dari menu utama, klik File dan pilih Buka.
- Pilih folder Dokumen, dan pilih
SampleLoginWithAmazonAppForiOS / LoginWithAmazonSample / Log MasukDenganAmazonSample.xcodeproj. klik Buka. - Sampprojek le sekarang harus dimuat. Apabila selesai, pilih produk dari menu utama dan pilih Lari
Mendaftar dengan Log Masuk dengan Amazon
Sebelum anda boleh menggunakan Log masuk dengan Amazon pada a webtapak atau dalam aplikasi mudah alih, anda mesti mendaftarkan aplikasi dengan Log masuk dengan Amazon. Aplikasi Log Masuk anda dengan Amazon ialah pendaftaran yang mengandungi maklumat asas tentang perniagaan anda dan maklumat tentang setiap perniagaan webtapak atau aplikasi mudah alih yang anda buat yang menyokong Log masuk dengan Amazon. Maklumat perniagaan ini dipaparkan kepada pengguna setiap kali mereka menggunakan Log masuk dengan Amazon pada anda weblaman web atau aplikasi mudah alih. Pengguna akan melihat nama aplikasi anda, logo anda, dan pautan ke dasar privasi anda. Langkah-langkah ini menunjukkan cara mendaftarkan Login dengan aplikasi Amazon dan menambahkan aplikasi iOS ke akaun tersebut.
Lihat topik berikut
- Daftarkan Log Masuk Anda dengan Aplikasi Amazon
- Tambahkan Aplikasi iOS ke Pro Keselamatanfile
- ID Bundle iOS dan Kekunci API
o Tentukan Pengenal Kumpulan untuk Aplikasi iOS
o Dapatkan Kunci API iOS
Daftarkan Log Masuk Anda dengan Aplikasi Amazon
- Pergi ke https://login.amazon.com.
- Sekiranya anda telah mendaftar masuk dengan Amazon sebelumnya, klik Konsol Apl. Jika tidak, klik Daftar.
Anda akan diarahkan ke Seller Central, yang mengendalikan pendaftaran aplikasi untuk Login dengan Amazon. Sekiranya ini pertama kali anda menggunakan Seller Central, anda akan diminta untuk membuat akaun Pusat Penjual. - klik Daftar Permohonan Baru. The Daftarkan Permohonan Anda borang akan muncul:
a. Dalam borang Daftar Permohonan Anda, masukkan Nama dan a Penerangan untuk permohonan anda.
The Nama ialah nama yang dipaparkan pada skrin persetujuan apabila pengguna bersetuju untuk berkongsi maklumat dengan aplikasi anda. Nama ini digunakan untuk Android, iOS dan webversi laman web aplikasi anda.
b. Masukkan Notis Privasi URL untuk permohonan anda.
Notis Privasi URL adalah lokasi dasar privasi syarikat atau aplikasi anda (misalnyaample, http: //www.example.com/privacy.html). Pautan ini dipaparkan kepada pengguna di skrin persetujuan.
c. Jika anda ingin menambah a Imej Logo untuk permohonan anda, klik Semak imbas dan cari imej yang berkenaan.
Logo ini dipaparkan di skrin log masuk dan persetujuan untuk mewakili perniagaan anda atau webtapak. Logo akan menyusut menjadi 50 piksel tinggi jika lebih tinggi daripada 50 piksel; tidak ada batasan lebar logo. - klik Jimat. s andaamppendaftaran le sepatutnya kelihatan seperti ini:
Selepas tetapan aplikasi asas anda disimpan, anda boleh menambah tetapan untuk tertentu weblaman web dan aplikasi mudah alih yang akan menggunakan Login dengan akaun Amazon ini.
Sekiranya versi aplikasi anda berbeza mempunyai ID paket yang berbeza, seperti untuk satu atau lebih versi pengujian dan versi pengeluaran, setiap versi memerlukan Kunci API sendiri. Daripada Tetapan iOS aplikasi anda, klik Tambah Kekunci API butang untuk membuat kunci tambahan untuk aplikasi anda (satu per versi).
Tambahkan Aplikasi iOS ke Pro Keselamatanfile
Selepas tetapan aplikasi asas anda disimpan, anda boleh menambah tetapan untuk tertentu weblaman web dan aplikasi mudah alih yang akan menggunakan Login dengan akaun Amazon ini.
Untuk mendaftarkan Aplikasi iOS, anda harus menentukan pengenal Bundle untuk projek aplikasi. Log masuk dengan Amazon akan menggunakan ID paket untuk menghasilkan kunci API. Kunci API akan memberi aplikasi anda akses ke perkhidmatan kebenaran Login dengan Amazon. Ikuti langkah-langkah ini untuk menambahkan aplikasi iOS ke akaun anda:
- Dari skrin Aplikasi, klik Tetapan iOS. Sekiranya anda sudah mempunyai aplikasi iOS yang didaftarkan, cari Tambah Kekunci API butang dalam Tetapan iOS bahagian.
The Aplikasi iOS Borang butiran akan dipaparkan:
- Masukkan ke Label Aplikasi iOS anda. Ini tidak semestinya nama rasmi aplikasi anda. Ini hanya mengenal pasti aplikasi iOS tertentu di antara aplikasi dan weblaman web yang didaftarkan ke aplikasi Login anda dengan Amazon.
- Masukkan anda ID Bundle. Ini mesti sepadan dengan pengenal kumpulan projek iOS anda. Untuk menentukan pengenal kumpulan anda, buka projek dalam Xcode. Buka senarai hartanah untuk projek ( -Info.plist) di Navigator Projek. Pengenal Bundle adalah salah satu sifat dalam senarai.
- klik Jimat.
ID Bundle iOS dan Kekunci API
Pengenal Bundle unik untuk setiap aplikasi iOS. Log masuk dengan Amazon menggunakan ID Bundle untuk membina Kunci API anda. Kunci API membolehkan perkhidmatan kebenaran Masuk dengan Amazon mengenali aplikasi anda.
Tentukan Pengenal Kumpulan untuk Aplikasi iOS
- Buka projek aplikasi anda dalam Xcode.
- Buka Senarai Harta Maklumat untuk projek itu ( -Info.plist) dalam Navigator Projek.
- Cari Pengenal kumpulan dalam senarai harta tanah.
Dapatkan Kunci API iOS
Setelah anda mendaftarkan versi iOS dan memberikan ID Bundle, anda boleh mengambil kunci API dari halaman pendaftaran untuk aplikasi Login dengan Amazon anda. Anda perlu memasukkan kunci API tersebut ke dalam senarai harta tanah projek anda. Sehingga anda melakukannya, aplikasi tidak akan dibenarkan untuk berkomunikasi dengan perkhidmatan kebenaran Login dengan Amazon.
1. Pergi ke https://login.amazon.com.
2. Klik Konsol Apl.
3. Dalam Apl kotak, klik aplikasi anda.
4. Cari aplikasi iOS anda di bawah Tetapan iOS bahagian. Sekiranya anda belum mendaftarkan aplikasi iOS, lihat Tambahkan Aplikasi iOS ke Pro Keselamatanfile.
5. Klik Hasilkan Nilai Utama API. Tetingkap pop timbul akan memaparkan kunci API anda. Untuk menyalin kunci, klik Pilih Semua untuk memilih keseluruhan kunci.
Nota: Nilai Kunci API didasarkan, sebahagiannya, pada masa ia dihasilkan. Oleh itu, Nilai Kunci API seterusnya yang anda hasilkan mungkin berbeza dari yang asal. Anda boleh menggunakan mana-mana Nilai Utama API ini dalam aplikasi anda kerana semuanya valid.
6. Lihat Tambahkan Kunci API Anda ke Senarai Properti Aplikasi Anda untuk arahan mengenai cara menambahkan kunci API ke aplikasi iOS anda
Membuat Log Masuk dengan Projek Amazon
Di bahagian ini, anda akan belajar bagaimana membuat projek Xcode baru untuk Login dengan Amazon dan mengkonfigurasi projek tersebut.
Lihat topik berikut:
- Buat Log Masuk Baru dengan Projek Amazon
- Pasang Log Masuk dengan Perpustakaan Amazon
- Tambahkan Kunci API Anda ke Senarai Properti Aplikasi Anda
- Tambah a URL Skim ke Senarai Harta Apl Anda
- Tambahkan Pengecualian Keselamatan Pengangkutan Aplikasi untuk Amazon ke Aplikasi Anda Senarai Harta
NOTA: Langkah baru ini saat ini diperlukan ketika mengembangkan pada iOS 9 SDK - Tambahkan Log Masuk dengan Butang Amazon ke Aplikasi Anda
Buat Log Masuk Baru dengan Projek Amazon
Sekiranya anda belum mempunyai projek aplikasi untuk menggunakan Log Masuk dengan Amazon, ikuti arahan di bawah untuk membuatnya. Sekiranya anda mempunyai aplikasi yang ada, lompat ke bahagian Pasang Log Masuk dengan Perpustakaan Amazon di bawah.
- Pelancaran Xcode.
- Sekiranya anda disajikan dengan a Selamat datang ke Xcode dialog, pilih Buat Projek Xcode Baru.
Jika tidak, dari File menu, pilih baru dan Projek. - Pilih jenis projek yang ingin anda buat dan klik Seterusnya.
- Masukkan a Nama Produk dan a Pengecam Syarikat. Perhatikan anda Pengecam Himpunan, dan klik Seterusnya.
- Pilih lokasi untuk menyimpan projek anda dan klik Buat.
Anda sekarang akan mempunyai projek baru yang boleh anda gunakan untuk memanggil Login dengan Amazon.
Pasang Log Masuk dengan Perpustakaan Amazon
Sekiranya anda belum memuat turun Login dengan Amazon SDK untuk iOS, lihat Pasang Log Masuk dengan Amazon SDK untuk iOS.
Log masuk dengan projek Amazon mesti menghubungkan LoginWithAmazon.framework dan Keselamatan.framework perpustakaan. Anda juga perlu mengkonfigurasi jalan carian rangka untuk mencari Login dengan tajuk Amazon
- Dengan projek anda terbuka dalam Xcode, pilih Rangka kerja folder, klik File dari menu utama, dan kemudian pilih Tambah Files kepada "Projek".
- Dalam dialog, pilih LoginWithAmazon.framework dan klikTambah.
Sekiranya anda menggunakan perpustakaan Login dengan Amazon 1.0, hapus direktori login-with-amazon sdk dan login-with-amazon-sdk.a dari folder Frameworks. Klik Sunting dari menu utama dan pilih Padam. - Pilih nama projek anda di Navigator Projek.
The Editor Projek akan muncul di kawasan penyunting ruang kerja Xcode. - Klik nama projek anda di bawah Sasaran, dan pilih Membina Fasa. Luaskan Pautan Perduaan dengan Perpustakaan dan klik tanda tambah untuk menambahkan perpustakaan.
- Di kotak carian, masukkan Keselamatan.framework. Pilih Security.framework dan klik Tambah.
- Di kotak carian, masukkan SafariServices.framework. Pilih SafariServices.framework dan klik Tambah.
- Di kotak carian, masukkan CoreGraphics.framework. Pilih CoreGraphics.framework dan klik Tambah
- Pilih Tetapan Bina. Klik Semua untuk view semua tetapan.
- Di bawah Cari Jalan, memastikan bahawa LoginWithAmazon.framework direktori ada di Laluan Carian Rangka Kerja.
Untuk example:
Sekiranya anda menggunakan perpustakaan Login dengan Amazon 1.0, anda boleh membuang sebarang rujukan ke jalur perpustakaan 1.0 di Laluan Pencarian Header or Laluan Pencarian Perpustakaan. - Dari menu utama, klik produk dan pilih bina. Binaannya mesti disiapkan dengan jayanya.
Sebelum membina projek anda, jika anda menggunakan perpustakaan Login dengan Amazon 1.0, ganti #import "AIMobileLib.h", #import "AIAuthenticationDelegate.h", or #import "AIError.h" di sumber anda files dengan #import
.
Log MasukDenganAmazon.h merangkumi semua tajuk Login dengan Amazon sekaligus.
Tambahkan Kunci API Anda ke Senarai Properti Aplikasi Anda
Apabila anda mendaftarkan aplikasi iOS anda dengan Login dengan Amazon, anda diberi kunci API. Ini adalah pengecam yang akan digunakan Perpustakaan Bergerak Amazon untuk mengenal pasti aplikasi anda ke perkhidmatan kebenaran Login dengan Amazon. Perpustakaan Mudah Alih Amazon memuatkan nilai ini pada waktu berjalan dari nilai harta API Kunci dalam Senarai Harta Maklumat aplikasi anda.
- Dengan projek anda terbuka, pilih Menyokong Files folder, kemudian pilih -Info.plist file (di mana adalah nama projek anda). Ini harus membuka senarai harta untuk diedit:
- Pastikan tiada penyertaan yang dipilih. Kemudian, dari menu utama, klik Editor, dan Tambah Item. Masuk APIKey dan tekan Masuk.
- Klik dua kali di bawah Nilai lajur untuk menambah nilai. Tampal Kunci API anda sebagai nilai.
Tambah a URL Skim ke Senarai Harta Apl Anda
Semasa pengguna log masuk, mereka akan diberikan halaman log masuk Amazon. Agar aplikasi anda mendapat pengesahan log masuk mereka, anda mesti menambahkan a URL skim supaya web halaman boleh mengarahkan kembali ke aplikasi anda. The URL skim mesti dinyatakan sebagai amzn- (untuk example, amzncom.example.app). Untuk maklumat lebih lanjut, lihat menggunakan URL Skema untuk Berkomunikasi dengan Aplikasi di developer.apple.com.
- Dengan projek anda terbuka, pilih Menyokong Files folder, kemudian pilih -Info.plist file (di mana adalah nama projek anda). Ini harus membuka senarai harta untuk diedit:
- Pastikan tiada penyertaan yang dipilih. Kemudian, dari menu utama, klik Editor, dan Tambah Item. Masukkan atau pilih URL jenis dan tekan Masuk.
- Kembangkan URL jenis untuk mendedahkan item 0. Pilih item 0 dan, dari menu utama, klik Editor dan Tambah Item. Masukkan atau pilih URL Pengecam dan tekan Masuk.
- Pilih Perkara 0 bawah URL Pengecam dan klik dua kali di bawah lajur Nilai untuk menambah nilai. Nilainya adalah ID kumpulan anda. Anda boleh menemui ID kumpulan anda sebagai pengecam Bundle dalam senarai harta tanah.
- Pilih Perkara 0 bawah URL jenis dan, dari menu utama, klik Editor dan Tambah Item. Masukkan atau pilih URL Skema dan tekan Enter.
- Pilih Perkara 0 bawah URL Skim dan klik dua kali di bawah Nilai lajur untuk menambah a nilai. Nilai adalah ID kumpulan anda dengan amzn- siap pakai (untuk bekasample, amzn com.example.app). Anda boleh mendapatkan ID kumpulan anda sebagai Pengenal kumpulan dalam senarai harta tanah.
Tambahkan Pengecualian Keselamatan Pengangkutan Aplikasi untuk Amazon ke Aplikasi Anda
Senarai Harta
Bermula dengan iOS 9, Apple memberlakukan Keselamatan Pengangkutan Aplikasi (ATS) untuk hubungan selamat antara aplikasi dan web perkhidmatan. Titik akhir (api.amazon.com) Login dengan Amazon SDK berinteraksi untuk bertukar maklumat belum sesuai dengan ATS. Tambahkan pengecualian untuk api.amazon.com untuk membolehkan komunikasi yang lancar antara SDK dan pelayan Amazon.
- Dengan projek anda terbuka, pilih Menyokong Files folder, kemudian pilih -Info.plist file (di mana adalah nama projek anda). Ini akan membuka senarai harta tanah dengan meramalkan:
- Pastikan bahawa tidak ada entri Kemudian, dari menu utama, klik Editor, dan Tambah Item. Masukkan atau pilih NSAppTransportSecurity dan tekan Masuk.
- Kembangkan NSAppTransportSecurity dan, dari menu utama, klik Editor dan Tambah Item. Masukkan atau pilih NSExceptionDomains dan tekan Masuk.
- Kembangkan NSExceptionDomains dan, dari menu utama, klik Editor dan Tambah Item. Masukkan amazon.com dan tekan Masuk.
- Kembangkan amazon.com dan, dari menu utama, klik Editor dan Tambah Item.Masukkan NSExceptionRequiresForwardSecrecy dan tekan Masuk.
- Pilih NSExceptionRequiresForwardSecrecy dan klik dua kali di bawah Nilai lajur untuk menambah Pilih a taip of Boolean dan a Nilai of TIDAK.
Log masuk dengan Amazon menyediakan beberapa butang standard yang boleh anda gunakan untuk meminta pengguna masuk dari aplikasi anda. Bahagian ini memberi langkah untuk memuat turun Login rasmi dengan gambar Amazon dan memasangkannya dengan UIButton iOS.
- Tambahkan UIButton standard ke aplikasi anda.
Untuk tutorial dan maklumat mengenai cara menambahkan butang ke aplikasi, lihat Membuat dan Mengkonfigurasi View Objek dan Mula Membangunkan Apl iOS Hari Ini di developer.apple.com. - Tambah Sentuh Ke Dalam acara untuk butang ke kaedah yang dinamakan onLoginButtonKlik. Biarkan pelaksanaan kosong buat masa ini. The Membuat dan Mengkonfigurasi View Objek dan Mula Membangunkan Apl iOS Hari Ini dokumen di apple.com merangkumi langkah menambahkan acara butang.
- Pilih gambar butang.
Rujuk Log Masuk kami dengan Amazon Garis Panduan Gaya untuk senarai butang yang boleh anda gunakan dalam aplikasi anda. Muat turun salinan LWA_for_iOS.zip file. Cari butang pilihan anda dalam direktori 1x dan 2x dan ekstrak dari zip. Ekstrak butang _Tekan versi anda jika anda ingin menunjukkan butang dalam keadaan Terpilih. - Tambahkan gambar ke projek anda.
a. Dalam Xcode, dengan projek anda dimuat, klik File dari menu utama dan pilih Tambah Files untuk "projek".
b. Dalam dialog, pilih gambar butang fileyang anda muat turun dan klik Tambah.
c. Butang sekarang mesti ada di projek di bawah direktori projek anda. Pindahkan mereka ke Penyokong Filepukat. - Tambahkan gambar ke butang anda.
Untuk mengaktifkan gambar untuk butang anda, anda dapat mengubah atribut butang atau menggunakan setImage: untukState kaedah pada UIButton objek. Ikuti langkah-langkah ini untuk mengubah atribut gambar untuk butang anda:
a. Buka papan cerita untuk aplikasi anda.
b. Pilih butang di papan cerita anda dengan mengkliknya atau memilihnya dari View Pengawal Pokok pemandangan.
c. Dalam Utiliti tetingkap, buka Pemeriksa Atribut.
d. Di bahagian atas Pemeriksa Atribut, tetapkan Jenis butang ke Sistem.
e. Dalam kumpulan tetapan kedua, pilih Default untuk State Config.
f. Pada kumpulan tetapan kedua, turunkan tetapan Gambar.
g. Pilih grafik butang Log masuk dengan Amazon yang anda tambahkan ke projek. Jangan pilih versi 2x: ia akan dimuat secara automatik pada peranti paparan berkepadatan tinggi (Retina).
h. Tetapkan gambar yang sama untuk tetapan Latar Belakang.
i. Sekiranya anda ingin menentukan versi butang yang ditekan, pilih Selected for State Config, dan tetapkan Gambar ke versi _Tekanan butang anda.
j. Di papan cerita, sesuaikan ukuran butang anda untuk menampung gambar, jika perlu.
Menggunakan SDK untuk API iOS
Di bahagian ini, anda akan menambahkan kod ke projek anda untuk log masuk pengguna dengan Log Masuk dengan Amazon.
Lihat topik berikut:
- Tangani Butang Masuk dan Dapatkan Profile Data
- Periksa Login Pengguna pada Permulaan
- Kosongkan Keadaan Keizinan dan Keluar Pengguna
Bahagian ini menerangkan cara memanggil authorizeUserForScopes: perwakilan: dan getProfile: API untuk log masuk pengguna dan mendapatkan pro merekafile data. Ini termasuk mewujudkan onLoginButtonKlik: pendengar untuk butang Log Masuk dengan Amazon anda.
- Tambahkan Log Masuk dengan Amazon ke projek iOS anda. Lihat Pasang Log Masuk dengan Perpustakaan Amazon.
- Import Log Masuk dengan Amazon API ke sumber anda file.
Untuk mengimport Log Masuk dengan Amazon API, tambahkan yang berikut #pernyataan ke sumber anda file:#import - Cipta AMZNAuthorizeUserDelegateclass untuk melaksanakan
AIAuthenticationDelegate.
bila authorizeUserForScopes: perwakilan: selesai, ia akan memanggil requestDidSukses: or requestDidFail: kaedah pada objek yang melaksanakan AIAuthenticationDelegate protokol.@interface AMZNAuthorizeUserDelegate: NSObject @akhir Untuk maklumat lanjut, lihat Bekerja dengan Protokol di developer.apple.com.
- Panggil authorizeUserForScopes: perwakilan: in onLoginButtonKlik.
Sekiranya anda mengikuti langkah-langkah di Tambahkan Log Masuk dengan Butang Amazon ke Aplikasi Anda, anda semestinya mempunyai kaedah onLoginButtonClicked: dipaut ke butang Log Masuk dengan Amazon. Dalam kaedah itu, hubungi authorizeUserForScopes: delegate: kepada meminta pengguna untuk log masuk dan membenarkan aplikasi anda.
Kaedah ini akan membolehkan pengguna untuk masuk dan memberikan persetujuan terhadap maklumat yang diminta dengan salah satu cara berikut:
1.) Beralih kepada web view dalam konteks selamat (jika aplikasi Amazon Shopping dipasang ke peranti)
2.) Beralih ke Safari View Pengawal (pada iOS 9 dan lebih baru)
3.) Beralih ke penyemak imbas sistem (pada iOS 8 dan lebih awal)
Konteks selamat untuk pilihan pertama tersedia apabila aplikasi Amazon Shopping dipasang pada peranti. Sekiranya pengguna sudah log masuk ke aplikasi Amazon Shopping, halaman log masuk dilangkau, menuju ke a Log Masuk Tunggal (SSO) pengalaman.Apabila aplikasi anda disahkan, ia akan disahkan untuk satu atau lebih kumpulan data yang dikenali sebagai lingkup. Parameter pertama adalah pelbagai ruang lingkup yang merangkumi data pengguna yang anda minta dari Login dengan Amazon. Kali pertama pengguna log masuk ke aplikasi anda, mereka akan diberi senarai data yang anda minta dan minta persetujuan. Log masuk dengan Amazon kini menyokong tiga ruang lingkup: profile, yang mengandungi nama pengguna, alamat e-mel, dan id akaun Amazon; profile:ID Pengguna, yang hanya mengandungi id akaun Amazon; dan Poskod, yang mengandungi poskod / pos pengguna.
Parameter kedua untuk authorizeUserForScopes: perwakilan: adalah objek yang melaksanakan AIAuthenticationDelegateprotocol, dalam kes ini adalah contoh dari AMZNAuthorizeUserDelegate kelas.- (IBAction) onLogInButtonClicked: (id) pengirim {
// Buat pengesahan panggilan ke SDK untuk mendapatkan token akses selamat
// untuk pengguna.
// Semasa membuat panggilan pertama, anda boleh menentukan asas minimum
// skop diperlukan.// Meminta kedua-dua ruang lingkup untuk pengguna semasa.
NSArray * requestScopes =
[NSArray arrayWithObjects: @ ”profile", @" Poskod ", nihil];AMZNAuthorizeUserDelegate * delegate =
[AIMobileLib authorizeUserForScopes: requestScopes delegate: delegate];
[[AMZNAuthorizeUserDelegate assign] initWithParentController: self];Tambahkan tajuk pelaksanaan perwakilan anda ke panggilan kelas
mengizinkanUserForScopes:. Untuk example:#import "AMZNAuthorizeUserDelegate.h" - Buat satu AMZNGetProfilePerwakilan.
AMZNGetProfileDelegasi nama kami untuk kelas yang melaksanakan
AIAuthenticationDelegateprotocol, dan akan memproses hasil dari getProfile: panggil. Suka authorizeUserForScopes: delegate :, getProfile: menyokong requestDidSukses: dan requestDidFail: kaedah protokol. requestDidSukses: menerima Keputusan APIR objek dengan profile data dalam harta hasil. requestDidFail: menerima Ralat AI objek dengan maklumat mengenai kesalahan dalam harta ralat.
Untuk membuat kelas perwakilan dari perisytiharan kelas biasa, import
AIAuthenticationDelegate.tangan tambahkan protokol ke deklarasi di tajuk kelas anda file:#import @interface AMZNGetProfileDelegasi: NSObject @end - Laksanakan requestDidSucceed: untuk awak AMZNAuthorizeUserDelegate. In permintaanDidSukses:, panggilan getProfile: untuk mendapatkan semula pro pelangganfile. getProfile:, suka authorizeUserForScopes: delegate :, menggunakan protokol AIAuthenticationDelegate.
- (batal) requestDidSucceed: (APIResult *) apiResult {
// Kod anda setelah pengguna membenarkan permohonan untuk
// skop yang diminta.// Muatkan baru view pengawal dengan pengguna mengenal pasti maklumat
// kerana pengguna kini berjaya log masuk.AMZNGetProfileDelegasi * perwakilan =
[[[AMZNGetPro]fileDelegate alloc] initWithParentController:parentViewPengawal] autorelease];
[AIMobileLib getProfile: perwakilan];
}Tambahkan tajuk pelaksanaan perwakilan anda ke panggilan kelas getProfile:. Forexample:
#import "AMZNGetProfilePerwakilan.h " - Laksanakan requestDidSukses: untuk anda AMZNGetProfilePerwakilan.
requestDidSucceed: telah dua tugas utama: untuk mendapatkan semula profile data daripada Keputusan APIR, dan untuk menyampaikan data ke UI.
Untuk mendapatkan semula profile data daripada Keputusan APIR, mengakses harta hasil. Untuk getProfile: tindak balas, harta itu akan mengandungi kamus nilai harta untuk pengguna profile harta benda. Yang profile sifat adalah nama, e-mel, dan user_id untuk yang profile skop dan
pos_kod untuk pos_kod skop.- (batal) requestDidSucceed: (APIResult *) apiResult {
// Dapatkan profesionalfile permintaan berjaya. Membongkar profile maklumat
// dan berikan kepada ibu bapa view pengawalNSString * name = [(NSDictionary *) apiResult.result
objectForKey: @ "nama"];
NSString * email = [(NSDictionary *) apiResult.result
objectForKey: @ "e-mel"];
NSString * user_id = [(NSDictionary *) apiResult.result
objectForKey: @ "user_id"];
NSString * postal_code = [(NSDictionary *) apiResult.result
objectForKey: @ "pos_kod"];// Lulus data ke view pengawal
} - Laksanakan requestDidFail: untuk anda AMZNGetProfilePerwakilan.
requestDidFail: termasuk an Ralat API objek yang mengandungi perincian mengenai kesalahan. tunjukkanLogInPageis kaedah hipotetikal yang akan menetapkan semula yang utama view pengawal untuk menunjukkan butang Login dengan Amazon.- (void) requestDidFail: (APIError *) errorResponse {
// Dapatkan Profile permintaan gagal untuk profile skop.
// Sekiranya kod ralat = kAIApplicationNotAuthorized,
// benarkan pengguna log masuk semula.
jika (errorResponse.error.code == kAIApplicationNotAuthorized) {
// Tunjukkan butang membenarkan pengguna.
[ibu bapaViewPengawal showLogInPage];
}
lain {
// Tangani kesilapan lain
[[[[UIAlert]View peruntukkan] initWithTitle: @ ”” mesej: [NSString
stringWithFormat: @ "Ralat berlaku dengan mesej:% @",
errorResponse.error.message] perwakilan: tiada
cancelButtonTitle: @ "OK" otherButtonTitles: nil] autorelease] tunjukkan];
}
} - Laksanakan requestDidFail: untuk awak AMZNAuthorizeUserDelegate.
- (void) requestDidFail: (APIError *) errorResponse {
NSString * message = errorResponse.error.message;
// Kod anda apabila kebenaran gagal. [[[[UIAlertView peruntukkan] initWithTitle: @ ”” mesej: [NSString
stringWithFormat: @ "Kebenaran pengguna gagal dengan mesej:% @", errorResponse.error.message] delegasi: nil
cancelButtonTitle: @ "OK" otherButtonTitles: nil] autorelease] tunjukkan];
}10. Melaksanakan aplikasi: terbukaURL: sumberAplikasi: anotasi: di kelas dalam projek anda yang mengendalikan UIApplicationDelegate protokol (secara lalai ini akan menjadi AppDelegateclass dalam projek anda). Apabila aplikasi menyajikan halaman log masuk Amazon, dan pengguna melengkapkan log masuk, aplikasi akan mengalihkan ke aplikasi menggunakan URL Skim aplikasi yang didaftarkan lebih awal. Pengalihan itu diteruskan ke aplikasi: terbukaURL: sumberAplikasi: anotasi:, yang kembali YA jika URL berjaya dikendalikan. pemegang dibukaURL: sumberAplikasi: adalah fungsi perpustakaan SDK yang akan menangani pengalihan Login dengan Amazon URLs untuk anda. Sekiranya pemegang dibukaURL: sourceApplication: mengembalikan YA, kemudiannya URL dikendalikan.
- (BOOL) aplikasi: (UIApplication *) aplikasi
terbukaURL:(NSURL *)url
sourceApplication: (NSString *) sourceApplication
anotasi: (id) anotasi
{
// Lulus pada url ke SDK untuk menguraikan kod kebenaran // dari url.
BOOL adalahValidRedirectSignInURL =
[Pemegang AIMobileLibBukaURL:url
sumberApplation: sour ceApplicati on);
jika (! isValidRedirect Si gnlnURL)
kembalikan TIDAK;
// Aplikasi mungkin mahu mengendalikan e url kembalikan YA;
}NOTA: Kaedah ini tidak digunakan lagi di iOS 9 tetapi harus disertakan dalam projek anda untuk mengekalkan sokongan pengguna di platform lama. Untuk maklumat lebih lanjut mengenai aplikasi: terbukaURL: sumberAplikasi: anotasi:, lihat Rujukan Protokol UIApplicationDelegate di developer.apple.com.
Periksa Login Pengguna pada Permulaan
Sekiranya pengguna log masuk ke aplikasi anda, menutup aplikasi, dan menghidupkan semula aplikasinya kemudian, aplikasi masih diberi kuasa untuk mengambil data. Pengguna tidak log keluar secara automatik. Semasa memulakan, anda dapat menunjukkan kepada pengguna sebagai log masuk jika aplikasi anda masih dibenarkan. Bahagian ini menerangkan cara penggunaan
getAccessTokenForScopes: withOverrideParams: perwakilan: untuk mengetahui sama ada aplikasi itu masih dibenarkan.
- Buat satu AMZNGetAccessTokenDelegate kelas. AMZNGetAccessTokenDelegateimplements yang AIAuthenticationDelegate protokol, dan akan memproses hasil dari
getAccessTokenForScopes: withOverrideParams: perwakilan: panggilan. AIAuthenticationDelegate mengandungi dua kaedah, requestDidSukses: dan requestDidFail:. requestDidSukses: menerima Keputusan APIR objek dengan data token, sementara requestDidFail: menerima Ralat API objek dengan maklumat mengenai kesalahan.#import @interface AMZNGetAccessTokenDelegate: NSObject
@akhir
Tambahkan tajuk pelaksanaan perwakilan anda ke panggilan kelas
getAccessTokenForScopes: withOverrideParams: perwakilan:. Forexample:#import "AMZNGetAccessTokenDelegate.h" - Pada permulaan aplikasi, hubungi
getAccessTokenForScopes: withOverrideParams: perwakilan: untuk mengetahui sama ada permohonan itu masih dibenarkan. getAccessTokenForScopes: withOverrideParams: perwakilan: mengambil token akses mentah yang digunakan Log masuk dengan Amazon untuk mengakses pelanggan profesionalfile. Sekiranya kaedah berjaya, aplikasi masih dibenarkan dan panggilan ke getProfile: harus berjaya. getAccessTokenForScopes: withOverrideParams: perwakilan: menggunakan AIAuthenticationDelegate protokol dengan cara yang sama seperti authorizeUserForScopes: perwakilan:. Lulus objek yang melaksanakan protokol sebagai parameter delegasi.- (tidak sah) checkIsUserSignedIn {
AMZNGetAccessTokenDelegate * delegate =
[[[AMZNGetAccessTokenDelegate alloc] initWithParentController:self] autoreleased];
NSArray * requestScopes =
[NSArray arrayWithObjects: @ ”profile", @" Poskod ", nihil]; [AIMobileLib getAccessTokenForScopes: requestScopes withOverrideParams: nil delegate: delegate];
} - Laksanakan requestDidSukses: pada anda AMZNGetAccessTokenDelegate. requestDidSukses: mempunyai satu tugas: memanggil getProfile:. bekas iniample panggilan getProfile: menggunakan pendengar yang sama yang anda nyatakan di bahagian sebelumnya (lihat langkah 6-8).
#import "AMZNGetProfilePerwakilan.h "
#import- (batal) requestDidSucceed: (APIResult *) apiResult {
// Kod anda untuk menggunakan token akses terdapat di sini.// Oleh kerana aplikasi mempunyai kebenaran untuk ruang lingkup kami, kami dapat
[AIMobileLib getProfile: perwakilan];
// dapatkan pro penggunafile.
AMZNGetProfileDelegate * delegate = [[[AMZNGetProfilePerwakilan peruntukan] initWithParentController: indukViewPengawal] autorelease];
} - Laksanakan requestDidFail: pada anda AMZNGetAccessTokenDelegate.
requestDidFail: termasuk an Ralat API objek yang mengandungi perincian mengenai kesalahan. Sekiranya anda menerima ralat, anda boleh menetapkan semula yang utama view pengawal untuk menunjukkan butang Login dengan Amazon.- (void) requestDidFail: (APIError *) errorResponse {
// Kod anda untuk menangani pengambilan token akses yang gagal.
// Sekiranya kod ralat = kAIApplicationNotAuthorized, izinkan pengguna
// untuk log masuk semula.
jika (errorResponse.error.code == kAIApplicationNotAuthorized) {
// Tunjukkan Log Masuk dengan butang Amazon.
}
lain {
// Tangani kesilapan lain
[[[[UIAlert]View peruntukkan] initWithTitle: @ ”” mesej: [NSString
stringWithFormat: @ "Ralat berlaku dengan mesej:% @", errorResponse.error.message] delegasi: nil
cancelButtonTitle:@”OK” otherButtonTitles:nil] autoreleased] show];
}
}
The jelasPengesahanNegara: kaedah akan membersihkan data kebenaran pengguna dari AIMobileLib kedai data tempatan. Pengguna perlu log masuk semula agar aplikasi mendapatkan profile data. Gunakan kaedah ini untuk log keluar pengguna, atau untuk menyelesaikan masalah masuk dalam aplikasi.
- Menyatakan satu AMZNLogoutDelegate. Ini adalah kelas yang melaksanakan
AIAuthenticationDelegateprotocol. Untuk tujuan kami, kami dapat mewarisi kelas dari Objektif NS:
#import @interface AMZNLogoutDelegate NSObject
@akhir
Tambahkan tajuk pelaksanaan perwakilan anda ke panggilan kelas jelasNegara Pengesahan:. Untuk example:
#import "AMZNLogoutDelegate.h" - Panggil jelasNegara Pengesahan:.
Apabila pengguna berjaya log masuk, anda mungkin memberikan mekanisme logout sehingga mereka dapat membersihkan data kebenaran mereka. Mekanisme anda mungkin hyperlink, atau item menu, tetapi untuk senario ini bekasample akan mencipta a logoutButtonClickedmode untuk butang log keluar.- (IBAction) logoutButtonClicked: (id) pengirim {
AMZNLogoutDelegate* perwakilan = [[[AMZNLogoutDelegate alloc] initWithParentController:self] autoreleased]; [AIMobileLib clearAuthorizationState:delegate];
}Satu-satunya parameter untuk jelasPeringkat Kebenaran ialah sebuah AIAuthenticationDelegate yang melaksanakan requestDidSukses: dan requestDidFail:.
- Laksanakan permintaanDidCapai:. Kaedah ini akan dipanggil semasa maklumat pengguna dibersihkan. Anda kemudian harus menunjukkannya sebagai log keluar.
- (batal) requestDidSucceed: (APIResult *) apiResult {
// Logik tambahan anda selepas kebenaran pengguna
// keadaan dibersihkan.
[[[UIAlert]View peruntukkan] initWithTitle: @ "" message: @ "Pengguna Log keluar."
delegate:nil cancelButtonTitle:@”OK” otherButtonTitles:nil] show];
} - Laksanakan requestDidFail:. Kaedah ini akan dipanggil sekiranya atas sebab tertentu maklumat pengguna tidak dapat dihapus dari cache. Sekiranya demikian, anda tidak boleh menunjukkannya sebagai log keluar.
- (void) requestDidFail: (APIError *) errorResponse {
// Logik tambahan anda setelah SDK gagal dihapus
// keadaan kebenaran. [[[[UIAlertView peruntukkan] initWithTitle: @ ”” mesej: [NSString
stringWithFormat: @ "Log Keluar Pengguna gagal dengan mesej:% @",
errorResponse.error.message] perwakilan: tiada
cancelButtonTitle:@”OK” otherButtonTitles:nil] autoreleased] show];
}
Uji Integrasi anda
Lancarkan aplikasi anda di peranti iOS atau simulator dan sahkan anda boleh log masuk dengan bukti kelayakan Amazon.com anda.
Nota: Semasa menguji simulator iOS10, anda mungkin melihat mesej ralat APIKey untuk Aplikasi tidak sah untuk permintaan authorizeUserForScopes, atau Unror Error Code untuk permintaan ClearAuthorizationState. Ini adalah satu pepijat yang diketahui dengan Apple yang berlaku semasa SDK cuba mengakses rantai kunci. Sehingga Apple menyelesaikan bug tersebut, anda boleh mengatasinya dengan mengaktifkan Keychain Sharing untuk aplikasi anda di bawah tab Kapabiliti pada sasaran aplikasi anda. Bug ini hanya memberi kesan kepada simulator. Anda boleh menguji pada peranti iOS10 sebenar tanpa menggunakan penyelesaian.
Log masuk dengan Panduan Bermula Amazon untuk iOS Versi 2.1.2 - Muat turun [dioptimumkan]
Log masuk dengan Panduan Bermula Amazon untuk iOS Versi 2.1.2 - Muat turun