Skip to content

Commit 60ac67d

Browse files
authored
Update README.md
add introductions for Firebase Cloud Messaging.
1 parent 0f90c01 commit 60ac67d

1 file changed

Lines changed: 8 additions & 6 deletions

File tree

README.md

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
# dapiPush
22
## What is the project?
3-
This project is planning to build a APNS gateway which accept push notification request from iOS apps to APNS. This application will only handle those iOS apps request which registered to an authorized provider, so it only act as a gateway. apps should presntion its authorized token provide by the authorizd provider and the destination token which will present to the APNS.
3+
dapiPush is a APNS/FCM gateway which accept push notification send request from mobile apps to other devices which either iOS devices(through APNS) or Android devices(through FCM). dapiPush will only handle those apps which registered as an authorized provider, so apps should presntion its authorized tokens provide by the authorizd provider.
44
## idea
5-
The idea is to leverage a web server to support http2 layer to accept the remote push notification request from iOS apps. A java servlet base on [Pushy library](https://github.com/relayrides/pushy) and will communicate with web Server without a web container (Tomcat,JBoss...etc) then process the rest of the works.
5+
The idea is to leverage a web server to support http2 layer to accept the remote push notification request from apps. A java servlet is designed to communicate with web Server without a web container (Tomcat,JBoss...etc) then process the received notifications and dispatch them either through APNS or FCM.
66
## System Requirements:
77
Since most of the supported projects are not natually build for this purpose. We need to build the develpment environment from sources.
88
1. OS : Ubuntu 16.04
@@ -32,14 +32,16 @@ Since most of the supported projects are not natually build for this purpose. We
3232
2. Follow the Nginx-clojure [quick start guide](http://nginx-clojure.github.io/quickstart.html) to complete the basic configuration and make sure it work.
3333
3. The jvm_classpath configuration and java_content_handler and the build path of the package should be consistent, or it will make you in trouble.
3434
4. Get APNS authentication related stuffs from Apple developor site.
35-
5. Setup development environment according to Pussy
36-
1. download the dependencies.
37-
2. configure the Eclipse develpment environment.
35+
5. Setup development environment according to [Pussy](https://github.com/relayrides/pushy/wiki) and [smack](https://www.igniterealtime.org/projects/smack/)
36+
1. Make sure the nginx-clojure jar files and all dependencies are in your CLASSPATH.
37+
2. Configure the IDE which you are familiar with (Eclipse,Intellij IDEA...).
38+
3. Modify each secret keys according to your configruations in dapiSecrets.java.
39+
3840
6. there you go!
3941

4042
## Notes:
4143
1. Default log policy only target on info level. enable debug level when needed.
42-
2. Device Token should match its APNs envirnment i.e. Production/Development.
44+
2. Device Token should match its release status i.e. Production/Development.
4345

4446
# Push Manager(User Interface)
4547
There is a simple user interface provided. You can find it in the PushManager folder. It is written in PHP and is based on Slim framework. To work with Push Manager, you should also install mysql, php-fpm and [Slim](https://www.slimframework.com/docs/tutorial/first-app.html) framework. There are some configurations need to be followed:

0 commit comments

Comments
 (0)