Android
Push Notifications
Отправка push-уведомлений с Parse и Cloud Code на Android
15 мин
отправка push уведомлений parse с использованием cloud code введение в этом разделе объясняется, как вы можете отправлять push уведомления с использованием cloud code через back4app вот как это будет выглядеть в любое время вы можете получить доступ к полному проекту android, созданному с помощью этого руководства, в нашем репозитории на github предварительные условия для завершения этого учебника нам нужно android studio приложение, созданное на back4app примечание следуйте учебнику по созданию нового parse app чтобы узнать, как создать parse app на back4app android приложение, подключенное к back4app примечание следуйте учебнику по установке parse sdk чтобы создать проект android studio, подключенный к back4app следуйте шагам 1 до 5 из учебника по push уведомлениям back4app через панель управления внимательно, чтобы настроить push уведомления для вашего приложения устройство (или виртуальное устройство ) с api уровнем 27 или новее 1 настройка android для получения push каждое приложение parse, установленное на устройстве, зарегистрированном для получения push уведомлений, имеет связанный объект установки объект установки объект объект установки объект установки — это место, где вы храните все данные, необходимые для нацеливания push уведомлений например, в вашем приложении вы можете хранить, какие команды интересуют одного из ваших пользователей, чтобы отправлять обновления о их производительности сохранение объект установки объект установки объекта также необходимо для отслеживания событий открытия приложения, связанных с push самый простой способ начать отправку уведомлений — использовать каналы это позволяет вам использовать модель издатель подписчик для отправки push уведомлений устройства начинают с подписки на один или несколько каналов, и уведомления могут быть позже отправлены этим подписчикам каналы, на которые подписан данный объект установки объект установки хранятся в поле каналы каналы объекта объект установки объект установки чтобы начать работать с push уведомлениями, необходимо выполнить следующие шаги если вы скачали наш шаблон проекта , не забудьте изменить свои учетные данные в файле app/src/main/res/values/string xml app/src/main/res/values/string xml и gcmsenderid gcmsenderid , который вы получили в firebase в файле androidmanifest xml androidmanifest xml импортируйте следующие зависимости 2\ инициализируйте parse с помощью parse initialize(this) parse initialize(this) 3\ создайте новый массив каналов и добавьте каналы, на которые вы хотите подписаться в этом примере создан канал новости новости 4\ добавьте в вашу установку ваш gcmsenderid gcmsenderid , полученный из консоль firebase , с помощью команды installation put("gcmsenderid", "your firebase gcm sender id here") installation put("gcmsenderid", "your firebase gcm sender id here") чтобы узнать, как получить этот ключ, посмотрите на шаг 1 из учебник по push уведомлениям через панель управления 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 посмотрите на учебник по cloud code для android создайте 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 перейдите в ваше приложение на сайте back4app и нажмите на панель управления панель управления найдите cloud code cloud code и нажмите на функции и веб хостинг функции и веб хостинг это выглядит так 3\ загрузите или создайте новый файл (вы также можете редактировать текущий main js main js файл прямо в браузере) затем нажмите на развернуть развернуть как показано здесь 4 вызов cloud code из android приложения импортируйте следующие зависимости 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 , использованный в приведенном выше примере, следующий 3\ проверьте, отправляются ли push уведомления, вызвав функцию выше, пока устройство открыто 5 вызов облачного кода из rest api rest api предоставляет быстрый и простой способ проверить, работает ли ваша облачная функция просто используйте код ниже в вашем терминале или командной строке нажмите, чтобы узнать больше о том, как начать работу с командной строкой в linux , macos или windows чтобы протестировать push уведомления, просто используйте rest код, пока устройство открыто готово! на этом этапе вы можете отправлять push уведомления, используя cloud code через back4app!