|
1 | 1 | # dapiPush |
2 | 2 | ## 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. |
4 | 4 | ## 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. |
6 | 6 | ## System Requirements: |
7 | 7 | Since most of the supported projects are not natually build for this purpose. We need to build the develpment environment from sources. |
8 | 8 | 1. OS : Ubuntu 16.04 |
@@ -32,14 +32,16 @@ Since most of the supported projects are not natually build for this purpose. We |
32 | 32 | 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. |
33 | 33 | 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. |
34 | 34 | 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 | + |
38 | 40 | 6. there you go! |
39 | 41 |
|
40 | 42 | ## Notes: |
41 | 43 | 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. |
43 | 45 |
|
44 | 46 | # Push Manager(User Interface) |
45 | 47 | 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