iOS
Send Push Notifications
Mengirim Notifikasi Push di iOS dengan Cloud Code
25 mnt
mengirim notifikasi push menggunakan kode cloud dengan objective c pendahuluan bagian ini menjelaskan bagaimana anda dapat mengirim notifikasi push menggunakan kode cloud melalui back4app inilah tampilan yang akan terlihat kapan saja, anda dapat mengakses proyek lengkap yang dibangun dengan tutorial ini di https //github com/templates back4app/ios install sdk untuk menyelesaikan quickstart ini, anda perlu https //developer apple com/xcode/ sebuah aplikasi yang dibuat di back4app ikuti https //www back4app com/docs/get started/new parse app untuk belajar cara membuat aplikasi parse di back4app sebuah aplikasi ios yang terhubung ke back4app catatan ikuti https //www back4app com/docs/ios/parse swift sdk untuk membuat proyek xcode yang terhubung ke back4app sebuah aplikasi ios yang disiapkan melalui https //www back4app com/docs/ios/push notifications/best ios push notification service sebuah perangkat ios, iphone atau ipad, yang menjalankan ios 10 atau lebih baru akun pengembang apple berbayar 1 siapkan aplikasi ios anda untuk menerima push setiap aplikasi parse yang diinstal pada perangkat yang terdaftar untuk notifikasi push memiliki instalasi instalasi objek yang terkait objek instalasi instalasi adalah tempat anda menyimpan semua data yang diperlukan untuk menargetkan notifikasi push misalnya, dalam aplikasi anda, anda dapat menyimpan tim mana yang diminati salah satu pengguna anda untuk mengirim pembaruan tentang kinerja mereka menyimpan objek instalasi instalasi juga diperlukan untuk melacak peristiwa pembukaan aplikasi terkait push cara termudah untuk mulai mengirim notifikasi adalah dengan menggunakan saluran ini memungkinkan anda menggunakan model penerbit pelanggan untuk mengirim push perangkat mulai dengan berlangganan satu atau lebih saluran, dan notifikasi kemudian dapat dikirim ke pelanggan ini saluran yang disubscribe oleh instalasi instalasi tertentu disimpan di dalam saluran saluran bidang dari objek instalasi instalasi setelah itu, kita akan membahas pengiriman notifikasi dorong yang ditargetkan kepada satu pengguna atau sekelompok pengguna berdasarkan kueri ke depan, kami akan mengasumsikan anda telah menyelesaikan semua langkah dari https //www back4app com/docs/ios/push notifications/best ios push notification service , bahkan jika anda menggunakan proyek ios yang dibangun dengan tutorial ini yang tersedia di https //github com/mpc20001/ios objc push cloud code anda seharusnya sudah memiliki notifikasi dorong dasar yang berfungsi dan juga dapat mengirim dorongan melalui konsol admin 2 langganan perangkat anda ke saluran berita pertama, kita akan menambahkan saluran ke objek instalasi anda kita akan melakukan ini dengan mengubah metode createinstallationonparse di file app delegate kita buka file appdelegate m proyek anda, dan pastikan versi didregisterforremotenotificationswithdevicetoken anda sama dengan kode di bawah ini kita menambahkan satu baris kode baru â\[currentinstallation setobject @\[@ânews1â] forkey @âchannelsâ];â yang akan mengatur array saluran objek instalasi untuk berisi satu saluran yang disebut âberitaâ ini akan memungkinkan kita untuk mengirim pesan kepada semua orang yang berlangganan saluran yang disebut âberitaâ melalui kode cloud appdelegate m \ (void)application (uiapplication )application didregisterforremotenotificationswithdevicetoken (nsdata )devicetoken { // simpan devicetoken di instalasi saat ini dan simpan ke parse pfinstallation currentinstallation = \[pfinstallation currentinstallation]; \[currentinstallation setdevicetokenfromdata\ devicetoken]; \[currentinstallation setobject @\[@"news1"] forkey @"channels"]; \[currentinstallation saveinbackgroundwithblock ^(bool succeeded, nserror error) { if (!error) { nslog(@"instalasi disimpan!!!"); }else{ nslog(@"penyimpanan instalasi gagal %@",error debugdescription); } }]; } 2\ uji dengan menjalankan aplikasi anda di perangkat fisik anda tidak dapat menjalankannya di simulator anda memerlukan token push yang sebenarnya untuk memperbarui catatan instalasi anda sehingga perangkat fisik adalah suatu keharusan setelah berhasil dijalankan, anda harus melihat ini di bagian instalasi dasbor anda anda dapat memeriksa dengan pergi ke https //www back4app com/ dan klik pada dasbor aplikasi anda dan kemudian periksa tabel instalasi di bawah kolom saluran, anda harus melihat âberitaâ, menunjukkan bahwa anda sekarang terdaftar di saluran push berita 3 buat cloud code anda untuk mengetahui lebih lanjut tentang cara memulai dengan cloud code lihat di https //www back4app com/docs buat sebuah js js file untuk menempatkan cloud code anda anda perlu menyebutnya main js main js agar back4app tahu di mana anda menyimpan kode cloud anda tentukan sebuah fungsi cloud, menggunakan parse cloud define parse cloud define , untuk memanggil notifikasi push di dalam fungsi kita akan memanggil parse push send parse push send untuk mengirim push ke saluran ânewsâ diperlukan untuk menggunakan master key dalam operasi ini kode berikut menjalankan langkah langkah ini parse server 3 x // main js 1 parse cloud define("pushsample", (request) => { 2 3 return parse push send({ 4 channels \["news"], 5 data { 6 title "hello from the cloud code", 7 alert "back4app rocks!", 8 } 9 }, { usemasterkey true }); 10 }); parse server 2 x //main js 1 parse cloud define("pushsample", function (request, response) { 2 parse push send({ 3 channels \["news"], 4 data { 5 title "hello from the cloud code", 6 alert "back4app rocks!", 7 } 8 }, { 9 success function () { 10 // push was successful 11 response success("push sent"); 12 console log("success push sent"); 13 }, 14 error function (error) { 15 // push was unsucessful 16 response error("error with push " + error); 17 console log("error " + error); 18 }, 19 usemasterkey true 20 }); 21 }) 4 unggah ke cloud code pergi ke aplikasi anda di https //www back4app com/ dan klik pada dasbor dasbor temukan cloud code cloud code dan klik pada fungsi & hosting web fungsi & hosting web ini terlihat seperti ini 3\ unggah atau buat file baru (anda juga dapat mengedit main js main js file saat ini langsung di browser) kemudian, klik pada terapkan terapkan seperti yang ditunjukkan di sini 5 panggil cloud code dari aplikasi ios anda selanjutnya, kita akan menulis beberapa kode untuk memanggil fungsi cloud ini dari aplikasi anda anda akan memerlukan simulator dan perangkat fisik untuk menyelesaikan tugas ini anda akan memanggil fungsi cloud dari aplikasi anda yang berjalan di simulator dan anda akan melihat push muncul di perangkat fisik anda perangkat fisik anda seharusnya dalam keadaan terkunci dengan layar kunci aktif untuk melihat push push tidak akan muncul di layar jika anda berada di dalam aplikasi yang mengirimnya saat anda menerima push buka file viewcontroller m proyek anda kita perlu menyertakan parse di pengontrol tampilan dengan menambahkan kode berikut â#import \<parse/parse h>â di bagian atas file viewcontroller \#import "viewcontroller h" \#import \<parse/parse h> 3\ selanjutnya di file viewcontroller m kita akan memanggil fungsi alert dari metode viewdidappear alert akan memungkinkan anda untuk memicu kode cloud yang akan mengirim push ke perangkat anda pastikan untuk menyertakan blok kode berikut setelah fungsi viewdidload viewcontroller m https //github com/mpc20001/ios objc push cloud code/blob/master/addingparsesdkobjc/appdelegate m#l29 l62 \ (void)viewdidappear (bool)animated { \[self asktosendpushnotifications]; } \ (void)asktosendpushnotifications { uialertcontroller alert = \[uialertcontroller alertcontrollerwithtitle @"kirim push ke saluran berita" message\ nil preferredstyle\ uialertcontrollerstylealert]; uipopoverpresentationcontroller poppresenter = \[alert popoverpresentationcontroller]; poppresenter sourceview = self view; uialertaction okbutton = \[uialertaction actionwithtitle @"ok" style\ uialertactionstyledefault handler ^(uialertaction action) { \[self sendpushnotifications]; }]; \[alert addaction\ okbutton]; uialertaction cancelbutton = \[uialertaction actionwithtitle @"batal" style\ uialertactionstylecancel handler ^(uialertaction action) { }]; \[alert addaction\ cancelbutton]; poppresenter sourcerect = self view\ frame; alert modalpresentationstyle = uimodalpresentationpopover; \[self presentviewcontroller\ alert animated\ yes completion\ nil]; } \ (void)sendpushnotifications { \[pfcloud callfunctioninbackground @"pushsample" withparameters @{} block ^(id object, nserror error) { if (!error) { nslog(@"push kirim"); }else{ nslog(@"error ketika mengirim push %@",error localizeddescription); } }]; } 4\ jalankan aplikasi anda di simulator dan ketika alert meminta untuk mengirim push muncul, tekan âokâ di perangkat fisik anda, anda harus melihat push muncul di layar kunci 6 panggil cloud code dari rest api rest api menyediakan cara cepat dan mudah untuk menguji apakah fungsi cloud anda berfungsi cukup gunakan kode di bawah ini di terminal atau command prompt anda klik untuk mengetahui lebih lanjut tentang cara memulai dengan command line di https //www digitalocean com/community/tutorials/an introduction to the linux terminal , https //blog teamtreehouse com/introduction to the mac os x command line atau https //www bleepingcomputer com/tutorials/windows command prompt introduction/ curl x post h "x parse application id your app id here" \\ h "x parse rest api key your rest api key here" \\ h "content type application/json" \\ d â{ // masukkan parameter fungsi di sini dalam format json }â \\ https //parseapi back4app com/functions/pushsample untuk menguji notifikasi push, cukup gunakan kode rest saat perangkat dalam keadaan tertutup 7 kirim notifikasi push terarah menggunakan objek pengguna ke depan, kami akan menggunakan proyek ios yang berbeda yang sudah memiliki fitur pendaftaran dan masuk dasar kami akan menggunakan proyek ios ini yang dapat kami tunjukkan kepada anda bagaimana mendeteksi apakah seorang pengguna sudah masuk, dan jika ya, menyimpan instalasi mereka dengan tautan ke id objek mereka untuk kueri di kode cloud anda dapat mengunduh proyek ios lengkap yang dibangun dengan tutorial bagian ini di https //github com/mpc20001/ios objc targeted push cloud code , tetapi anda masih harus melakukan semua pengaturan dari tutorial sebelumnya yang menjelaskan cara mengirim push dari dasbor back4app dapatkan versi baru dari aplikasi, dan daftar atau masuk ke aplikasi pertama, pastikan anda mengunduh template yang berfungsi dari github di https //github com/mpc20001/ios objc targeted push cloud code kami tidak akan menjelaskan semua langkah untuk membangun aplikasi ini, sebaliknya kami akan fokus pada pengaturan kode cloud dan mengapa itu berfungsi setelah anda membuka aplikasi baru ini, pastikan untuk memasukkan kredensial aplikasi anda sendiri di file appdelegate m appdelegate m \ (bool)application (uiapplication )application didfinishlaunchingwithoptions (nsdictionary )launchoptions { // titik override untuk kustomisasi setelah peluncuran aplikasi \[parse initializewithconfiguration \[parseclientconfiguration configurationwithblock ^(id\<parsemutableclientconfiguration> configuration) { configuration applicationid = @"paste your application id here"; configuration clientkey = @"paste your client id here"; configuration server = @"https //parseapi back4app com/"; }]]; return yes; } 2\ aplikasi ini memiliki beberapa perbedaan besar dibandingkan aplikasi sebelumnya ini memiliki 2 bagian, satu untuk masuk ke aplikasi anda dan satu bagian ketika anda tidak masuk ke aplikasi anda perubahan besar berikutnya adalah fungsi âdidregisterforremotenotificationswithdevicetokenâ di file appdelegate m kami telah menambahkan 1 baris yang menyimpan id objek pengguna sebagai bagian dari objek instalasi dengan cara itu, kami dapat mengetahui pengguna mana yang terkait dengan objek instalasi mana dan dapat menargetkan mereka secara individu untuk push appdelegate m \ (void)application (uiapplication )application didregisterforremotenotificationswithdevicetoken (nsdata )devicetoken { // simpan devicetoken di instalasi saat ini dan simpan ke parse pfinstallation currentinstallation = \[pfinstallation currentinstallation]; \[currentinstallation setdevicetokenfromdata\ devicetoken]; \[currentinstallation setobject @\[@"news"] forkey @"channels"]; \[currentinstallation setobject\ pfuser currentuser objectid forkey @"userid"]; \[currentinstallation saveinbackgroundwithblock ^(bool succeeded, nserror error) { if (!error) { nslog(@"instalasi disimpan!!!"); }else{ nslog(@"penyimpanan instalasi gagal %@",error debugdescription); } }]; } 3\ karena kami sekarang menyimpan id objek pengguna sebagai bagian dari objek instalasi, kami tidak ingin meminta token push baru sampai pengguna masuk kami tidak ingin meminta token langsung dari fungsi âapplication didfinishlaunchingwithoptionsâ di file appdelegate m, sebaliknya kami ingin memanggilnya dari fungsi âviewdidappearâ di loggedinviewcontroller di âviewdidappearâ kami memanggil fungsi di appdelegate untuk meminta akses ke token notifikasi push dari apple karena anda hanya dapat melihat bagian ini setelah anda masuk, kami dapat mengasumsikan pengguna sudah masuk ketika kami membuat objek instalasi dan mengambil id objek loggedinviewcontroller \ (void)viewdidappear (bool)animated { appdelegate delegate = (appdelegate )\[\[uiapplication sharedapplication] delegate]; \[delegate registerforremotenotifications]; } appdelegate m \[currentinstallation setobject\ pfuser currentuser objectid forkey @"userid"]; 4\ oke, sekarang untuk mendaftar atau masuk di perangkat fisik anda (iphone atau ipad) mulai aplikasi anda harus melihat gambar di bawah anda harus mendaftar untuk membuat pengguna baru atau masuk jika anda sudah membuat pengguna di aplikasi anda inilah tampilan yang akan terlihat anda sekarang seharusnya dapat melihat loggedinviewcontroller itu seharusnya terlihat seperti ini jika anda mencoba mengirim push kepada diri sendiri, itu tidak akan berhasil karena kami belum menambahkan metode tersebut ke kode cloud jadi itulah yang akan kami lakukan selanjutnya 8 tambahkan metode push yang ditargetkan ke kode cloud buka file main js yang anda buat sebelumnya dan tambahkan fungsi berikut untuk menargetkan instalasi berdasarkan id pengguna diperlukan untuk menggunakan master key dalam operasi ini kode berikut menjalankan langkah langkah ini parse server 3 x // main js 1 parse cloud define('sendpushtoyourself', (request) => { 2 let userid = request user id; 3 4 let query = new parse query(parse installation); 5 query equalto("userid", userid); 6 query descending("updatedat"); 7 return parse push send({ 8 where query, 9 data { 10 title "hello from the cloud code", 11 alert "back4app rocks! single message!", 12 } 13 }, { usemasterkey true }); 14 }); 15 16 parse cloud define('sendpushtoallusers', (request) => { 17 let currentuser = request user; 18 let userids = \[currentuser id]; 19 20 let query = new parse query(parse installation); 21 query containedin('userid', userids); 22 return parse push send({ 23 where query, 24 data { 25 title "hello from the cloud code", 26 alert "back4app rocks! group message!", 27 } 28 }, { usemasterkey true }); 29 }); parse server 2 x //main js 1 parse cloud define('sendpushtoyourself', function (request, response) { 2 var currentuser = request user; 3 var userid = currentuser id; 4 5 var query = new parse query("installation"); 6 query equalto("userid", userid); 7 query descending("updatedat"); 8 parse push send({ 9 where query, 10 data { 11 title "hello from the cloud code", 12 alert "back4app rocks! single message!", 13 } 14 }, { 15 usemasterkey true, 16 success function () { 17 response success("success sending a single push!"); 18 }, 19 error function (error) { 20 response error(error code + " " + error description); 21 } 22 }); 23 }); 24 25 parse cloud define('sendpushtoallusers', function (request, response) { 26 var currentuser = request user; 27 var userids = \[currentuser id]; 28 29 var query = new parse query(parse installation); 30 query containedin('userid', userids); 31 parse push send({ 32 where query, 33 data { 34 title "hello from the cloud code", 35 alert "back4app rocks! group message!", 36 } 37 }, { 38 usemasterkey true, 39 success function () { 40 response success('success sending a group push!'); 41 }, 42 error function (message) { 43 response error(error code + " " + error description); 44 } 45 }); 46 }); 9 unggah ke cloud code pergi ke aplikasi anda di https //www back4app com/ dan klik pada dasbor dasbor temukan cloud code cloud code dan klik pada fungsi & hosting web fungsi & hosting web ini terlihat seperti ini 3\ unggah atau buat file baru (anda juga dapat mengedit main js main js file saat ini langsung di browser) kemudian, klik di deploy deploy seperti yang ditunjukkan di sini 10 uji bahwa anda dapat mengirim notifikasi dorong yang ditargetkan kepada diri sendiri buka aplikasi anda dari simulator sambil membiarkan perangkat fisik anda tertutup dengan layar kunci aktif anda dapat menguji bahwa kedua fungsi dorong berfungsi dengan menekan tombol âkirim dorong kepada diri sendiriâ dan tombol âkirim dorong kepada sekelompok orangâ anda harus melihat dorongan muncul di layar kunci perangkat anda pemikiran akhir ini mengakhiri tutorial anda seharusnya memiliki pemahaman yang kuat tentang cara mengirim dorongan berdasarkan saluran pengguna atau id objek pengguna atau kueri lain yang melibatkan mendapatkan id objek pengguna ingat, untuk menyimpan id objek pengguna, anda harus menambahkannya ke instalasi dorong dan hanya meminta token dorong ketika pengguna masuk saat mengirim dorongan melalui kueri, perlu diingat bahwa secara default dibatasi hingga 100 hasil dan beberapa pengguna mungkin memiliki lebih dari satu objek instalasi juga, tidak disarankan untuk mengirim dorongan ke array objek instalasi yang lebih besar dari 100 hasil ini bisa mengakibatkan beberapa dorongan tidak terkirim jika anda berurusan dengan kelompok besar orang, lebih baik menggunakan saluran atau mengirim dorongan dalam permintaan berulang selesai! pada tahap ini, anda dapat mengirim notifikasi dorong menggunakan cloud code melalui back4app! selamat!