{"id":13413426,"url":"https://github.com/uniqush/uniqush-push","last_synced_at":"2025-03-14T19:32:10.902Z","repository":{"id":43344498,"uuid":"2287470","full_name":"uniqush/uniqush-push","owner":"uniqush","description":"Uniqush is a free and open source software system which provides a unified push service for server side notification to apps on mobile devices.","archived":false,"fork":false,"pushed_at":"2020-04-09T17:28:55.000Z","size":2576,"stargazers_count":1537,"open_issues_count":73,"forks_count":201,"subscribers_count":80,"default_branch":"master","last_synced_at":"2024-10-16T09:27:25.695Z","etag":null,"topics":["apns","fcm","gcm","go","golang","push-notifications","uniqush"],"latest_commit_sha":null,"homepage":"http://uniqush.org","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/uniqush.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2011-08-29T08:42:37.000Z","updated_at":"2024-10-02T07:07:31.000Z","dependencies_parsed_at":"2022-08-12T10:40:37.506Z","dependency_job_id":null,"html_url":"https://github.com/uniqush/uniqush-push","commit_stats":null,"previous_names":[],"tags_count":45,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/uniqush%2Funiqush-push","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/uniqush%2Funiqush-push/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/uniqush%2Funiqush-push/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/uniqush%2Funiqush-push/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/uniqush","download_url":"https://codeload.github.com/uniqush/uniqush-push/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":221498745,"owners_count":16833056,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["apns","fcm","gcm","go","golang","push-notifications","uniqush"],"created_at":"2024-07-30T20:01:40.113Z","updated_at":"2024-10-26T05:30:52.226Z","avatar_url":"https://github.com/uniqush.png","language":"Go","readme":"- [Homepage](http://uniqush.org)\n- [Download](http://uniqush.org/downloads.html)\n- [Blog/News](http://blog.uniqush.org)\n- [@uniqush](http://twitter.com/uniqush)\n\n## Introduction ##\n\n*Uniqush* (\\ˈyü-nə-ku̇sh\\ \"uni\" pronounced as in \"unified\", and \"qush\" pronounced as\nin \"cushion\") is a _free_ and _open source_ software system which provides\na unified push service for server side notification to apps on mobile devices.\nThe `uniqush-push` API abstracts the APIs of the various push services used\nto send push notifications to those devices. By running `uniqush-push` on the\nserver side, you can send push notifications to any supported mobile platform.\n\n[![Build Status](https://travis-ci.org/uniqush/uniqush-push.svg?branch=master)](https://travis-ci.org/uniqush/uniqush-push)\n\n## Supported Platforms ##\n\n- [GCM](http://developer.android.com/guide/google/gcm/index.html) from Google for the Android platform\n- [FCM](https://firebase.google.com/docs/cloud-messaging/) from Google for the Android platform\n- [APNS](http://developer.apple.com/library/mac/#documentation/NetworkingInternet/Conceptual/RemoteNotificationsPG/ApplePushService/ApplePushService.html) from Apple for the iOS platform\n- [ADM](https://developer.amazon.com/sdk/adm.html) from Amazon for Kindle tablets\n\n## FAQ ##\n\n- Q: Is this a general push notification platform for all types of devices? How does this differ\n  from services such as [Urban Airship](http://urbanairship.com)?\n- A: [Urban Airship](http://urbanairship.com) is a great service, and there are\n  other similar services available, like [OpenPush](http://openpush.im/),\n[Notificare](https://notifica.re/), etc. All of them are wonderful services.\nHowever, [Uniqush](http://uniqush.org) is different from them.\n[Uniqush](http://uniqush.org) is not a service. Instead,\n**[Uniqush](http://uniqush.org) is a system, which runs on your own\nserver**. In fact, if you wish, you can use Uniqush to set up a service similar to [Urban Airship](http://urbanairship.com).\n\n- Q: OK. Then is it a library? Like\n  [java-apns](https://github.com/notnoop/java-apns)?\n- A: Well.. Not actually. I mean, it is a program, like Apache HTTP Server. You download it, you run it. It does require a [Redis](http://redis.io/) server, but, other than that, you don't need to worry about which language to use, package dependencies, etc.\n\n- Q: But wait, how can I use it anyway? I mean, if my program wants to send\n  a push notification, I need to tell Uniqush about this action. How can I\n  communicate with Uniqush? There must be some library so that I can use it\n  in my program to talk with Uniqush, right?\n- A: We are trying to make it easier. `uniqush-push` provides RESTful APIs. In\n  other words, you talk with `uniqush-push` through HTTP protocol. As long as\nthere's an HTTP client library for your language, you can use it and talk with\n`uniqush-push`. For details about our RESTful APIs, see [our API\ndocumentation](http://uniqush.org/documentation/usage.html).\n\n- Q: Then that's cool. But I noticed that you are using [Go](http://golang.org) programming language. Do I need to install [Go](http://golang.org) compiler and other stuff to run `uniqush-push`?\n- A: No. There are no installation dependencies. All you need to do is to download the\n  binary file from the [download page](http://uniqush.org/downloads.html) and\ninstall it. But you do need to set up a [Redis](http://redis.io) server running\nsomewhere, preferably with persistence, so that `uniqush-push` can store the\nuser data in [Redis](http://redis.io). For more details, see the\n[installation guide](http://uniqush.org/documentation/install.html)\n\n- Q: This is nice. I want to give it a try. But you are keep talking about `uniqush-push`, and I'm talking about *Uniqush*, are they the same thing?\n- A: Thank you for your support! *Uniqush* is intended to be the name of a\n  system which provides a full stack solution for communication between mobile\ndevices and the app's server. `uniqush-push` is one piece of the system.\nHowever, right now, `uniqush-push` is the only piece and others are under\nactive development. If you want to know more details about the *Uniqush*\nsystem's plan, you can read the [blog\npost](http://blog.uniqush.org/uniqush-after-go1.html). If you want to find out\nabout the latest progress with *Uniqush*, please check out [our\n blog](http://blog.uniqush.org/). And, if you are really impatient, there's\n always our [our GitHub account](http://github.com/uniqush) which could have\n brand-new stuff that hasn't been released yet.\n\n## Setting Up Redis ##\n\n[Redis persistence](http://redis.io/topics/persistence) describes the details\nof how Redis saves data on shutdown, as well as how one might back up that\ndata. Make sure that the Redis server you use has persistence enabled - your\nredis.conf should have contents similar to the section `**PERSISTENCE**` of\nredis.conf in the example config files linked in http://redis.io/topics/config\n\n## Contributing ##\n\nYou're encouraged to contribute to the `uniqush-push` project. There are two ways you can contribute.\n\n### Issues ###\n\nIf you encounter an issue while using `uniqush-push`, please report it at the project's [issues tracker](https://github.com/uniqush/uniqush-push/issues). Feature suggestions are also welcome.\n\n### Pull request ###\n\nCode contributions to `uniqush-push` can be made using pull requests. To submit a pull request:\n\n1. Fork this project.\n2. Make and commit your changes.\n3. Submit your changes as a pull request.\n\n## Related Links ##\n- [This story](http://uniqush.org/documentation/intro.html) may help you to understand\nthe basic idea of *Uniqush*.\n- [Documentation](http://uniqush.org/documentation/index.html)\n- [The Uniqush blog](http://blog.uniqush.org) announces the latest news about Uniqush.\n- [Redis persistence](http://redis.io/topics/persistence)\n","funding_links":[],"categories":["Go","消息","Messaging","消息传递","消息系统","Relational Databases","Repositories","\u003cspan id=\"消息-messaging\"\u003e消息 Messaging\u003c/span\u003e","机器学习"],"sub_categories":["Advanced Console UIs","Search and Analytic Databases","检索及分析资料库","交流","高級控制台界面","SQL 查询语句构建库","高级控制台界面","\u003cspan id=\"高级控制台用户界面-advanced-console-uis\"\u003e高级控制台用户界面 Advanced Console UIs\u003c/span\u003e","Middlewares"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Funiqush%2Funiqush-push","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Funiqush%2Funiqush-push","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Funiqush%2Funiqush-push/lists"}