Skip to content

About

Chanify is a safe and simple notification tools. This repository is iOS clinet for Chanify.

Topics

Resources

Stars

230 stars

Watchers

4 watching

Forks

Repository files navigation

Chanify

iTunes App Store GitHub

English | 简体中文

Chanify is a safe and simple notification tools. For developers, system administrators, and everyone can push notifications with API.

You can deploy your own server.

Table of Contents

  1. Getting Started
  2. Usage
  3. For Developer
  4. Contributing
  5. License

Getting Started

  1. Install iOS App.

  2. Get token from channel detail

    Get token

  3. Send message

  4. You can create your channel

    NewChannel

Usage

Http API

  • GET
https://api.chanify.net/v1/sender/<token>/<message>
  • POST
https://api.chanify.net/v1/sender/<token>

Content-Type:

  • text/plain: Body is text message
  • multipart/form-data: The block of data("text") is text message
  • application/x-www-form-urlencoded: text=<url encoded text message>

Additional params

Key Description
title The title for notification message.
sound 1 enable sound, otherwise disable sound
priority 10 default, or 5

E.g.

https://api.chanify.net/v1/sender/<token>?sound=1&priority=10&title=hello

Command Line

# Send message
$ curl --form-string "text=hello" "https://api.chanify.net/v1/sender/<token>"

# Send text file
$ cat message.txt | curl -H "Content-Type: text/plain" --data-binary @- "https://api.chanify.net/v1/sender/<token>"

Python 3

from urllib import request, parse

data = parse.urlencode({ 'text': 'hello' }).encode()
req = request.Request("https://api.chanify.net/v1/sender/<token>", data=data)
request.urlopen(req)

Ruby

require 'net/http'

uri = URI('https://api.chanify.net/v1/sender/<token>')
res = Net::HTTP.post_form(uri, 'text' => 'hello')
puts res.body

NodeJS

const https = require('https')
const querystring = require('querystring');

const data = querystring.stringify({ text: 'hello' })
const options = {
    hostname: 'api.chanify.net',
    port: 443,
    path: '/v1/sender/token',
    method: 'POST',
    headers: {
        'Content-Type': 'application/x-www-form-urlencoded',
        'Content-Length': data.length
        }
    }
    var req = https.request(options, (res) => {
    res.on('data', (d) => {
        process.stdout.write(d);
    });
});  
req.write(data);
req.end();

PHP

$curl = curl_init();

curl_setopt_array($curl, [
    CURLOPT_URL           => 'http://<address>:<port>/v1/sender/<token>',
    CURLOPT_CUSTOMREQUEST => 'POST',
    CURLOPT_POSTFIELDS    => [ 'text' => 'hello' ],
]);

$response = curl_exec($curl);

curl_close($curl);
echo $response;

For Developer

Requirements:

  • Xcode
  • protoc 36.2 (for the Objective-C code generated from CHTP.proto)

Init project

$ open Chanify.xcworkspace

Test push in simulator

$ ./send.swift text=hello

Release notes, supported feature scope, and submission checklist: App Store release. Simulator push tests do not validate production APNs or distribution signing.

Contributing

Contributions are what make the open source community such an amazing place to be learn, inspire, and create. Any contributions you make are greatly appreciated.

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b feature/AmazingFeature)
  3. Commit your Changes (git commit -m 'Add some AmazingFeature')
  4. Push to the Branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

License

Distributed under the MIT License. See LICENSE for more information.

Dependency versions, offline source packages, and build requirements: Dependencies.

About

Chanify is a safe and simple notification tools. This repository is iOS clinet for Chanify.

Topics

Resources

Stars

230 stars

Watchers

4 watching

Forks

Used by

Contributors

Languages