Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Buat aplikasi iOS
Ikuti prosedur ini untuk membuat aplikasi iOS menggunakan Amazon Location Service.
Kloning file proyek dari GitHub
Anda dapat menghasilkan sumber daya Amazon Location Service setelah AWS akun Anda siap. Sumber daya ini akan sangat penting untuk mengeksekusi cuplikan kode yang disediakan.
catatan
Jika Anda belum membuat AWS akun, silakan buat AWS akun
Untuk memulai, Anda perlu membuat Id Kolam Identitas Amazon Cognito, gunakan prosedur berikut:
-
Di AWS konsol, navigasikan ke layanan Amazon Cognito dan kemudian pilih Identity pool dari menu sebelah kiri dan pilih Create Identity pool.
-
Pastikan Akses Tamu dicentang, dan tekan Berikutnya untuk melanjutkan.
-
Selanjutnya buat peran IAM baru atau Gunakan peran IAM yang ada.
-
Masukkan nama kumpulan Identity, dan pastikan Identity Pool memiliki akses ke
(geo)sumber daya Lokasi Amazon untuk peta dan pelacak yang akan Anda buat di prosedur berikutnya.
Sekarang Anda perlu membuat dan menata peta di konsol Lokasi AWS Amazon, gunakan prosedur berikut:
-
Arahkan ke bagian Maps
di konsol Lokasi Amazon dan pilih Buat Peta untuk melihat pratinjau gaya peta yang tersedia. -
Berikan sumber daya peta baru Nama dan Deskripsi. Rekam nama yang Anda tetapkan ke sumber daya peta, seperti yang digunakan nanti dalam tutorial.
-
Saat memilih gaya peta, pertimbangkan penyedia data peta. Lihat bagian 82 dari ketentuan AWS layanan
untuk detail selengkapnya. -
Terima Syarat dan Ketentuan Lokasi Amazon
, lalu pilih Buat Peta. Setelah peta dibuat, Anda dapat berinteraksi dengan peta dengan memperbesar, memperkecil, atau menggeser ke segala arah.
Untuk membuat pelacak menggunakan konsol Lokasi Amazon
-
Di panel navigasi kiri, pilih Pelacak.
-
Pilih Buat pelacak.
-
Isi semua bidang yang diperlukan.
-
Di bawah Pemfilteran posisi, pilih opsi yang paling sesuai dengan cara Anda ingin menggunakan sumber daya pelacak Anda. Jika Anda tidak mengatur Pemfilteran posisi, pengaturan defaultnya adalah TimeBased. Untuk informasi selengkapnya, lihat Pelacak dalam panduan ini, dan PositionFiltering di Referensi API Amazon Location Service Trackers.
-
Pilih Buat pelacak untuk menyelesaikan.
Saat membuat koleksi geofence, Anda dapat menggunakan konsol, API, atau CLI. Prosedur berikut memandu Anda melalui setiap opsi.
Buat koleksi geofence menggunakan konsol Lokasi Amazon:
-
Buka konsol Amazon Location Service di https://console.aws.amazon.com/location/.
-
Di panel navigasi kiri, pilih Koleksi Geofence.
-
Pilih Buat koleksi geofence.
-
Berikan nama dan deskripsi untuk koleksi.
-
Di bawah EventBridge aturan dengan CloudWatch sebagai target, Anda dapat membuat EventBridge aturan opsional untuk mulai bereaksi terhadap peristiwa geofence. Hal ini memungkinkan Amazon Location untuk mempublikasikan peristiwa ke Amazon CloudWatch Logs.
-
Pilih Buat koleksi geofence.
Buat koleksi geofence menggunakan Lokasi Amazon: APIs
Gunakan CreateGeofenceCollection operasi dari Amazon Location Geofences APIs. Contoh berikut menggunakan permintaan API untuk membuat koleksi geofence yang disebut. GOECOLLECTION_NAME
POST /geofencing/v0/collections Content-type: application/json { "CollectionName": "GOECOLLECTION_NAME", "Description": "Geofence collection 1 for shopping center", "Tags": { "Tag1" : "Value1" } }
Buat koleksi geofence menggunakan AWS CLI perintah:
Gunakan perintah create-geofence-collection. Contoh berikut menggunakan AWS CLI untuk membuat koleksi geofence yang disebut. GOECOLLECTION_NAME
aws location \ create-geofence-collection \ --collection-name "GOECOLLECTION_NAME" \ --description "Shopping center geofence collection" \ --tags Tag1=Value1
Untuk menautkan pelacak ke koleksi geofence, Anda dapat menggunakan konsol, API, atau CLI. Prosedur berikut memandu Anda melalui setiap opsi.
Menautkan sumber daya pelacak ke koleksi geofence menggunakan konsol Amazon Location Service:
-
Buka konsol Lokasi Amazon.
-
Di panel navigasi kiri, pilih Pelacak.
-
Di bawah Pelacak Perangkat, pilih tautan nama pelacak target.
-
Di bawah Koleksi Geofence Tertaut, pilih Link Geofence Collection.
-
Di jendela Linked Geofence Collection, pilih koleksi geofence dari menu tarik-turun.
-
Pilih Tautkan.
-
Setelah Anda menautkan sumber daya pelacak, itu akan diberi status Aktif.
Menautkan sumber daya pelacak ke koleksi geofence menggunakan Lokasi Amazon: APIs
Gunakan AsssociateTrackerConsumer operasi dari Pelacak APIs Lokasi Amazon. Contoh berikut menggunakan permintaan API yang terkait ExampleTracker dengan koleksi geofence menggunakan Amazon Resource Name (ARN).
POST /tracking/v0/trackers/ExampleTracker/consumers Content-type: application/json { "ConsumerArn": "arn:aws:geo:us-west-2:123456789012:geofence-collection/GOECOLLECTION_NAME" }
Tautkan sumber daya pelacak ke koleksi geofence menggunakan perintah: AWS CLI
Gunakan perintah associate-tracker-consumer . Contoh berikut menggunakan AWS CLI untuk membuat koleksi geofence yang disebut. GOECOLLECTION_NAME
aws location \ associate-tracker-consumer \ --consumer-arn "arn:aws:geo:us-west-2:123456789012:geofence-collection/GOECOLLECTION_NAME" \ --tracker-name "ExampleTracker"
Buat fungsi Lambda:
Untuk membuat koneksi antara AWS IoT Core dan Amazon Location Service, Anda memerlukan AWS Lambda fungsi untuk memproses pesan yang diteruskan oleh EventBridge CloudWatch peristiwa. Fungsi ini akan mengekstrak data posisi apa pun, memformatnya untuk Amazon Location Service, dan mengirimkannya melalui Amazon Location Tracker API. Anda dapat membuat fungsi ini melalui AWS Lambda konsol, atau Anda dapat menggunakan AWS Command Line Interface (AWS CLI) atau AWS Lambda APIs. Untuk membuat fungsi Lambda yang menerbitkan pembaruan posisi ke Lokasi Amazon menggunakan konsol:
-
Buka AWS Lambda konsol di https://console.aws.amazon.com/lambda/.
-
Dari navigasi kiri, pilih Fungsi.
-
Pilih Create Function, dan pastikan bahwa Author dari awal dipilih.
-
Isi kotak-kotak berikut:
-
sebuah nama Fungsi
-
untuk opsi Runtime, pilih Node.js 16.x.
-
-
Pilih Buat fungsi.
-
Pilih tab Kode untuk membuka editor.
-
Timpa kode placeholder di index.js dengan yang berikut:
const AWS = require('aws-sdk') const iot = new AWS.Iot(); exports.handler = function(event) { console.log("event===>>>", JSON.stringify(event)); var param = { endpointType: "iot:Data-ATS" }; iot.describeEndpoint(param, function(err, data) { if (err) { console.log("error===>>>", err, err.stack); // an error occurred } else { var endp = data['endpointAddress']; const iotdata = new AWS.IotData({endpoint: endp}); const trackerEvent = event["detail"]["EventType"]; const src = event["source"]; const time = event["time"]; const gfId = event["detail"]["GeofenceId"]; const resources = event["resources"][0]; const splitResources = resources.split("."); const geofenceCollection = splitResources[splitResources.length - 1]; const coordinates = event["detail"]["Position"]; const deviceId = event["detail"]["DeviceId"]; console.log("deviceId===>>>", deviceId); const msg = { "trackerEventType" : trackerEvent, "source" : src, "eventTime" : time, "geofenceId" : gfId, "coordinates": coordinates, "geofenceCollection": geofenceCollection }; const params = { topic: `${deviceId}/tracker`, payload: JSON.stringify(msg), qos: 0 }; iotdata.publish(params, function(err, data) { if (err) { console.log("error===>>>", err, err.stack); // an error occurred } else { console.log("Ladmbda triggered===>>>", trackerEvent); // successful response } }); } }); } -
Pilih Deploy untuk menyimpan fungsi yang diperbarui.
-
Pilih tab Konfigurasi.
-
Di bagian Pemicu, klik Tambahkan pemicu.
-
Pilih EventBridge (CloudWatch Acara) di bidang Sumber.
-
Pilih opsi radio `Aturan yang Ada. '
-
Masukkan nama aturan seperti ini `AmazonLocationMonitor-GEOFENCECOLLECTION_NAME`.
-
Klik pada tombol Tambah.
-
Ini juga akan melampirkan `Pernyataan kebijakan berbasis sumber daya` di tab izin
Klien Uji MQTT
-
Buka https://console.aws.amazon.com/iot/
. -
Di panel navigasi kiri, pilih klien pengujian MQTT.
-
Anda akan melihat bagian berjudul MQTT test client di mana Anda dapat mengonfigurasi koneksi MQTT Anda.
-
Setelah mengkonfigurasi pengaturan yang diperlukan, klik tombol Connect untuk membuat koneksi ke broker MQTT menggunakan parameter yang disediakan.
-
Catat nilai Endpoint.
Setelah terhubung, Anda dapat berlangganan topik MQTT atau mempublikasikan pesan ke topik menggunakan bidang masukan masing-masing yang disediakan di antarmuka klien pengujian MQTT. Selanjutnya Anda akan melampirkan Kebijakan MQTT:
-
Di menu sebelah kiri, di bawah opsi Kelola perluas Keamanan dan klik Kebijakan.
-
Klik tombol Buat Kebijakan.
-
Masukkan nama kebijakan.
-
Pada Dokumen Kebijakan pilih tab JSON.
-
Salin tempel kebijakan yang ditunjukkan di bawah ini, tetapi pastikan untuk memperbarui semua elemen dengan Anda
danREGION:ACCOUNT_ID{ "Version": "2012-10-17", "Statement": [ { "Action": [ "iot:Connect", "iot:Publish", "iot:Subscribe", "iot:Receive" ], "Resource": [ "arn:aws:iot:REGION:ACCOUNT_ID:client/${cognito-identity.amazonaws.com:sub}", "arn:aws:iot:REGION:ACCOUNT_ID:topic/${cognito-identity.amazonaws.com:sub}", "arn:aws:iot:REGION:ACCOUNT_ID:topicfilter/${cognito-identity.amazonaws.com:sub}/", "arn:aws:iot:REGION:ACCOUNT_ID:topic/${cognito-identity.amazonaws.com:sub}/tracker" ], "Effect": "Allow" } ] } -
Pilih tombol Create untuk menyelesaikan.
Untuk mengatur kode sampel, Anda harus menginstal alat-alat berikut:
-
Git
-
XCode 15.3 atau Nanti
-
iOS Simulator 16 atau lebih baru
Gunakan prosedur ini untuk menyiapkan contoh kode aplikasi:
-
Buka file
AWSLocationSampleApp.xcodeprojproyek. -
Tunggu proses resolusi paket.
-
Opsional: Pada menu navigasi proyek ganti nama
ConfigTemplate.xcconfigmenjadiConfig.xcconfigdan isi nilai-nilai berikut:IDENTITY_POOL_ID = `YOUR_IDENTITY_POOL_ID` MAP_NAME = `YOUR_MAP_NAME` TRACKER_NAME = `YOUR_TRACKER_NAME` WEBSOCKET_URL = `YOUR_MQTT_TEST_CLIENT_ENDPOINT` GEOFENCE_ARN = `YOUR_GEOFENCE_COLLECTION_NAME`
Setelah menyiapkan kode sampel, Anda sekarang dapat menjalankan aplikasi di simulator iOS atau perangkat fisik.
-
Membangun dan menjalankan aplikasi.
-
Aplikasi akan meminta Anda untuk izin lokasi dan pemberitahuan. Anda harus mengizinkan mereka.
-
Ketuk tombol `Cognito Configuration`.
-
Jika Anda belum mengisi nilai dalam file `config.xcconfig` Anda perlu mengisi bidang dengan nilai sumber daya yang telah Anda buat sebelumnya di layar konfigurasi.
IDENTITY_POOL_ID = `YOUR_IDENTITY_POOL_ID` MAP_NAME = `YOUR_MAP_NAME` TRACKER_NAME = `YOUR_TRACKER_NAME` WEBSOCKET_URL = `YOUR_MQTT_TEST_CLIENT_ENDPOINT` GEOFENCE_ARN = `YOUR_GEOFENCE_COLLECTION_NAME` -
Simpan konfigurasi
-
Anda sekarang dapat melihat opsi Filter untuk waktu, jarak, dan akurasi. Gunakan sesuai kebutuhan Anda.
-
Buka tab `Pelacakan` di aplikasi dan Anda akan melihat peta dan tombol `Mulai Pelacakan`.
-
Jika Anda telah menginstal aplikasi di simulator, Anda mungkin ingin mensimulasikan perubahan lokasi. Ini dapat dilakukan di Fitur -> Opsi menu Lokasi. Misalnya pilih Fitur -> Lokasi -> Freeway Drive.
-
Ketuk tombol `Mulai Pelacakan`. Anda akan melihat titik pelacakan di peta.
-
Aplikasi ini juga melacak lokasi di latar belakang. Jadi, ketika Anda memindahkan aplikasi di latar belakang, aplikasi akan meminta izin Anda untuk melanjutkan pelacakan dalam mode latar belakang.
-
Anda dapat menghentikan pelacakan dengan mengetuk tombol `Stop Tracking`.