All Projects → ETENG-OSP → Xgpush Cordova

ETENG-OSP / Xgpush Cordova

Licence: mit
腾讯信鸽推送 for Cordova

Projects that are alternatives of or similar to Xgpush Cordova

Onesignal Cordova Sdk
OneSignal is a free push notification service for mobile apps. This plugin makes it easy to integrate your Ionic, PhoneGap CLI, PhoneGap Build, Cordova, or Sencha Touch app with OneSignal. Supports Android, iOS, and Amazon's Fire OS platforms. https://onesignal.com
Stars: ✭ 214 (+174.36%)
Mutual labels:  push-notifications, cordova
hms-cordova-plugin
This repo contains all of Cordova HMS plugins.
Stars: ✭ 78 (+0%)
Mutual labels:  cordova, push-notifications
mobile-messaging-cordova-plugin
Mobile Messaging SDK plugin for Cordova projects
Stars: ✭ 19 (-75.64%)
Mutual labels:  cordova, push-notifications
Cordova Plugin Device Motion
Apache Cordova Plugin device-motion
Stars: ✭ 58 (-25.64%)
Mutual labels:  cordova
Simple Ionic 3 App
A simple Ionic 3 app with get requests to a local JSON file. It showcases how to set up a simple service and provides some nice components for your own application.
Stars: ✭ 59 (-24.36%)
Mutual labels:  cordova
Cordovue
A sample Apache Cordova application using VueJS.
Stars: ✭ 66 (-15.38%)
Mutual labels:  cordova
Cordova Plugin Camera Preview Sample App
cordova-plugin-camera-preview Sample App
Stars: ✭ 76 (-2.56%)
Mutual labels:  cordova
Cordova Plugin Sign In With Apple
A native-implemented plugin of Sign in with Apple // Thanks to your contribution! // Cordova>=8 iOS>=13
Stars: ✭ 57 (-26.92%)
Mutual labels:  cordova
Drip Ionic3
「水滴打卡」App Open Source Code Base On Ionic V3 Framework
Stars: ✭ 74 (-5.13%)
Mutual labels:  cordova
Push.js
The world's most versatile desktop notifications framework 🌎
Stars: ✭ 8,536 (+10843.59%)
Mutual labels:  push-notifications
Onsenui
Mobile app development framework and SDK using HTML5 and JavaScript. Create beautiful and performant cross-platform mobile apps. Based on Web Components, and provides bindings for Angular 1, 2, React and Vue.js.
Stars: ✭ 8,518 (+10820.51%)
Mutual labels:  cordova
Carpoolear
The open source Vue.js frontend (mobile and cordova app) for the argentinian carpooling application: Carpoolear
Stars: ✭ 59 (-24.36%)
Mutual labels:  cordova
Tus Js Client
A pure JavaScript client for the tus resumable upload protocol
Stars: ✭ 1,151 (+1375.64%)
Mutual labels:  cordova
Vue Mobile Mint
🍔 🍖 🍴基于mint-ui的饿了么外卖平台混合app(仿饿了么)
Stars: ✭ 59 (-24.36%)
Mutual labels:  cordova
Cordova Plugin Wechat
A cordova plugin, a JS version of Wechat SDK
Stars: ✭ 1,198 (+1435.9%)
Mutual labels:  cordova
Cordova Mobile Spec
Apache Cordova mobile-spec
Stars: ✭ 57 (-26.92%)
Mutual labels:  cordova
Ionic Typescript Mdha Starter
📱 This is an boilerplate starter project I use to bootstrap mobile applications. It is built with Ionic, AngularJS, TypeScript, and runs in Cordova. It is built upon the Visual Studio Tools for Apache Cordova project provided in Visual Studio 2015.
Stars: ✭ 70 (-10.26%)
Mutual labels:  cordova
Notificationpusher
Standalone PHP library for easy devices notifications push.
Stars: ✭ 1,143 (+1365.38%)
Mutual labels:  push-notifications
Cordova Plugin Getuisdk
个推官方提供的推送SDK PhoneGap(Cordova) 插件(支持 Android & iOS)
Stars: ✭ 65 (-16.67%)
Mutual labels:  cordova
Cordova Plugin Test Framework
Apache Cordova
Stars: ✭ 66 (-15.38%)
Mutual labels:  cordova

XGPush 腾讯信鸽推送 for Cordova

  • [170109] 升级 SDK
  • [160119] 升级 SDK
  • [151229] iOS SDK 版本更新至 2.4.5,重新规划 SDK 存储路径
  • [151015] 庆祝 20 Stars,SDK 升级
SDK version
android Xg-Push-SDK-Android-2.47
ios Xg-Push-SDK-iOS-2.5.0

腾讯信鸽推送服务:http://xg.qq.com/

Cordova 版本:3.x / 4.x / 5.x

这个插件支持通知与消息,同时针对混合应用的生命周期进行了处理,保证消息的抵达。

安装方法

打开控制台,进入 Cordova 项目目录,输入:

cordova plugin add https://github.com/ETENG-OSP/xgpush-cordova --save \
  --variable ACCESS_ID="Your Access ID" \
  --variable ACCESS_KEY="Your Access Key"

使用方法

安装完成即可接收推送通知。这种用法适合于仅需要偶尔向全部用户发信息的情况。

如果需要精确控制,参考以下 API 和事件。

API

  • xgpush.registerPush([alias]): 注册设备

    这个方法可以手动注册设备。如果需要为接收推送的设备取别名以便有针对性的通知,需要在 deviceready 后注册别名:

    // 这里的别名是可选的,不传代表没用别名
    xgpush.registerPush('tom');
    

    如果需要结果,可以用 Promise 的形式获取:

    xgpush.registerPush('tom').then(function(results) {
      // results 里有 flag 和 data
      alert('设备的 token 是: ' + results.data);
    });
    

    可以重复注册,下一个别名会替换上一个别名。

  • xgpush.unregisterPush(): 注销设备

    如果不想接收推送,使用 xgpush.unregisterPush

    xgpush.unregisterPush()
    

    这个方法也返回 Promise。

事件

  • textmessage: 文本消息

如果需要接受消息,直接在代码里处理,可以监听 textmessage 事件:

xgpush.on('textmessage', function(e) {
  // 事件处理方法
  alert(JSON.stringify(arguments, null, 2));
});

事件采用了与 Node.js 事件兼容的 eventemitter3。具体方法参考:https://nodejs.org/api/events.html

用例

如果需要推送一条信息,用户在点击该信息后进入应用,同时触发程序逻辑。可以发送一个带有自定义 URL scheme 的通知。

参考这个插件:https://github.com/EddyVerbruggen/Custom-URL-scheme

注意事项

armv7s 与 xcode 6

如果执行 cordova build --device --release 不成功,请去掉 build.js 里的 armv7s。

参考: https://issues.apache.org/jira/browse/CB-8788

不同平台 so 文件

这个插件内置了 armeabi 的库文件。如果目标平台不是 armeabi,请到 http://xg.qq.com/xg/help/ctr_help/download 下载对应版本的 SDK。

以下引用 SDK 中的说明:

  1. 信鸽的 .so 支持所有的 android 平台,但考虑到平时接入一般只需要 armeabi 平台,因此 libs 目录只提供该平台的 .so,其它平台可在上层目录的 All-Platform-SO 找到。

  2. 嵌入 .so 可能存在的问题:

  3. so 文件与 jar 包不匹配。

解决办法:在更新 jar 时同时更新对应的 so 文件;
  1. 当前工程已有某些平台的 so,如只有 armeabi 平台,却添加信鸽所有平台导致打包时异常。
解决办法:只添加当前工程已有的平台的信鸽 so 文件。具体可参考网上或以下示例:

```
armeabi	   !此平台既有当前存在so又有信鸽,正常!
  --libCurrent.so			当前工程已有so
  --libtpnsSecurity.so	信鸽
  --libtpnsWatchdog.so	信鸽

armeabi-v7a	!此平台既有当前存在so又有信鸽,正常!
  --libCurrent.so			当前工程已有so
  --libtpnsSecurity.so	信鸽
  --libtpnsWatchdog.so	信鸽

mips	!!!错误,由于此平台只有信鸽,必须删掉mips目录!!!
  --libtpnsSecurity.so	信鸽
  --libtpnsWatchdog.so	信鸽

x86		!!!错误,由于此平台只有信鸽,必须删掉x86目录!!!
  --libtpnsSecurity.so	信鸽
  --libtpnsWatchdog.so	信鸽
```
  1. 若当前工程不存在 so 文件。
解决办法:可复制所有信鸽平台或只复制 armeabi 平台。
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].