/chanify-ios

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

Primary LanguageObjective-CMIT LicenseMIT

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();

For Developer

Init project

$ pod install

Test push in simulator

$ ./send.swift text=hello

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.