Log masuk dengan Panduan Bermula Amazon untuk Android
Log masuk dengan Amazon: Panduan Bermula untuk Android
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 Android
Dalam panduan ini, kami akan menunjukkan kepada anda cara menambahkan Login dengan Amazon ke aplikasi Android 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 Alat Pembangun Android
Login dengan Amazon SDK untuk Android akan membantu anda menambahkan Login dengan Amazon ke aplikasi Android anda. Kami mengesyorkan anda menggunakan Login dengan Amazon SDK untuk Android dari developer.amazon.com dengan Android Studio. Anda juga boleh menggunakan pemalam Eclipse dengan ADT. Untuk mengetahui cara memasang Android Studio dan menyiapkan Android SDK, lihat Dapatkan Android SDK di developer.android.com.
Apabila Android SDK dipasang, cari Pengurus SDK aplikasi dalam pemasangan Android anda. Untuk mengembangkan Login dengan Amazon, anda mesti menggunakan SDK Manager untuk memasang Platform SDK untuk Android 2.2 atau lebih tinggi (API versi 8). Lihat Menambah Pakej SDK di developer.android.com untuk maklumat lebih lanjut mengenai penggunaan SDK
Setelah memasang SDK, sediakan Peranti Maya Android (AVD) untuk menjalankan aplikasi anda. Lihat Mengurus Peranti Maya di developer.android.com untuk mendapatkan arahan mengenai penyediaan peranti maya.
Apabila persekitaran pembangunan anda disiapkan, anda boleh Pasang Log Masuk dengan Amazon SDK untuk Android or Jalankan Sample Aplikasi, seperti yang dijelaskan di bawah.
Pasang Log Masuk dengan Amazon SDK untuk Android
Log masuk dengan Amazon SDK untuk Android terdapat dalam dua pakej. Yang pertama mengandungi pustaka Android dan dokumentasi sokongan. Yang kedua mengandungi sebagaiampaplikasi yang membolehkan pengguna log masuk dan memaparkan pro merekafile data.
Sekiranya anda belum memasang SDK Android atau Alat Pembangunan Android, lihat Memasang Alat Pembangun Android bahagian di atas.
- Muat turun zip dan ekstrak files ke direktori pada cakera keras anda.
Anda harus melihat a doc dan a lib subdirektori. - Buka doc / index.html kepada view Log masuk dengan API Android Amazon
- Lihat Pasang Log Masuk dengan Perpustakaan Amazon, untuk arahan mengenai cara menambahkan perpustakaan dan dokumentasi ke Android
Apabila Log Masuk dengan Amazon SDK untuk Android dipasang, anda boleh Buat Log Masuk Baru dengan Amazon Projek, selepas Mendaftar dengan Log Masuk dengan Amazon .
Jalankan Sample Aplikasi
Untuk menjalankan sample aplikasi, import sampmasuk ke ruang kerja AndroidStudio (jika anda menggunakan Eclipse, anda juga mesti menambahkan storan kunci debug tersuai ke ruang kerja. Lihat Tambahkan Debug Tersuai Kedai kunci di Eclipse bahagian di bawah). Kunci API bahawa sampPenggunaan aplikasi memerlukan ruang kerja untuk menggunakan kedai kunci yang dihantar dengan sample. Sekiranya kedai kunci tersuai tidak dipasang, pengguna tidak akan dapat log masuk menggunakan sample. Kedai kunci akan diambil secara automatik jika anda menggunakan AndroidStudio.
- Muat turun SampleLoginWithAmazonAppForAndroid-src.zip dan ekstrak files ke direktori di hard anda
- Mulakan Android Studio dan pilih Buka projek Android Studio yang ada
- Semak imbas ke SampleLoginWithAmazonApp direktori yang diperoleh setelah mengeluarkan zip yang dimuat turun file dalam Langkah
- daripada bina menu, klik Buat Projek, dan tunggu projek itu
- daripada Lari menu, klik Lari dan kemudian klik pada SampleLoginWithAmazonApp.
- Pilih emulator atau peranti Android yang disambungkan dan klik Lari.
Tambahkan kedai Custom Debug Key di Eclipse
Sekiranya anda menggunakan Eclipse, ikuti arahan di bawah untuk menambahkan kedai kunci debug tersuai:
- Dalam Keutamaan dialog, pilih Android dan bina.
- Di sebelah Adat Kedai Kekunci Debug, klik Semak imbas.
- Navigasi ke sample app direktori dan pilih Kedai 3p.keykey, dan kemudian klik OK.
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 Android ke akaun tersebut.
Lihat topik berikut:
- Daftarkan Log Masuk Anda dengan Aplikasi Amazon
- Daftarkan Aplikasi Android Anda
- Tambahkan Aplikasi Android untuk Amazon Appstore
- Tambahkan Aplikasi Android Tanpa Appstore
- Tandatangan Aplikasi Android dan Kekunci API
- Menentukan Tandatangan Aplikasi Android
- Mengambil Kunci API Android
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 Jika 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 Daftarkan Permohonan Anda borang, masukkan a 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 a Notis Privasi URL untuk permohonan anda
The 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.
Daftarkan Aplikasi Android Anda
Untuk mendaftarkan Aplikasi Android, anda mempunyai pilihan untuk mendaftarkan aplikasi melalui Amazon Appstore (Tambahkan Aplikasi Android untuk Amazon Appstore, hlm. 8) atau secara langsung dengan Login dengan Amazon (Tambahkan Android Aplikasi Tanpa Appstore, hlm. 9). Apabila aplikasi anda didaftarkan, anda akan mendapat akses ke kunci API yang akan memberi aplikasi anda akses ke perkhidmatan kebenaran Login dengan Amazon.
Nota: Sekiranya anda berencana untuk menggunakan Pemesejan Peranti Amazon dalam aplikasi Android anda, hubungi lwa- sokongan@amazon.com dengan:
- Alamat e-mel akaun Amazon yang anda gunakan untuk mendaftar masuk dengan Amazon.
- Alamat e-mel akaun Amazon yang anda gunakan untuk mendaftar ke Amazon Appstore (jika berbeza).
- Nama pada akaun Pusat Penjual anda. (Di Pusat Penjual, klik Tetapan> Maklumat Akaun> Maklumat Penjual, dan gunakan Nama paparan).
- Nama di akaun pembangun Amazon Appstore anda. (Di laman Pengedaran Aplikasi Mudah Alih, klik tetapan > Syarikat Profile dan gunakan Nama Pemaju atau Nama Syarikat).
Tambahkan Aplikasi Android untuk Amazon Appstore
Langkah-langkah berikut akan menambahkan aplikasi Amazon Appstore ke Login dengan akaun Amazon anda:
- Dari skrin Aplikasi, klik Tetapan Android. Sekiranya anda sudah mempunyai aplikasi Android yang didaftarkan, cari Tambah Kekunci API butang dalam Tetapan Android
The Perincian Aplikasi Android borang akan muncul: - Pilih ya sebagai jawapan kepada soalan "Adakah aplikasi ini diedarkan melalui Amazon Appstore?"
- Masukkan ke Label Aplikasi Android anda. Ini tidak semestinya nama rasmi aplikasi anda. Ini hanya mengenal pasti aplikasi Android tertentu di antara aplikasi dan weblaman web yang didaftarkan ke aplikasi Login anda dengan Amazon.
- Tambah anda ID Appstore Amazon.
- Sekiranya anda menandatangani aplikasi anda sendiri, tambahkan maklumat tandatangan sendiri. Ini akan membolehkan anda mendapatkan kunci API semasa pembangunan tanpa menggunakan Appstore secara langsung:
a. Sekiranya aplikasi anda tidak ditandatangani melalui Amazon Appstore, pilih Ya untuk menjawab soalan "Adakah aplikasi ini ditandatangani sendiri?"
The Perincian Aplikasi Android borang akan berkembang:
b. Masukkan anda Nama Pakej.
Ini mesti sepadan dengan nama pakej projek Android anda. Untuk menentukan nama pakej Projek Android anda, buka projek mengikut pilihan alat pembangun Android anda.
Buka AndroidManifest.XML dalam Pakej Penjelajah dan pilih Manifest tab. Penyertaan pertama adalah nama Pakej.
c. Masukkan aplikasi Tandatangan.
Ini adalah nilai hash SHA-256 yang digunakan untuk mengesahkan aplikasi anda. Tandatangan mestilah dalam bentuk 32 pasangan heksadesimal yang dipisahkan oleh titik dua (untuk contohample: 01:23:45:67:89:ab:cd:ef:01:23:45:67:89:ab:cd:ef:01:23:45:67:89:ab:cd:ef:01: 3:45:67:89:a b:cd:ef). Lihat Tandatangan Aplikasi Android dan Kekunci API untuk langkah-langkah yang boleh anda gunakan untuk mengekstrak tandatangan dari projek anda. - klik Jimat.
Sekiranya versi aplikasi anda berbeza mempunyai tandatangan atau nama pakej yang berbeza, seperti untuk satu atau lebih versi ujian dan versi pengeluaran, setiap versi memerlukan Kunci API sendiri. Daripada Tetapan Android aplikasi anda, klik Tambah Kekunci API butang untuk membuat kunci tambahan untuk aplikasi anda (satu per versi).
Tandatangan Aplikasi Android dan Kekunci API
Tandatangan aplikasi adalah nilai hash SHA-256 yang diterapkan pada setiap aplikasi Android ketika ia dibina. Amazon menggunakan tandatangan aplikasi untuk membina Kunci API anda. Kunci API membolehkan perkhidmatan Amazon mengenali aplikasi anda. Sekiranya anda menggunakan Amazon Appstore untuk menandatangani aplikasi anda, kunci API diberikan secara automatik. Sekiranya anda tidak menggunakan Amazon Appstore, anda perlu menguruskan kunci API anda secara manual.
Tandatangan aplikasi disimpan di kedai kunci. Secara amnya, untuk aplikasi Android terdapat keystore debug dan keystore keluaran. Kedai kunci debug dibuat oleh plugin Alat Pembangunan Android untuk Eclipse dan digunakan secara lalai. Anda boleh mencari lokasi kedai kunci debug di Eclipse dengan mengklik Tingkap, dan kemudian memilih Keutamaan> Android> Bangun. Dari skrin itu, anda juga boleh menambah kedai kunci debug anda sendiri. Untuk Android Studio, dari bina menu, pilih Edit Jenis Binaan, kemudian pergi ke Menandatangani tab, dan cari kedai kunci debug di Kedai File padang.
Kedai kunci pelepasan biasanya dibuat ketika anda mengeksport aplikasi Android anda untuk membuat APK yang ditandatangani file.
Melalui proses eksport, jika anda membuat kedai kunci keluaran baru, anda akan memilih lokasinya. Oleh
secara lalai ia akan diletakkan di lokasi yang sama dengan KeyStore debug lalai anda.
Sekiranya anda telah mendaftarkan aplikasi anda menggunakan tandatangan debug semasa pengembangan, anda perlu menambahkan tetapan Android baru ke aplikasi anda apabila anda sudah siap untuk melepaskan aplikasi tersebut. Tetapan aplikasi baru mesti menggunakan tandatangan dari kedai kunci pelepasan.
Lihat Menandatangani Permohonan Anda di developer.android.com untuk maklumat lebih lanjut.
Tentukan Tandatangan Aplikasi Android
- Sekiranya anda mempunyai APK yang ditandatangani file:
a. Nyahzip APK file dan ekstrak CERT.RSA. (Anda boleh menamakan semula pelanjutan APK kepada ZIP jika perlu).
b. Dari baris arahan, jalankan:keytool -printcert -file CERT.RSA Keytoolis terletak di tong sampah direktori pemasangan Java anda.
- Sekiranya anda mempunyai kedai kunci file:
a. Dari baris arahan, jalankan:keytool -list -v -alias -kedai kuncifilenama> Alat kekunci terletak di direktori tong pemasangan Java anda. Alias adalah nama kunci yang digunakan untuk menandatangani aplikasi.
b. Masukkan kata laluan untuk kekunci dan tekan Masuk. - Di bawah Cap Jari Sijil, menyalin SHA256 nilai.
Dapatkan Kunci API Android
Apabila anda telah mendaftarkan tetapan Android dan memberikan tandatangan aplikasi, anda boleh mendapatkan kunci API dari halaman pendaftaran untuk aplikasi Login dengan Amazon anda. Anda perlu meletakkan kunci API tersebut ke dalam file dalam projek Android anda. Sehingga anda melakukannya, aplikasi tidak akan dibenarkan untuk berkomunikasi dengan perkhidmatan kebenaran Login dengan Amazon.
- Pergi ke https://login.amazon.com.
- klik Konsol Apl.
- Dalam Aplikasi kotak di sebelah kiri, pilih anda
- Cari aplikasi Android anda di bawah Tetapan Android (Jika anda belum mendaftarkan aplikasi Android, lihat Tambahkan Aplikasi Android untuk Amazon Appstore).
- klik Hasilkan Nilai Utama API. Tetingkap pop timbul akan memaparkan kunci API anda. Untuk menyalin kunci, klik Pilih Semua untuk memilih keseluruhan
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. - Lihat Tambahkan Kunci API Anda ke Projek Anda untuk arahan mengenai menambah kunci API ke Android anda
Membuat Log Masuk dengan Projek Amazon
Di bahagian ini, anda akan belajar bagaimana membuat projek Android baru untuk Login dengan Amazon, mengkonfigurasi projek, dan menambahkan kod ke projek untuk log masuk pengguna dengan Login dengan Amazon. Kami akan menerangkan langkah-langkah untuk Android Studio, tetapi anda dapat menerapkan langkah-langkah serupa ke mana-mana alat pengembangan IDE atau Android pilihan anda.
Lihat topik berikut:
- Buat Log Masuk Baru dengan Projek Amazon
- Pasang Log Masuk dengan Perpustakaan Amazon
- Dayakan Bantuan Kandungan untuk Log Masuk dengan Perpustakaan Amazon
- Tetapkan Kebenaran Rangkaian untuk Aplikasi Anda
- Tambahkan Kunci API Anda ke Projek Anda
- Keluarkan Sample Kedai Key Debug Custom App
- Tangani Perubahan Konfigurasi untuk Aktiviti Anda
- Tambahkan Aktiviti Kebenaran ke Projek Anda
- Tambahkan Log Masuk dengan Butang Amazon ke Aplikasi Anda
- Tangani Butang Masuk dan Dapatkan Profile Data
- Periksa Login Pengguna pada Permulaan
- Kosongkan Keadaan Keizinan dan Keluar Pengguna
- Panggil Kaedah Pengurus Kebenaran Amazon secara serentak
Buat Log Masuk Baru dengan Projek Amazon
Sekiranya anda belum mempunyai projek aplikasi untuk menggunakan Login dengan Amazon, ikuti arahan di bawah untuk membuatnya. Sekiranya anda mempunyai aplikasi yang ada, langkau ke Pasang Log Masuk dengan Perpustakaan Amazon .
- Pelancaran Alat Pembangunan Android.
- daripada File menu, pilih baru dan Projek.
- Masukkan satu Nama Permohonan dan Nama Syarikat untuk anda
- Masukkan ke Permohonan dan Nama Syarikat sepadan dengan nama pakej yang anda pilih semasa anda mendaftarkan aplikasi anda dengan Login dengan Amazon.
Sekiranya anda belum mendaftarkan aplikasi anda, pilih a Nama Pakej dan kemudian ikuti arahan di Mendaftar dengan Log Masuk dengan Amazon bahagian selepas anda membuat projek anda. Sekiranya nama pakej aplikasi anda tidak sepadan dengan nama pakej yang didaftarkan, Log masuk dengan panggilan Amazon anda tidak akan berjaya. - Pilih a SDK Diperlukan Minimum API 8: Android 2 (Froyo) atau lebih tinggi, dan klik Seterusnya.
- Pilih jenis aktiviti yang ingin anda buat dan klik Seterusnya.
- Isi butiran yang berkaitan dan klik Selesai.
Anda sekarang akan mempunyai projek baru di ruang kerja 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 Android, lihat Pasang Log Masuk dengan Amazon SDK untuk Android (ms 4).
- Dengan projek anda dibuka di Alat Pembangun Android, di Penjelajah Projek, klik kanan anda Projek.
- Sekiranya folder dipanggil libs belum ada, buat
- Salin log masuk-dengan-amazon-sdk.jar file daripada File Sistem, dan kemudian tampalkannya di libs direktori di bawah projek / aplikasi anda.
- Klik kanan log masuk-dengan-amazon-sdk.jar, dan semak Tambah Sebagai Perpustakaan
Dayakan Bantuan Kandungan untuk Log Masuk dengan Perpustakaan Amazon di Eclipse
Untuk mengaktifkan sokongan kandungan Eclipse dalam projek Android memerlukan penggunaan a .harta benda file. Untuk maklumat lebih lanjut mengenai bantuan kandungan, lihat Bantuan Kandungan / Kod onhelp.eclipse.org.
Untuk mengaktifkan sokongan kandungan Eclipse dalam projek Android memerlukan penggunaan a .harta benda file. Untuk maklumat lebih lanjut mengenai bantuan kandungan, lihat Bantuan Kandungan / Kod onhelp.eclipse.org.
- In Windows Explorer, navigasi ke dokumen folder untuk Login dengan Amazon SDK untuk Android dan salin folder ke
- Dengan projek anda terbuka, pergi ke Pakej Explorer dan pilih libs klik Sunting dari menu utama dan pilih tampal. Anda kini harus mempunyai libs \ dokumen direktori.
- Pilih libs klik File dari menu utama dan pilih baru danFile.
- Dalam baru File dialog, masukkan log masuk-dengan-amazon-sdk.jar.properties dan klik Selesai.
- Gerhana harus dibuka log masuk-dengan-amazon-sdk.jar.properties dalam penyunting teks. Dalam penyunting teks, tambahkan baris berikut ke file:
doc = dokumen - daripada File menu, klik Jimat.
- Anda mungkin perlu memulakan semula Eclipse agar perubahan tersebut berlaku
Tetapkan Kebenaran Rangkaian untuk Aplikasi Anda
Agar aplikasi anda menggunakan Login dengan Amazon, aplikasi mesti mengakses Internet dan mengakses maklumat keadaan rangkaian. Aplikasi anda mesti menyatakan kebenaran ini dalam manifes Android anda, jika belum.
NOTA: Langkah-langkah prosedur di bawah adalah khusus untuk menambahkan izin di Eclipse. Sekiranya anda menggunakan Android Studio atau IDE yang berbeza, anda boleh melangkau semua langkah bernombor di bawah. Sebagai gantinya, salin garis kod yang dipaparkan di bawah tangkapan skrin, dan tampal ke dalam AndroidManifest.xml file, di luar blok aplikasi.
- In Pakej Penjelajah, klik dua kali xml.
- pada kebenaran tab, klik Tambah.
- Pilih Menggunakan Kebenaran dan klik OK.
- Ke kanan kebenaran, cari Atribut untuk Kebenaran Penggunaan
- Dalam Nama kotak, masukkan kebenaran. INTERNET atau pilih dari menu lungsur.
- pada kebenaran tab, klik Tambah
- Pilih Menggunakan Kebenaran dan klik OK.
- Dalam Nama kotak, masukkan kebenaran.ACCESS_NETWORK_STATE atau pilih dari menu lungsur
- daripada File menu, klik Jimat.
Kebenaran manifes anda sekarang harus mempunyai nilai berikut:
Dalam AndroidManifest.xml tab, anda sekarang harus melihat entri ini di bawah elemen manifes:
Tambahkan Kunci API Anda ke Projek Anda
Apabila anda mendaftarkan aplikasi Android anda dengan Login dengan Amazon, anda diberi kunci API. Ini adalah pengecam yang akan digunakan oleh Pengurus Kebenaran Amazon untuk mengenal pasti aplikasi anda ke perkhidmatan kebenaran Masuk dengan Amazon. Sekiranya anda menggunakan Amazon Appstore untuk menandatangani aplikasi anda, Appstore akan memberikan kunci API secara automatik. Sekiranya anda tidak menggunakan Amazon Appstore, Amazon Authorization Manager memuatkan nilai ini pada waktu runtime dari api_key.txt file dalam aset direktori.
- Sekiranya anda belum mempunyai Kunci API, ikuti arahan di Dapatkan Kunci API Android (ms 11).
- Dengan projek ADT anda dibuka, dari File menu, klik baru dan pilih Teks Tanpa Tajuk File. Anda kini harus mempunyai tetingkap editor untuk teks file bernama Tanpa tajuk 1. Tambahkan kunci API anda ke teks
- daripada File menu, klik Simpan Sebagai.
- Dalam Simpan Sebagai dialog, pilih aset direktori projek anda sebagai folder induk. Untuk File nama, masuk txt.
Keluarkan Sample Kedai Key Debug Custom App
NOTA: Langkah ini diperlukan hanya jika anda menggunakan Eclipse; jika anda menggunakan Android Studio, langkau bahagian ini.
Sekiranya anda memasang Log Masuk dengan Amazon untuk Android sampaplikasi ke ruang kerja yang sama yang anda gunakan untuk aplikasi Android anda, anda mungkin mempunyai set kunci debug khusus untuk ruang kerja. Anda perlu membersihkan kedai kunci debug tersuai untuk menggunakan kunci API anda sendiri.
- Dari menu utama, klik Tingkap dan pilih Keutamaan.
- Dalam Keutamaan dialog, pilih Android dan bina.
- Kosongkan Adat debug kunci kedai
- klik OK.
Tangani Perubahan Konfigurasi untuk Aktiviti Anda
Sekiranya pengguna mengubah orientasi layar atau mengubah keadaan papan kekunci peranti semasa mereka log masuk, ia akan memulakan semula aktiviti semasa. Mulakan semula ini akan menutup skrin masuk tanpa diduga. Untuk mengelakkan ini, anda harus menetapkan aktiviti yang menggunakan kaedah mengotorisasi untuk menangani perubahan konfigurasi tersebut secara manual. Ini akan mengelakkan aktiviti dimulakan semula.
- In Pakej Penjelajah, klik dua kali xml.
- Dalam Permohonan bahagian, cari aktiviti yang akan menangani Login dengan Amazon (untuk bekasample, Aktiviti utama).
- Tambahkan atribut berikut untuk aktiviti yang anda lakukan di Langkah 2:
android: configChanges = "papan kekunci | papan kekunci Tersembunyi | orientasi" Atau untuk API 13 atau lebih tinggi:
android: configChanges = "keyboard | keyboardHidden | orientation | screenSize" - daripada File menu, klik Jimat
Sekarang, apabila perubahan orientasi papan kekunci atau peranti berlaku, Android akan memanggilnya onConfigurationChanged kaedah untuk aktiviti anda. Anda tidak perlu melaksanakan fungsi ini kecuali ada aspek perubahan konfigurasi yang ingin anda kendalikan untuk aplikasi anda
Apabila pengguna mengklik butang Login dengan Amazon, API akan melancarkan a web penyemak imbas untuk menyampaikan halaman masuk dan persetujuan kepada pengguna. Agar aktiviti penyemak imbas ini dapat berfungsi, anda mesti menambahkan ActivizationActivity ke manifes anda.
- In Pakej Penjelajah, klik dua kali xml.
- Dalam Permohonan bahagian, tambahkan kod berikut, menggantikan "com.example.app ”dengan nama pakej anda untuk aplikasi ini:
<aktiviti android:name=
"Com.amazon.identity.auth.device.authorization.AuthorizationActivity" android: theme = "@ android: style / Theme.NoDisplay" android: allowTaskReparenting = "true" android: launchMode = "singleTask">
<action android:name=”android.intent.action.VIEW” />
<data
android: host = ”com.example.app "android: skema =" amzn "/>
aplikasi anda. Bahagian ini memberikan langkah-langkah untuk memuat turun Login rasmi dengan gambar Amazon dan memasangkannya dengan Android ImageButton.
- Tambahkan ImageButton standard ke aplikasi anda.
Untuk maklumat lebih lanjut mengenai butang Android dan kelas ImageButton, lihat Butang di developer.android.com. - Beri butang anda id.
Dalam butang deklarasi XML, tetapkan atribut android: id ke @ + id / login_with_amazon. Untuk bekasample:android: id = "@ + id / login_with_amazon" - 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_Android.zip file. Ekstrak salinan butang pilihan anda untuk setiap kepadatan skrin yang disokong oleh aplikasi anda (xxhdpi, xhdpi, hdpi, mdpi, atau tvdpi). Untuk maklumat lebih lanjut mengenai menyokong banyak kepadatan skrin di Android, lihat Susun atur Alternatif dalam topik "Menyokong Pelbagai Skrin" di ondeveloper.android.com. - Salin gambar butang yang sesuai files kepada projek anda.
Untuk setiap kepadatan skrin yang anda sokong (xhdpi, hdpi, mdpi, atau ldpi), salin butang yang dimuat turun ke res / boleh dilukis direktori untuk ketumpatan skrin itu. - Menyatakan gambar butang.
Dalam deklarasi XML butang, tetapkan atribut android: src ke nama butang yang telah anda pilih. Untuk bekasample:android: src = "@ drawable / btnlwa_gold_loginwithamazon.png" 6. Muatkan aplikasi anda, dan sahkan bahawa butang sekarang mempunyai Log masuk dengan gambar Amazon. Anda harus mengesahkan bahawa butang dipaparkan dengan betul untuk setiap kepadatan skrin yang anda sokong.
Bahagian ini menerangkan cara memanggil otorisasi dan getProfile API untuk log masuk pengguna dan mendapatkan pro merekafile data. Ini termasuk membuat pendengar onClick untuk butang Log masuk dengan Amazon anda dalam kaedah onCreate aplikasi anda.
- Tambahkan Log Masuk dengan Amazon ke projek Android anda. Lihat Pasang Log Masuk dengan Perpustakaan Amazon .
- Import Log Masuk dengan Amazon API ke sumber anda
Untuk mengimport Log Masuk dengan Amazon API, tambahkan pernyataan import berikut ke sumber anda file:import com.amazon.identity.auth.device.AuthError; mengimport
com.amazon.identity.auth.device.authorization.api.
AmazonAuthorizationManager; mengimport
com.amazon.identity.auth.device.authorization.api. Penyenaraian Kebenaran; import com.amazon.identity.auth.device.authorization.api.AuthzConstants; - Mulakan AmazonAuthorizationManager.
Anda perlu menyatakan AmazonAuthorizationManager ubah dan buat contoh baru kelas. Membuat contoh baru hanya memerlukan konteks aplikasi semasa anda dan kumpulan kosong. Tempat terbaik untuk memulakan AmazonAuthorizationManager berada dalam onCreate kaedah Aktiviti anda. Untuk bekasample: - Buat AuthorizeLiistener.
AuthorizeListener melaksanakan antara muka AuthorizatioinListener, dan akan memproses hasil dari pengarang sah. Ia mengandungi tiga kaedah: oinSuccess, Kesalahan, dan onCanceil. Setiap kaedah menerima Bundle atau Ralat Auth objek.kelas swasta AuthorizeListener melaksanakan AuthorizationListener {
/ * Kebenaran berjaya diselesaikan. * /
@Selamat
kekosongan awam onSuccess (Respons kumpulan) {
}
/ * Terdapat kesalahan semasa percubaan untuk mengizinkan aplikasi.
*/
@Selamat
kekosongan awam onError (AuthError ae) {
}
/ * Kebenaran dibatalkan sebelum dapat diselesaikan. * /
@Selamat
pembatalan awam onCancel (Bundle penyebab) {
}
} - Panggil AmazonAuthorizationManager.authorize.
Dalam onClick pengendali untuk butang Log masuk dengan Amazon anda, panggil otorisasi untuk meminta pengguna log masuk dan membenarkan aplikasi anda.
Kaedah ini bertanggungjawab untuk memberi kuasa kepada pelanggan dengan salah satu cara berikut:- Beralih ke penyemak imbas sistem dan membiarkan pelanggan masuk dan bersetuju dengan yang diminta
- Beralih kepada web view dalam konteks yang selamat, untuk membiarkan pelanggan masuk dan bersetuju dengan yang diminta
Konteks selamat untuk # 2 ini kini tersedia sebagai aplikasi Amazon Shopping pada peranti Android. Peranti buatan Amazon yang menjalankan Fire OS (untuk bekasample Kindle Fire, Fire Phone, dan Fire TV) selalu menggunakan pilihan ini walaupun tidak ada aplikasi Amazon Shopping pada peranti. Oleh kerana itu, jika pelanggan sudah masuk ke aplikasi Amazon Shopping, API ini akan melangkau halaman masuk, yang menuju ke Log Masuk Tunggal pengalaman untuk pelanggan.
Apabila aplikasi anda disahkan, ia akan disahkan untuk satu atau lebih kumpulan data yang dikenali sebagai skop. 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 bidang: 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.
Kaedah terbaik untuk memanggil keizinan adalah tidak segerak, jadi anda tidak perlu menyekat utas UI atau membuat utas pekerja anda sendiri. Untuk memanggil membenarkan secara segerak, lulus objek yang menyokong PermukaanListenerinterface sebagai parameter terakhir:AmazonAuthorizationManager mAuthManager peribadi; @Selamat
void dilindungi onCreate(Bundle savedInstanceState) {
super.onCreate (disimpanInstanceState);
mAuthManager = AmazonAuthorizationManager baru (ini, Bundle.EMPTY);// Cari butang dengan login_with_amazon ID
// dan sediakan pengendali klik
mLoginButton = (Butang) cariViewOlehId (R.id.login_with_amazon);
mLoginButton.setOnClickListener (OnClickListener baru () {
@Selamat
kekosongan awam onClick (View v) {
mAuthManager.autorize (
Rentetan baru [] {“profile","Poskod"},
Bundle.EMPTY, AuthorizeListener baru ());
}
});
} - Buat a ProfilePendengar.
ProfilePendengar adalah nama kami untuk kelas yang melaksanakan APIListener antara muka, dan akan memproses hasil dari getProfile panggilan. APIListener mengandungi dua kaedah: onSukses dan onError (ia tidak menyokong diBatal kerana tidak ada cara untuk membatalkan a getProfile panggilan). onSukses menerima objek Bundle dengan profile data, sementara onEriror menerima Ralat Auth objek dengan maklumat mengenai kesalahan.Pro kelas swastafilePendengar melaksanakan APIListener { / * getProfile selesai dengan jayanya. * / @ Override
kekosongan awam onSuccess (Respons kumpulan) {}
/ * Terdapat kesalahan semasa usaha mendapatkan profile. * / @ Override
kekosongan awam onError (AuthError ae) {
}
} - Laksanakan onSukses untuk anda AuthorizeListener.
In onSukses, panggilan AmazonAuthorizationManager.getProfile untuk mendapatkan semula pro pelangganfile. getProfile, seperti membenarkan, menggunakan antara muka pendengar tidak segerak. Untuk getProfile, antara muka itu APIListener, bukanAuthorizationListener.
/ * Kebenaran berjaya diselesaikan. * / @ Override
kekosongan awam onSuccess (Respons kumpulan) {
mAuthManager.getProfile(Pro barufilePendengar ());} - Laksanakan diSukses untuk awak ProfilePendengar.
onSuccesshas dua tugas utama: untuk mendapatkan semula profile data dari kumpulan respons, dan untuk menyampaikan data ke UI. kemas kiniProfileDatais fungsi hipotetis yang dapat dilaksanakan oleh aplikasi anda untuk memaparkan profile butiran. setLoggedInState, fungsi hipotesis lain, akan menunjukkan bahawa pengguna log masuk dan memberi mereka kaedah log keluar.
Untuk mendapatkan semula profile data dari Bundle, kami menggunakan nama yang disimpan oleh AuthzConstants kelas. The onSukses bundle mengandungi profile data dalam BUNDLE_KEY.PROFILE berkas.
Dalam profile bundle, data skop diindeks di bawah PROFILE_KEY.NAME, PROFILE_KEY.EMAIL, PROFILE_KEY.USER_ID, dan PROFILE_KEY.POSTAL_CODE. PROFILE_KEY.POSTAL_CODE hanya disertakan jika anda meminta pos_kod skop.@Selamat
kekosongan awam onSuccess (Respons kumpulan) {
// Dapatkan semula data yang kami perlukan dari pro Bundle BundlefileBundle = tindak balas.getBundle (
AuthzConstants.BUNDLE_KEY.PROFILE.val);
Nama rentetan = profileBundle.getString (
AuthzConstants.PROFILE_KEY.NAME.val);
Rentetan e-mel = profileBundle.getString (
AuthzConstants.PROFILE_KEY.EMAIL.val);
String akaun = profileBundle.getString (
AuthzConstants.PROFILE_KEY.USER_ID.val);
Kod zip rentetan = profileBundle.getString (
AuthzConstants.PROFILE_KEY.POSTAL_CODE.val);
runOnUiThread (Runnable baru () {@Override
larian kekosongan awam () {
kemas kiniProfileData (nama, e-mel, akaun, poskod);
}
});
} - Laksanakan onError untuk anda ProfilePendengar.
onError termasuk an Ralat Auth objek yang mengandungi perincian mengenai kesalahan./ * Terdapat kesalahan semasa usaha mendapatkan profile. * / @ Override
kekosongan awam onError (AuthError ae) {
/ * Cuba semula atau maklumkan kesilapan pengguna * /
} - Laksanakan atasErrorfor awak AuthorizeListener.
/ * Terdapat kesalahan semasa percubaan untuk mengizinkan aplikasi.
*/
@Selamat
kekosongan awam onError (AuthError ae) {
/ * Maklumkan kesalahan pengguna kepada pengguna * /
} - Laksanakan diCancelfor awak AuthorizeListener.
Kerana proses pengesahan menyajikan skrin masuk (dan mungkin skrin persetujuan) kepada pengguna di a web penyemak imbas (atau a webview), pengguna akan berpeluang untuk membatalkan log masuk atau menjauh dari web halaman. Sekiranya mereka secara jelas membatalkan proses log masuk, diBatal dipanggil. Sekiranya padaCancelis dipanggil, anda mahu menetapkan semula UI anda./ * Kebenaran dibatalkan sebelum dapat diselesaikan. * /
@Selamat
pembatalan awam onCancel (Bundle penyebab) {
/ * tetapkan semula UI ke keadaan siap masuk * /
}Nota: Sekiranya pengguna menjauh dari skrin log masuk di penyemak imbas atau web view dan beralih kembali ke aplikasi anda, SDK tidak akan mengesan bahawa log masuk tidak selesai. Sekiranya anda mengesan aktiviti pengguna dalam aplikasi anda sebelum log masuk selesai, anda boleh menganggap mereka telah menjauh dari penyemak imbas dan bertindak balas dengan sewajarnya.
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 menggunakan getToken untuk melihat apakah aplikasi masih dibenarkan.
- Buat a TokenListener.
TokenListener melaksanakan APIListener antara muka, dan akan memproses hasil panggilan getToken. APIListener mengandungi dua kaedah: onSukses dan onError (ia tidak menyokong diBatal kerana tidak ada cara untuk membatalkan a getToken panggilan). onSukses menerima objek Bundle dengan data token, sementara onError menerima Ralat Auth objek dengan maklumat mengenai kesalahan.TokenListener kelas peribadi melaksanakan APIListener { / * getToken berjaya diselesaikan. * / @ Override
kekosongan awam onSuccess (Respons kumpulan) {
}
/ * Terdapat ralat semasa percubaan mendapatkan token. * / @ Override
kekosongan awam onError (AuthError ae) {
}
} - Dalam Bermula kaedah Aktiviti anda, hubungi getToken untuk mengetahui sama ada permohonan itu masih dibenarkan.
getToken mengambil token capaian mentah bahawa AmazonAuthorizationManager menggunakan untuk mengakses pro pelangganfile. Sekiranya nilai token tidak kosong, maka aplikasinya masih dibenarkan dan panggilan ke getProfile harus berjaya. getTokenrequires ruang lingkup yang sama yang anda minta dalam panggilan anda untuk memberi kebenaran.
dapatkanTokensupport panggilan tak segerak dengan cara yang sama seperti getProfile, jadi anda tidak perlu menyekat utas UI atau membuat utas pekerja anda sendiri. Untuk memanggil getToken secara tidak segerak, hantarkan objek yang menyokong APIListener antara muka sebagai parameter akhir.@Selamat
kekosongan dilindungi diStart () {
super.onStart
(); mAuthManager.getToken (String baru [] {“profile","Poskod"},
baru
TokenListener ());
} - Laksanakan onSukses untuk anda TokenListener.
onSuccesshas dua tugas: untuk mengambil token dari Bundle, dan jika token itu sah, untuk memanggil getProfile.
Untuk mengambil data token dari Bundle, kami menggunakan nama yang disimpan oleh AuthzConstants kelas. The onSukses bundle mengandungi data token dalam nilai BUNDLE_KEY.TOKEN. Sekiranya nilai itu tidak kosong, ini adalahample panggilan getProfile menggunakan pendengar yang sama yang anda nyatakan di bahagian sebelumnya (lihat langkah 7 dan 8)./ * getToken berjaya diselesaikan. * /
@Selamat
kekosongan awam onSuccess (Respons kumpulan) {
rentetan akhir authorzToken =
tindak balas.getString (AuthzConstants.BUNDLE_KEY.TOKEN.val);
jika (! TextUtils.isEmpty (authzToken))
{
// Dapatkan semula profile data
mAuthManager.getProfile(Pro barufilePendengar ());
}
}
Kaedah clearAuthorizationState akan membersihkan data kebenaran pengguna dari kedai data tempatan AmazonAuthorizationManager. Pengguna perlu log masuk semula agar aplikasi mendapatkan profile data. Gunakan kaedah ini untuk log keluar pengguna, atau untuk menyelesaikan masalah masuk dalam aplikasi.
- Laksanakan log keluar
Apabila pengguna berjaya log masuk, anda harus menyediakan mekanisme logout supaya mereka dapat membersihkan pro merekafile data dan skop yang dibenarkan sebelum ini. Mekanisme anda mungkin hyperlink, atau item menu. Untuk bekas iniample kita akan mencipta sebuah onClick kaedah untuk butang. - Dalam pengendali log keluar anda, hubungi jelasPeringkat Kebenaran. jelasPeringkat Kebenaran akan membuang data kebenaran pengguna (token akses, profile) dari kedai tempatan. jelasPerundanganBenar tiada parameter kecuali untuk APIListener untuk mengembalikan kejayaan atau
- Menyatakan tanpa nama APIListener.
Kelas tanpa nama adalah alternatif yang berguna untuk mengisytiharkan kelas baru untuk dilaksanakan APIListener. Lihat Tangani Butang Masuk dan Dapatkan Profile Data (ms 17) untuk sebuah examplesu menyatakan kelas pendengar. - Laksanakan onSukses di dalam APIListener
bila jelasPeringkat Kebenaran berjaya anda harus mengemas kini UI anda untuk membuang rujukan kepada pengguna, dan memberikan mekanisme log masuk yang boleh digunakan pengguna untuk log masuk semula. - Laksanakan onError di dalam APIListener.
If jelasPerundanganStatereturns ralat, anda boleh membiarkan pengguna mencuba log keluar lagi.@Selamat
void dilindungi onCreate(Bundle savedInstanceState) {
super.onCreate (disimpanInstanceState);
/ * Pengisytiharan onCreate sebelumnya dihilangkan * /
// Cari butang dengan log keluar ID dan sediakan pengendali klik
mLogoutButton = (Butang) cariViewOlehId (R.id.logout);
mLogoutButton.setOnClickListener (OnClickListener baru () {
@Selamat
kekosongan awam onClick (View v) {
mAuthManager.clearAuthorizationState (baru
APIListener () {
@Selamat
kekosongan awam onSuccess (hasil Bundle) {
// Tetapkan keadaan log keluar di UI
}
@Selamat
kekosongan awam onError (AuthError authError) {
// Log kesilapan
}
});
}
});
}
Beberapa AmazonAuthorizationManager kaedah mengembalikan objek Masa Depan. Ini membolehkan anda memanggil kaedah secara serentak dan bukannya meneruskan pendengar sebagai parameter. Sekiranya anda menggunakan objek Masa Depan, anda tidak boleh menggunakannya pada utas UI. Sekiranya anda menyekat utas UI selama lebih dari lima saat, anda akan mendapat arahan ANR (Aplikasi Tidak Menjawab). Di Butang Tangani Log Masuk dan Dapatkan Profile Cth dataample, yang onSukses kaedah untuk AuthorizeListener dipanggil dengan utas pekerja yang dibuat oleh AmazonAuthorizationManager. Ini bermaksud selamat menggunakan utas itu untuk memanggil getPirofile serentak. Untuk membuat panggilan segerak, tetapkan nilai pulangan dari dapatkanPirofile ke objek Masa Depan, dan panggil kaedah giet pada objek itu untuk menunggu sehingga kaedah selesai.
Fuiture.get mengembalikan objek Bundle yang mengandungi a FUTURE_TYPE nilai daripada KEJAYAAN, KESILAPAN, or BATALKAN. Sekiranya kaedah itu berjaya, kumpulan yang sama akan mengandungi PROFILENilai _KEY untuk profile data. Untuk bekasample:
/ * Kebenaran berjaya diselesaikan. * / @Selamat kekosongan awam onSuccess (Respons kumpulan) { Masa Depan <Bundle> masa depan = mAuthManager.getProfile(batal); Hasil kumpulan = future.get (); // Cari tahu adakah panggilan berjaya, dan dapatkan semula profile Objek masa depan_jenis = result.get (AuthzConstants.BUNDLE_KEY.FUTURE.val); jika (future_type == AuthzConstants.FUTURE_TYPE.SUCCESS) { Nama rentetan = hasil.getString (AuthzConstants.PROFILE_KEY.NAME.val); Rentetan e-mel = result.getString (AuthzConstants.PROFILE_KEY.EMAIL.val); String akaun = hasil.getString (AuthzConstants.PROFILE_KEY.USER_ID.val); String zipcode = result.getString (AuthzConstants.PROFILE_KEY.POSTAL_CODE.val); runOnUiThread (Runnable baru () {@Override larian kekosongan awam () {updateProfileData (nama, e-mel, akaun, kod pos); } }); } lain jika (future_type == AuthzConstants.FUTURE_TYPE.ERROR) { // Dapatkan objek ralat AuthError authError = AuthError.extractError (hasil); / * Gunakan authError untuk mendiagnosis ralat * / } |
Log masuk dengan Panduan Bermula Amazon untuk Android - Muat turun [dioptimumkan]
Log masuk dengan Panduan Bermula Amazon untuk Android - Muat turun