QPush Client

QPush

Лицензия

Лицензия

Категории

Категории

CLI Взаимодействие с пользователем
Группа

Группа

com.github.yamingd.qpush
Идентификатор

Идентификатор

client
Последняя версия

Последняя версия

1.2
Дата

Дата

Тип

Тип

jar
Описание

Описание

QPush Client
QPush
Ссылка на сайт

Ссылка на сайт

https://github.com/yamingd/QPush
Система контроля версий

Система контроля версий

https://github.com/yamingd/QPush

Скачать client

Как подключить последнюю версию

<!-- https://jarcasting.com/artifacts/com.github.yamingd.qpush/client/ -->
<dependency>
    <groupId>com.github.yamingd.qpush</groupId>
    <artifactId>client</artifactId>
    <version>1.2</version>
</dependency>
// https://jarcasting.com/artifacts/com.github.yamingd.qpush/client/
implementation 'com.github.yamingd.qpush:client:1.2'
// https://jarcasting.com/artifacts/com.github.yamingd.qpush/client/
implementation ("com.github.yamingd.qpush:client:1.2")
'com.github.yamingd.qpush:client:jar:1.2'
<dependency org="com.github.yamingd.qpush" name="client" rev="1.2">
  <artifact name="client" type="jar" />
</dependency>
@Grapes(
@Grab(group='com.github.yamingd.qpush', module='client', version='1.2')
)
libraryDependencies += "com.github.yamingd.qpush" % "client" % "1.2"
[com.github.yamingd.qpush/client "1.2"]

Зависимости

compile (9)

Идентификатор библиотеки Тип Версия
com.google.guava : guava jar 17.0
ch.qos.logback : logback-classic jar 1.0.13
org.msgpack : msgpack jar 0.6.11
org.apache.commons : commons-lang3 jar 3.3.2
org.slf4j : slf4j-api jar 1.7.5
io.netty : netty-all jar 4.0.15.Final
com.google.code.gson : gson jar 2.2.4
org.slf4j : jul-to-slf4j jar 1.5.11
com.google.protobuf : protobuf-java jar 2.5.0

test (1)

Идентификатор библиотеки Тип Версия
junit : junit jar 3.8.1

Модули Проекта

Данный проект не имеет модулей.

QPush

a push server for mobile apps. it is based on Netty.

QPush has four major parts.

  • first of all, it is Gateway which is the most important part, and for maintaining connections between mobile apps and servers.
  • the second part is the Publisher, which is receiving incoming messages or payloads from app server.
  • the third is Pipe, it flows the message from Publisher to Gateway and to the mobile phone at the end.
  • the last one is Client, it connects to Publisher and keept this connection. Your App Server can use Client to send message to Publisher directly, by providing some simple configuration such as the Publisher ip address. the overall as following( from qpush_client.properties)
host=127.0.0.1
port=8082
thread_pool=100

QPush uses MySQL as storage. and also uses Redis to pipeline the messages out to Gateway

A Simple diagram of QPush

Payload follows Apple's APNS message structure. as following

{
"aps":
{
    "alert": "your message title is here",
    "badge": total number of remind,
    "sound": "the voice file you want to play while receiving message"
 },
"userInfo":
{
    "key1": "value1",
    "key2": "value2"
  }
}

userInfo part is optional. and at the mean time. Apple's APNS message is limited to 256 bytes. you should keep that in mind.

使用

https://github.com/yamingd/QPush/wiki

Версии библиотеки

Версия
1.2