Push-уведомления Android — это сервис, используемый для отправки сообщений непосредственно на смартфоны Android. Используя этот сервис, разработчики могут отправлять данные в приложения Android, как только они станут доступны, таким образом, приложение Android не должно отправлять запросы на сервер, чтобы узнать, доступна ли новая информация.
Используя сервис Android Push , приложения могут сэкономить заряд аккумулятора смартфона и снизить сетевой трафик: улучшается и пользовательский интерфейс.
Есть несколько различных методов, которые можно использовать для реализации push-уведомлений Android , стандартным способом является использование GCM (Google Cloud Messaging), но есть несколько очень интересных альтернатив, таких как Parse.com , которые проще в использовании.
Parse.Com настроить проект
Первым делом создайте учетную запись Parse и настройте новое приложение. Это очень легко. Как только вы все сделали, пришло время создать новый проект в Android Studio и изменить build.grade
его, добавив в него библиотеку разбора:
dependencies {
...
compile 'com.parse.bolts:bolts-android:1.2.1'
compile 'com.parse:parse-android:1.10.1'
}
Теперь вы можете следовать руководству, предоставленному Parse.com . В нашем случае мы создали приложение ParseTutorialApplication
, расширяющее приложение, и оно используется для настройки соединения Parse:
public class ParseTutorialApplication extends Application {
@Override
public void onCreate() {
super.onCreate();
System.out.println("Application");
Parse.initialize(this, "your key", "your key");
ParseInstallation.getCurrentInstallation().saveInBackground();
}
}
Теперь вы используете приемник по умолчанию, предоставляемый библиотекой, в следующем параграфе вы увидите, как его настроить.
Если проект настроен правильно, вы можете попробовать отправить push-уведомление через веб-интерфейс:
В эмуляторе Android вы должны получить уведомление:
Пожалуйста, убедитесь, что эмулятор включает Google API.
Parse.Com Custom Receiver
Теперь пришло время настроить приемник так, чтобы мы могли поддерживать пользовательские сообщения, а не только текстовые сообщения. Настраивая приемник, можно реализовать логику приложения, такую как анализ входящего сообщения, отображение пользовательских сообщений и так далее. Оглядываясь назад в Manifest.xml, в качестве приемника вещания использовался стандартный приемник com.parse.ParsePushBroadcastReceiver, теперь для настройки его поведения мы можем создать его подкласс:
public class JSONCustomReceiver extends ParsePushBroadcastReceiver {
@Override
protected void onPushReceive(Context context, Intent intent) {
.....
}
}
и переопределить onPushReceiver, чтобы можно было реализовать логику приложения, когда сообщение доступно. Предположим, что сообщение имеет формат JSON, например:
{"message":"hello phone"}
В onPushReceiver
, приложение анализирует сообщение:
private String getData(String jsonData) {
// Parse JSON Data
try {
System.out.println("JSON Data ["+jsonData+"]");
JSONObject obj = new JSONObject(jsonData);
return obj.getString("message");
}
catch(JSONException jse) {
jse.printStackTrace();
}
return "";
}
Как только содержимое сообщения становится доступным и извлекается из сообщения JSON, приложение уведомляет об этом пользователя, используя NotificationCompat
и NotificationManager
.
// Create custom notification
NotificationCompat.Builder builder = new NotificationCompat.Builder(context)
.setSmallIcon(R.drawable.ic_not_alert)
.setContentText(data)
.setContentTitle("Notification from Parse")
.setContentIntent(pendingIntent);
Notification notification = builder.build();
NotificationManager nm = (NotificationManager) context.getSystemService(Context.NOTIFICATION_SERVICE);
где pendingIntent
экземпляр Intent, который запускает Activity, когда пользователь касается push-уведомления:
// Add custom intent
Intent cIntent = new Intent(context, MainActivity.class);
PendingIntent pendingIntent = PendingIntent.getActivity(context, 0,
cIntent, PendingIntent.FLAG_UPDATE_CURRENT);
и, наконец, приложение уведомляет сообщение:
nm.notify(1410, notification);
Окончательный результат показан на рисунке ниже. Обратите внимание, что мы также настроили значок уведомления. В конце этого поста вы знаете, как отправить push-сообщение для Android с помощью Parse.com, в следующих статьях вы узнаете, как использовать push-уведомление для отправки сообщений, генерируемых такими интеллектуальными контроллерами, как Arduino, следите за обновлениями!