1 00:00:02,280 --> 00:00:10,380 Jadi untuk mendapatkan pemberitahuan lokal tentang Aiwass, kita perlu meminta izin kepada pengguna dan untuk ini kita dapat menggunakan 2 00:00:10,380 --> 00:00:14,610 paket lain yang kita semua instal dengan instal XPO. 3 00:00:14,940 --> 00:00:17,690 Dan itulah paket izin Expo. 4 00:00:17,960 --> 00:00:23,430 Paket izin Expo, seperti namanya, membantu kami mengelola izin. 5 00:00:23,550 --> 00:00:26,790 Ini membantu kami meminta izin dan bekerja dengan izin. 6 00:00:27,660 --> 00:00:35,460 Jadi, sekali ini dipasang di aplikasi G. S. atau di file lain di mana Anda ingin mendapatkan izin itu. 7 00:00:35,490 --> 00:00:37,740 Tetapi di sini kita hanya memiliki satu komponen. 8 00:00:38,400 --> 00:00:43,920 Kami hanya mengimpor segala sesuatu sebagai izin dari izin expl. 9 00:00:44,040 --> 00:00:44,760 Seperti itu. 10 00:00:45,600 --> 00:00:52,350 Dan dengan ini diimpor, kami perlu meminta izin kepada pengguna untuk menampilkan pemberitahuan sebelum kami mencoba melakukan 11 00:00:52,350 --> 00:00:52,920 itu. 12 00:00:53,430 --> 00:00:55,890 Sekarang, itu tergantung pada aplikasi Anda. 13 00:00:56,010 --> 00:01:00,540 Saat Anda ingin bertanya kepada pengguna, mungkin Anda ingin bertanya kapan aplikasi dimulai. 14 00:01:00,760 --> 00:01:03,210 Mungkin titik waktu yang lebih baik lebih baik. 15 00:01:03,480 --> 00:01:08,760 Setelah semua, Anda ingin meminta izin ketika sangat mungkin bahwa pengguna memberi Anda izin. 16 00:01:08,880 --> 00:01:11,970 Saat ini, Yeater akan melakukannya dengan benar ketika aplikasi dijalankan. 17 00:01:12,150 --> 00:01:14,300 Jadi saya benar-benar akan mengimpor D. 18 00:01:14,980 --> 00:01:17,730 Anda sebagai fakta mengambil di sini dari reaksi. 19 00:01:19,580 --> 00:01:28,040 Sehingga kita bisa menjalankan logika ketika komponen ini dipasang hanya dengan melewatkan array dependensi kosong di sini dan di 20 00:01:28,510 --> 00:01:29,360 sana. 21 00:01:29,450 --> 00:01:35,990 Saya sekarang ingin menggunakan objek izin ini, yang kami impor tahun ini untuk, pertama-tama, periksa 22 00:01:35,990 --> 00:01:41,300 status izin dan setelahnya jika kami tidak memiliki izin untuk memintanya. 23 00:01:41,990 --> 00:01:47,840 Jadi karena itu, di sini kita dapat memanggil get async untuk, pertama-tama, memeriksa status izin saat ini. 24 00:01:48,380 --> 00:01:50,840 Kita sekarang perlu menentukan izin mana. 25 00:01:50,840 --> 00:01:52,430 Kami ingin mendapatkan informasi itu. 26 00:01:52,850 --> 00:01:59,330 Dan karena itu kami dapat mengakses izin, memulai pemberitahuan, cambuk, semua pembatasan, untuk 27 00:01:59,330 --> 00:02:05,030 memeriksa bagaimana status izin saat ini untuk izin pemberitahuan di Android. 28 00:02:05,060 --> 00:02:06,560 Ini tidak akan melakukan apa pun pada Aiwass. 29 00:02:06,560 --> 00:02:10,310 Ini akan mencari tahu apakah kami sudah diizinkan mengirim izin. 30 00:02:11,280 --> 00:02:14,400 Sekarang, ini adalah tugas async dan karena itu memberi kita janji. 31 00:02:14,730 --> 00:02:18,030 Karenanya kita dapat menggunakan maka di sini untuk melanjutkan. 32 00:02:18,840 --> 00:02:23,150 Sekarang di sini, kita akan mendapatkan status izin itu. 33 00:02:23,160 --> 00:02:28,410 Jadi kami akan mendapatkan informasi apakah kami memiliki izin untuk mengirim pemberitahuan atau tidak. 34 00:02:30,410 --> 00:02:32,600 Sekarang kita dapat memeriksa status yang kita dapatkan. 35 00:02:33,500 --> 00:02:40,430 Ada beberapa nilai yang mungkin di sini, tetapi pada akhirnya kami tertarik pada status yang diberikan 36 00:02:40,430 --> 00:02:42,740 jika kami mendapat status ayah. 37 00:02:43,130 --> 00:02:44,960 Kami tidak perlu melanjutkan. 38 00:02:45,920 --> 00:02:52,910 Tetapi jika kita belum harus memberikan status itu, kita ingin meminta izin karena kita belum pernah diberikan 39 00:02:52,910 --> 00:02:54,530 izin itu sebelumnya. 40 00:02:55,100 --> 00:02:58,010 Jadi sekarang kita bisa menggunakan objek izin lagi. 41 00:02:58,400 --> 00:03:04,040 Tapi kali ini kami memanggil ask async sebelum kami memeriksa statusnya. 42 00:03:04,190 --> 00:03:09,890 Sekarang kami meminta izin baru, karena sekarang kami tahu bahwa kami belum memiliki izin yang kami 43 00:03:09,890 --> 00:03:10,250 butuhkan. 44 00:03:11,120 --> 00:03:14,830 Jadi sekarang di sini kita lagi mengakses izin, pikir notifikasi. 45 00:03:15,170 --> 00:03:17,840 Dan sekarang ini akan meminta izin itu. 46 00:03:18,590 --> 00:03:19,820 Ini akan mengembalikan janji. 47 00:03:19,910 --> 00:03:24,740 Jadi kita secara keseluruhan dapat mengembalikannya di sini untuk tetap dalam rantai janji ini, yang kita mulai di sini. 48 00:03:26,140 --> 00:03:30,460 Dan karena itu, sekarang di sini kita dapat kembali menggunakan maka Anda juga bisa menggunakan async menunggu. 49 00:03:30,610 --> 00:03:33,950 Tetapi dalam penggunaan fakta, Anda tidak harus membuat disfungsi async. 50 00:03:34,270 --> 00:03:38,890 Sebagai gantinya, Anda harus membungkus ini menjadi fungsi baru, yang segera Anda jalankan hanya sebagai 51 00:03:38,890 --> 00:03:39,430 catatan. 52 00:03:39,820 --> 00:03:41,080 Tapi di sini akan menggunakan yang lama. 53 00:03:41,170 --> 00:03:43,930 Kemudian tangkap dan akan mencapai fungsi di ini. 54 00:03:43,990 --> 00:03:47,680 Kemudian blokir setelah Aske Async selesai. 55 00:03:48,520 --> 00:03:50,580 Sekarang lagi di sini akan mendapatkan status. 56 00:03:50,800 --> 00:03:55,840 Karena tentu saja, hanya karena kita bertanya bukan berarti kita mendapat izin. 57 00:03:56,170 --> 00:04:00,370 Jadi pengguna mungkin masih menolak izin dan dalam hal ini tidak ada yang bisa kami lakukan. 58 00:04:00,910 --> 00:04:05,590 Jadi sekarang kami ingin memeriksa status ini dan mencari tahu apakah itu masih belum dikabulkan. 59 00:04:05,950 --> 00:04:10,120 Dan jika itu masalahnya, maka, seperti yang saya katakan, tidak ada yang bisa kita lakukan. 60 00:04:10,420 --> 00:04:11,890 Jadi di sini kita bisa kembali. 61 00:04:12,070 --> 00:04:13,750 Kami mungkin menampilkan pesan kepada pengguna. 62 00:04:13,770 --> 00:04:19,570 Kami mungkin menunjukkan peringatan bahwa kami sekarang tidak dapat mengirim pemberitahuan. 63 00:04:19,720 --> 00:04:21,910 Tetapi pada akhirnya, tidak ada yang bisa kita lakukan di sini. 64 00:04:22,420 --> 00:04:25,570 Namun, jika statusnya diberikan, maka kami baik-baik saja. 65 00:04:26,530 --> 00:04:33,040 Sekarang, bagaimanapun juga, kita pasti dapat menjadwalkan pemberitahuan, karena skenario terburuknya adalah kita tidak memiliki izin 66 00:04:33,040 --> 00:04:35,530 dan karenanya tidak ada yang terjadi. 67 00:04:36,010 --> 00:04:40,720 Tapi sekarang kami bertanya, skenario kasus terbaik adalah kami memang mendapatkan izin. 68 00:04:40,900 --> 00:04:43,360 Dan Dale untuk tahun ini akan berhasil. 69 00:04:45,100 --> 00:04:46,690 Tidak, sebenarnya saya harus masuk ke sini. 70 00:04:46,840 --> 00:04:48,940 Kode ini memiliki kesalahan. 71 00:04:49,390 --> 00:04:52,000 Kami tidak mendapatkan string status seperti ini di sini. 72 00:04:52,060 --> 00:04:59,170 Sebagai gantinya, kami mendapatkan objek status, yang kemudian memiliki properti status dan sama dengan case di sini. 73 00:05:00,730 --> 00:05:06,550 Kami hanya tidak mendapatkan kesalahan sebelumnya karena meskipun kode kami secara teknis tidak berfungsi, kami masih 74 00:05:06,640 --> 00:05:07,570 meminta izin. 75 00:05:07,930 --> 00:05:11,080 Tapi sekarang ini benar memeriksa apakah kita memiliki izin. 76 00:05:11,500 --> 00:05:16,930 Dan selain itu, kami juga harus menyesuaikannya di satu tempat lain di sini. 77 00:05:17,140 --> 00:05:23,290 Jika kami sudah memiliki izin, tentu saja kami akan diberikan sebagai tanggapan di sini, semoga, dan tidak 78 00:05:23,410 --> 00:05:24,850 akan bertanya lagi. 79 00:05:25,120 --> 00:05:31,690 Itu berarti bahwa di blok selanjutnya maka kita memiliki masalah, karena di sana kita sekarang berharap untuk mendapatkan negara 80 00:05:31,720 --> 00:05:32,950 kita sebagai objek. 81 00:05:33,100 --> 00:05:38,800 Tetapi karena kita tidak bertanya lagi karena kita tidak perlu tidak akan mendapatkan objek itu di sini. 82 00:05:39,100 --> 00:05:41,560 Jadi mengakses status akan gagal. 83 00:05:41,650 --> 00:05:45,280 Dan kami akan berpikir bahwa kami tidak mendapatkan izin meskipun kami memilikinya. 84 00:05:45,850 --> 00:05:51,850 Jadi di sini kita harus mengembalikan objek status dalam yang pertama, lalu blokir. 85 00:05:52,000 --> 00:05:57,430 Sehingga di blok selanjutnya maka itu adalah cara bertanggung jawab atas kasus-kasus di mana kita sudah memiliki izin. 86 00:05:57,970 --> 00:06:04,780 Ini adalah perubahan yang harus Anda terapkan untuk memastikan bahwa aplikasi Anda mendeteksi dengan benar pemberitahuan 87 00:06:04,780 --> 00:06:10,510 dan status izinnya dan tidak berpikir itu tidak memiliki izin ketika sebenarnya ada. 88 00:06:10,930 --> 00:06:12,190 Jadi mari sekarang keselamatan. 89 00:06:16,810 --> 00:06:20,890 Dan pastikan untuk me-restart itu di simulator iPhone Anda. 90 00:06:21,190 --> 00:06:26,050 Dan sekarang di awal, saya ditanya apakah saya ingin memberikan izin ini karena kode yang baru saja 91 00:06:26,080 --> 00:06:26,850 kami tambahkan. 92 00:06:27,520 --> 00:06:34,240 Dan jika sekarang kita klik memungkinkan di sini dan memicu pemberitahuan dan menutup aplikasi, mari kita lihat apakah itu 93 00:06:34,240 --> 00:06:36,460 sekarang berfungsi di sini di Aiwass. 94 00:06:36,850 --> 00:06:39,760 Mari kita tunggu 10 detik berlalu. 95 00:06:40,570 --> 00:06:45,190 Dan inilah pemberitahuan lokal pertama kami yang dikirim oleh aplikasi kami. 96 00:06:45,760 --> 00:06:48,920 Dan sekarang kita dapat yang bekerja pada ISIS dan Android. 97 00:06:49,420 --> 00:06:52,870 Dan seperti halnya di Android, jika kita mengklik pemberitahuan di sini. 98 00:06:54,340 --> 00:06:57,460 Kita dapat membuka aplikasi kita, jadi itu berfungsi. 99 00:06:57,760 --> 00:07:05,110 Sekarang, satu hal yang tidak berhasil atau di mana tidak ada yang terjadi adalah ketika aplikasi berada di latar depan. 100 00:07:05,620 --> 00:07:08,200 Sekarang, dalam beberapa kasus, itu adalah perilaku yang Anda inginkan. 101 00:07:08,440 --> 00:07:13,950 Dalam beberapa kasus, jika aplikasi terbuka, tidak menampilkan notifikasi mungkin baik-baik saja. 102 00:07:14,530 --> 00:07:20,920 Tetapi jika saya kembali ke contoh aplikasi pengingat, hanya karena itu di latar depan mungkin tidak berarti bahwa 103 00:07:20,920 --> 00:07:25,650 Anda tidak ingin memberi tahu pengguna bahwa ada beberapa tugas yang harus diselesaikan. 104 00:07:26,110 --> 00:07:32,620 Jadi karena itu, izinkan saya berikutnya menunjukkan kepada Anda bagaimana Anda dapat menangani notifikasi jika aplikasi berada di latar depan.