Android
Push Notifications
Отправка push-уведомлений с Parse и Cloud Code на Android
15 мин
отправка push уведомлений parse с использованием cloud code введение в этом разделе объясняется, как вы можете отправлять push уведомления с использованием cloud code через back4app вот как это будет выглядеть в любое время вы можете получить доступ к полному проекту android, созданному с помощью этого руководства, в нашем https //github com/back4app/android cloud code push предварительные условия для завершения этого учебника нам нужно https //developer android com/studio/index html приложение, созданное на back4app примечание следуйте https //www back4app com/docs/get started/new parse app чтобы узнать, как создать parse app на back4app android приложение, подключенное к back4app примечание следуйте https //www back4app com/docs/android/parse android sdk чтобы создать проект android studio, подключенный к back4app следуйте шагам 1 до 5 из https //www back4app com/docs/android/push notifications/parse server push notifications внимательно, чтобы настроить push уведомления для вашего приложения устройство (или https //developer android com/studio/run/managing avds html ) с api уровнем 27 или новее 1 настройка android для получения push каждое приложение parse, установленное на устройстве, зарегистрированном для получения push уведомлений, имеет связанный объект установки объект установки объект объект установки объект установки — это место, где вы храните все данные, необходимые для нацеливания push уведомлений например, в вашем приложении вы можете хранить, какие команды интересуют одного из ваших пользователей, чтобы отправлять обновления о их производительности сохранение объект установки объект установки объекта также необходимо для отслеживания событий открытия приложения, связанных с push самый простой способ начать отправку уведомлений — использовать каналы это позволяет вам использовать модель издатель подписчик для отправки push уведомлений устройства начинают с подписки на один или несколько каналов, и уведомления могут быть позже отправлены этим подписчикам каналы, на которые подписан данный объект установки объект установки хранятся в поле каналы каналы объекта объект установки объект установки чтобы начать работать с push уведомлениями, необходимо выполнить следующие шаги если вы скачали наш https //github com/back4app/android cloud code push , не забудьте изменить свои учетные данные в файле app/src/main/res/values/string xml app/src/main/res/values/string xml и gcmsenderid gcmsenderid , который вы получили в firebase в файле androidmanifest xml androidmanifest xml импортируйте следующие зависимости 1 // зависимости java 2 import java util arraylist ; 3 // зависимости parse 4 import com parse parse ; 5 import com parse parseinstallation ; 2\ инициализируйте parse с помощью parse initialize(this) parse initialize(this) 3\ создайте новый массив каналов и добавьте каналы, на которые вы хотите подписаться в этом примере создан канал новости новости 4\ добавьте в вашу установку ваш gcmsenderid gcmsenderid , полученный из https //console firebase google com/?pli=1 , с помощью команды installation put("gcmsenderid", "your firebase gcm sender id here") installation put("gcmsenderid", "your firebase gcm sender id here") чтобы узнать, как получить этот ключ, посмотрите на шаг 1 из https //www back4app com/docs/android/push notifications/parse server push notifications 5\ добавьте объект channels channels в installation installation с помощью команды installation put("channels", channels) installation put("channels", channels) 6\ сохраните установку в вашей базе данных с помощью installation saveinbackground() installation saveinbackground() следующий код выполняет эти шаги 1 parse initialize(this); 2 arraylist\<string> channels = new arraylist<>(); 3 channels add("news"); 4 parseinstallation installation = parseinstallation getcurrentinstallation(); 5 // don't forget to change the line below with the sender id you obtained at firebase 6 installation put("gcmsenderid", "your firebase gcm sender id here"); 7 installation put("channels", channels); 8 installation saveinbackground(); 2 создайте свой cloud code чтобы узнать больше о том, как начать работу с cloud code посмотрите на https //www back4app com/docs/get started/cloud functions создайте js js файл, чтобы поместить в него ваш cloud code в этом примере создается main js main js файл определите cloud функцию, используя parse cloud define parse cloud define , чтобы вызвать push уведомление в этом примере эта функция называется parse push send parse push send необходимо использовать master key в этой операции следующий код выполняет эти шаги parse server 3 x //main js 1 parse cloud define("pushsample", (request) => { 2 3 return parse push send({ 5 channels \["news"], 6 data { 7 title "hello from the cloud code", 8 alert "back4app rocks!", 9 } 10 }, { usemasterkey true }); 11 }); 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 }); 3 загрузить в cloud code перейдите в ваше приложение на https //www back4app com/ и нажмите на панель управления панель управления найдите cloud code cloud code и нажмите на функции и веб хостинг функции и веб хостинг это выглядит так 3\ загрузите или создайте новый файл (вы также можете редактировать текущий main js main js файл прямо в браузере) затем нажмите на развернуть развернуть как показано здесь 4 вызов cloud code из android приложения импортируйте следующие зависимости 1 // зависимости java 2 import java util hashmap ; // это включает объект hasmap, который 4 облачная функция должна вызвать 3 // зависимости parse 4 import com parse functioncallback ; 5 import com parse parsecloud ; 6 import com parse parseexception ; 2\ вызовите parsecloud callfunctioninbackground parsecloud callfunctioninbackground на облачной функции pushsample pushsample 1 final hashmap\<string, string> params = new hashmap<>(); 2 // calling the cloud code function 3 parsecloud callfunctioninbackground("pushsample", params, new functioncallback\<object>() { 4 @override 5 public void done(object response, parseexception exc) { 6 if(exc == null) { 7 // the function was executed, but it's interesting to check its response 8 alertdisplayer("successful push","check on your phone the notifications to confirm!"); 9 } 10 else { 11 // something went wrong 12 toast maketext(mainactivity this, exc getmessage(), toast length long) show(); 13 } 14 } 15 }); метод alertdisplayer alertdisplayer , использованный в приведенном выше примере, следующий 1 private void alertdisplayer(string title ,string message ){ 2 alertdialog builder builder = newalertdialog builder (mainactivity this ) 3 settitle ( title ) 4 setmessage ( message ) 5 setpositivebutton ( "ok" , new dialoginterface onclicklistener () { 6 @override 7 public void onclick(dialoginterface dialog , int which ) { 8 dialog cancel (); 9 } 10 }); 11 alertdialog ok = builder create (); 12 ok show (); 13 } 3\ проверьте, отправляются ли push уведомления, вызвав функцию выше, пока устройство открыто 5 вызов облачного кода из rest api rest api предоставляет быстрый и простой способ проверить, работает ли ваша облачная функция просто используйте код ниже в вашем терминале или командной строке нажмите, чтобы узнать больше о том, как начать работу с командной строкой в https //www digitalocean com/community/tutorials/an introduction to the linux terminal , https //blog teamtreehouse com/introduction to the mac os x command line или 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 '{ // вставьте параметры функции здесь в формате json }' \\ https //parseapi back4app com/functions/pushsample чтобы протестировать push уведомления, просто используйте rest код, пока устройство открыто готово! на этом этапе вы можете отправлять push уведомления, используя cloud code через back4app!