位置:首页 » 技术 » 极光推送 sdk 集成 所有推送 与别名标签推送

极光推送 sdk 集成 所有推送 与别名标签推送

日期:2015-08-02 阅读:0num
Advertisement

极光推送 sdk 集成 全部推送 与别名标签推送

SDK集成步骤

1、导入 SDK 开发包到你自己的应用程序项目

  • 解压缩 jpush-sdk_v1.x.y.zip 集成压缩包
  • 复制 libs/jpush-sdk-release1.x.y.jar 到工程 libs/ 目录下
  • 复制 libs/armeabi/libjpush.so 到工程 libs/armeabi 目录下
    极光推送 sdk 集成 所有推送 与别名标签推送

    如果您的项目有 libs/armeabi-v7a 这个目录,请把 libjpush.so 也复制一份到这个目录。

2、配置 AndroidManifest.xml

根据 SDK 压缩包里的 AndroidManifest.xml 样例文件,来配置应用程序项目的 AndroidManifest.xml 。

主要步骤为:

  1. 复制备注为 "Required" 的部分
  2. 将备注为替换包名的部分,替换为当前应用程序的包名
  3. 将AppKey替换为在Portal上注册该应用的的Key,例如(9fed5bcb7b9b87413678c407)

权限配置:

<?xml version="1.0" encoding="utf-8"?>

<manifest xmlns:android="<a href="http://schemas.android.com/apk/res/android" "="" style="outline: none; color: rgb(0, 109, 175); border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border-bottom-right-radius: 0px !important; border-bottom-left-radius: 0px !important; border: 0px !important; bottom: auto !important; float: none !important; height: auto !important; left: auto !important; line-height: 1.2em !important; margin: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important; box-sizing: content-box !important; font-size: 1em !important; min-height: inherit !important; background: none !important;">http://schemas.android.com/apk/res/android"

package="Your Package"

android:versionCode="100"

android:versionName="1.0.0"

>

<!-- Required -->

<permission android:name="Your Package.permission.JPUSH_MESSAGE" android:protectionLevel="signature" />

<!-- Required -->

<uses-permission android:name="You Package.permission.JPUSH_MESSAGE" />

<uses-permission android:name="android.permission.RECEIVE_USER_PRESENT" />

<uses-permission android:name="android.permission.INTERNET" />

<uses-permission android:name="android.permission.WAKE_LOCK" />

<uses-permission android:name="android.permission.READ_PHONE_STATE" />

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />

<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />

<uses-permission android:name="android.permission.VIBRATE" />

<uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS" />

<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />

<uses-permission android:name="android.permission.WRITE_SETTINGS" /> <!--since 1.6.0 -->

<!-- Optional. Required for location feature -->

<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />

<uses-permission android:name="android.permission.ACCESS_COARSE_UPDATES" />

<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />

<uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />

<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />

<uses-permission android:name="android.permission.ACCESS_LOCATION_EXTRA_COMMANDS" />

<uses-permission android:name="android.permission.CHANGE_NETWORK_STATE" />

应用包名及appkey替换:

<application

android:icon="@drawable/ic_launcher"

android:label="@string/app_name"

android:name="Your Application">

<!-- Required -->

<service

android:name="cn.jpush.android.service.PushService"

android:enabled="true"

android:exported="false" >

<intent-filter>

<action android:name="cn.jpush.android.intent.REGISTER" />

<action android:name="cn.jpush.android.intent.REPORT" />

<action android:name="cn.jpush.android.intent.PushService" />

<action android:name="cn.jpush.android.intent.PUSH_TIME" />

</intent-filter>

</service>

<!-- Required -->

<receiver

android:name="cn.jpush.android.service.PushReceiver"

android:enabled="true" >

<intent-filter android:priority="1000"> <!--since 1.3.5 -->

<action android:name="cn.jpush.android.intent.NOTIFICATION_RECEIVED_PROXY" /> <!--since 1.3.5 -->

<category android:name="Your Package" /> <!--since 1.3.5 -->

</intent-filter> <!--since 1.3.5 -->

<intent-filter>

<action android:name="android.intent.action.USER_PRESENT" />

<action android:name="android.net.conn.CONNECTIVITY_CHANGE" />

</intent-filter>

<intent-filter>

<action android:name="android.intent.action.PACKAGE_ADDED" />

<action android:name="android.intent.action.PACKAGE_REMOVED" />

<data android:scheme="package" />

</intent-filter>

</receiver>

<!-- Required SDK核心功能-->

<activity

android:name="cn.jpush.android.ui.PushActivity"

android:theme="@android:style/Theme.Translucent.NoTitleBar"

android:configChanges="orientation|keyboardHidden" >

<intent-filter>

<action android:name="cn.jpush.android.ui.PushActivity" />

<category android:name="android.intent.category.DEFAULT" />

<category android:name="Your Package" />

</intent-filter>

</activity>

<!-- Required SDK核心功能-->

<service

android:name="cn.jpush.android.service.DownloadService"

android:enabled="true"

android:exported="false" >

</service>

<!-- Required SDK核心功能-->

<receiver android:name="cn.jpush.android.service.AlarmReceiver" />

<!-- Required. For publish channel feature -->

<!-- JPUSH_CHANNEL 是为了方便开发者统计APK分发渠道。-->

<!-- 例如: -->

<!-- 发到 Google Play 的APK可以设置为 google-play; -->

<!-- 发到其他市场的 APK 可以设置为 xxx-market。 -->

<!-- 目前这个渠道统计功能的报表还未开放。-->

<meta-data android:name="JPUSH_CHANNEL" android:value="developer-default"/>

<!-- Required. AppKey copied from Portal -->

<meta-data android:name="JPUSH_APPKEY" android:value="Your AppKey"/>

</application>

</manifest>

3、添加代码

JPush SDK 提供的 API 接口,都主要集中在 cn.jpush.android.api.JPushInterface 类里。

基础 API

  • init 初始化SDK

public static void init(Context context)
  • setDebugMode 设置调试模式

// You can enable debug mode in developing state. You should close debug mode when release.

public static void setDebugMode(boolean debugEnalbed)

添加统计代码

  • 参考文档: 统计分析 API

调用示例代码(参考 example 项目)

  • init 只需要在应用程序启动时调用一次该 API 即可。
  • 以下代码定制一个本应用程序 Application 类。需要在 AndoridManifest.xml 里配置。请参考上面 AndroidManifest.xml 片断,或者 example 项目。

public class ExampleApplication extends Application {

@Override

public void onCreate() {

super.onCreate();

JPushInterface.setDebugMode(true);

JPushInterface.init(this);

}

}

4、测试确认

  1. 确认所需的权限都已经添加。如果必须的权限未添加,日志会提示错误。
  2. 确认 AppKey(在Portal上生成的)已经正确的写入 Androidmanifest.xml 。
  3. 确认在程序启动时候调用了init(context) 接口
  4. 确认测试手机(或者模拟器)已成功连入网络
    • 客户端调用 init 后不久,如果一切正常,应有登录成功的日志信息
  5. 启动应用程序,在 Portal 上向应用程序发送自定义消息或者通知栏提示。详情请参考管理Portal。
    • 在几秒内,客户端应可收到下发的通知或者正定义消息

如果 SDK 工作正常,则日志信息会如下图所示:

极光推送 sdk 集成 所有推送 与别名标签推送

如图所示,客户端启动分为 4 步:

  1. 检查 metadata 的 appKey 和 channel ,如果不存在,则启动失败
  2. 初始化 JPush SDK,检查 JNI 等库文件的有效性,如果库文件无效,则启动失败
  3. 检查 Androidmanifest.xml,如果有 Required 的权限不存在,则启动失败
  4. 连接服务器登录,如果存在网络问题,则登陆失败,或者前面三步有问题,不会启动JPush SDK

别名 alias

为安装了应用程序的用户,取个别名来标识。以后给该用户 Push 消息时,就可以用此别名来指定。

每个用户只能指定一个别名。

同一个应用程序内,对不同的用户,建议取不同的别名。这样,尽可能根据别名来唯一确定用户。

系统不限定一个别名只能指定一个用户。如果一个别名被指定到了多个用户,当给指定这个别名发消息时,服务器端API会同时给这多个用户发送消息。

举例:在一个用户要登录的游戏中,可能设置别名为 userid。游戏运营时,发现该用户 3 天没有玩游戏了,则根据 userid 调用服务器端API发通知到客户端提醒用户。

标签 tag

为安装了应用程序的用户,打上标签。其目的主要是方便开发者根据标签,来批量下发 Push 消息。

可为每个用户打多个标签。

不同应用程序、不同的用户,可以打同样的标签。

举例: game, old_page, women

Method - setAliasAndTags (with Callback)

调用此 API 来同时设置别名与标签。

需要理解的是,这个接口是覆盖逻辑,而不是增量逻辑。即新的调用会覆盖之前的设置。

在之前调用过后,如果需要再次改变别名与标签,只需要重新调用此 API 即可。

支持的版本

开始支持的版本:1.5.0.

接口定义


public static void setAliasAndTags(Context context, String alias, Set<String> tags, TagAliasCallback callback)

参数定义

  • alias
    • null 此次调用不设置此值。(注:不是指的字符串"null")
    • "" (空字符串)表示取消之前的设置。
    • 每次调用设置有效的别名,覆盖之前的设置。
    • 有效的别名组成:字母(区分大小写)、数字、下划线、汉字。
    • 限制:alias 命名长度限制为 40 字节。(判断长度需采用UTF-8编码)
  • tags
    • null 此次调用不设置此值。(注:不是指的字符串"null")
    • 空数组或列表表示取消之前的设置。
    • 每次调用至少设置一个 tag,覆盖之前的设置,不是新增。
    • 有效的标签组成:字母(区分大小写)、数字、下划线、汉字。
    • 限制:每个 tag 命名长度限制为 40 字节,最多支持设置 100 个 tag,但总长度不得超过1K字节。(判断长度需采用UTF-8编码)
      • 单个设备最多支持设置 100 个 tag。App 全局 tag 数量无限制。
  • callback
    • 在 TagAliasCallback 的 gotResult 方法,返回对应的参数 alias, tags。并返回对应的状态码:0为成功,其他返回码请参考错误码定义。
      

Method - setAlias

调用此 API 来设置别名。

需要理解的是,这个接口是覆盖逻辑,而不是增量逻辑。即新的调用会覆盖之前的设置。

支持的版本

开始支持的版本:1.5.0.

接口定义


public static void setAlias(Context context, String alias, TagAliasCallback callback)

参数定义

  • alias
    • "" (空字符串)表示取消之前的设置。
    • 每次调用设置有效的别名,覆盖之前的设置。
    • 有效的别名组成:字母(区分大小写)、数字、下划线、汉字。
    • 限制:alias 命名长度限制为 40 字节。(判断长度需采用UTF-8编码)
  • callback
    • 在TagAliasCallback 的 gotResult 方法,返回对应的参数 alias, tags。并返回对应的状态码:0为成功,其他返回码请参考错误码定义。
      

Method - setTags

调用此 API 来设置标签。

需要理解的是,这个接口是覆盖逻辑,而不是增量逻辑。即新的调用会覆盖之前的设置。

极光推送 sdk 集成 所有推送 与别名标签推送
使用建议

如果待设置的 alias / tags 是动态的,有可能在调用 setAliasAndTags 时因为 alias / tags 无效而整调用失败。

调用此方法只设置 tags,可以排除可能无效的 alias 对本次调用的影响。

支持的版本

开始支持的版本:1.5.0.

接口定义


public static void setTags(Context context, Set<String> tags, TagAliasCallback callback)

参数定义

  • tags
    • 空数组或列表表示取消之前的设置。
    • 每次调用至少设置一个 tag,覆盖之前的设置,不是新增。
    • 有效的标签组成:字母(区分大小写)、数字、下划线、汉字。
    • 限制:每个 tag 命名长度限制为 40 字节,最多支持设置 100 个 tag,但总长度不得超过1K字节。(判断长度需采用UTF-8编码)
      • 单个设备最多支持设置 100 个 tag。App 全局 tag 数量无限制。
  • callback
    • 在 TagAliasCallback 的 gotResult 方法,返回对应的参数 alias, tags。并返回对应的状态码:0为成功,其他返回码请参考错误码定义。
      

Method - filterValidTags(Set<String> tags)

极光推送 sdk 集成 所有推送 与别名标签推送
使用建议

设置 tags 时,如果其中一个 tag 无效,则整个设置过程失败。

如果 App 的 tags 会在运行过程中动态设置,并且存在对 JPush SDK tag 规定的无效字符,则有可能一个 tag 无效导致这次调用里所有的 tags 更新失败。

这时你可以调用本方法 filterValidTags 来过滤掉无效的 tags,得到有效的 tags,再调用 JPush SDK 的 set tags / alias 方法。

支持的版本

1.5.0

接口定义


public static Set<String> filterValidTags(Set<String> tags)

参数定义

  • tags 原 tag 集合。有可能包含无效的 tag。

接口返回

有效的 tag 集合。

Class - TagAliasCallback

设置别名与标签方法的回调类,可在 gotResult 方法上得到回调的结果。回调 responseCode = 0,则确认设置成功。

支持的版本

开始支持的版本:1.5.0

接口定义


public void gotResult(int responseCode, String alias, Set<String> tags);

参数定义

  • responseCode
    
    • 0 表示调用成功。
    • 其他返回码请参考错误码定义。
      
  • alias
    • 原设置的别名
  • tags
    • 原设置的标签

错误码定义

Code 描述 详细解释
6001 无效的设置,tag/alias 不应参数都为 null
6002 设置超时 建议重试
6003 alias 字符串不合法 有效的别名、标签组成:字母(区分大小写)、数字、下划线、汉字。
6004 alias超长。最多 40个字节 中文 UTF-8 是 3 个字节
6005 某一个 tag 字符串不合法 有效的别名、标签组成:字母(区分大小写)、数字、下划线、汉字。
6006 某一个 tag 超长。一个 tag 最多 40个字节 中文 UTF-8 是 3 个字节
6007 tags 数量超出限制。最多 100个 这是一台设备的限制。一个应用全局的标签数量无限制。
6008 tag/alias 超出总长度限制。总长度最多 1K 字节

极光推送 sdk 集成 所有推送 与别名标签推送的相关内容

相关文章
  • 极光推送 sdk 集成 所有推送 与别名标签推送 极光推送 sdk 集成 所有推送 与别名标签推送

    极光推送 sdk 集成 全部推送 与别名标签推送 SDK集成步骤 1.导入 SDK 开发包到你自己的应用程序项目 解压缩 jpush-sdk_v1.x.y.zip 集成压缩包 复制 libs/jpush-sdk-release1.x.y.jar 到工程 libs/ 目录下 复制 libs/armeabi/libjpush.so 到工程 libs/armeabi 目录下 如果您的项目有 libs/armeabi-v7a 这个目录,请把 libjpush.so 也复制一份到这个目录. 2.配置 An

  • Android高效编码-第三方SDK详解系列(三)——JPush推送牵扯出来的江湖恩怨,XMPP实现推送,自定义客户端推送 Android高效编码-第三方SDK详解系列(三)——JPush推送牵扯出来的江湖恩怨,XMPP实现推送,自定义客户端推送

    Android高效率编码-第三方SDK详解系列(三)--JPush推送牵扯出来的江湖恩怨,XMPP实现推送,自定义客户端推送 Android高效率编码-第三方SDK详解系列(三)--JPush推送牵扯出来的江湖恩怨,XMPP实现推送,自定义客户端推送 很久没有更新第三方SDK这个系列了,所以更新一下这几天工作中使用到的推送,写这个系列真的很要命,你要去把他们的API文档大致的翻阅一遍,而且各种功能都实现一遍,解决各种bug各种坑,不得不说,极光推送真坑,大家使用还是要慎重,我们看一下极光推送的官

  • Android高效率编码-第三方SDK详解系列(三)——JPush推送牵扯出来的江湖恩怨,XMPP实现推送,自定义客户端推送 Android高效率编码-第三方SDK详解系列(三)——JPush推送牵扯出来的江湖恩怨,XMPP实现推送,自定义客户端推送

    很久没有更新第三方SDK这个系列了,所以更新一下这几天工作中使用到的推送,写这个系列真的很要命,你要去把他们的API文档大致的翻阅一遍,而且各种功能都实现一遍,解决各种bug各种坑,不得不说,极光推送真坑,大家使用还是要慎重,我们看一下极光推送的官网 https://www.jpush.cn/common/ 推送比较使用,很多软件有需要,所以在这个点拿出来多讲讲,我们本节课奇会讲到 AndroidPn推送 JPush推送 JPush实现聊天 一.推送的原理 既然要使用推送,首先我们还是要来了解一

  • Android开发笔记(一百零四)消息推送SDK

    推送的集成 常用概念 推送:从服务器把消息实时发到客户端app上,这就是推送,推送可用于发送系统通知.发送推荐信息.发送聊天消息等等. 别名:用于给移动设备取个好记的名字,比如电脑有计算机名,可以把别名理解为开发者给移送设备起的外号.不过,多个移动设备可以起一样的别名,这几个设备就会同时收到发给该别名的消息. 标记:用于给移动设备打标签,可以理解为分类,比如超市里的泰国大米既可以打上"粮食制品"的标签,也可以打上"进口商品"的标签.服务器可以统一给某个种类的移动设备

  • Android开发札记(一百零四)消息推送SDK

    Android开发笔记(一百零四)消息推送SDK 推送的集成 常用概念 推送:从服务器把消息实时发到客户端app上,这就是推送,推送可用于发送系统通知.发送推荐信息.发送聊天消息等等. 别名:用于给移动设备取个好记的名字,比如电脑有计算机名,可以把别名理解为开发者给移送设备起的外号.不过,多个移动设备可以起一样的别名,这几个设备就会同时收到发给该别名的消息. 标记:用于给移动设备打标签,可以理解为分类,比如超市里的泰国大米既可以打上"粮食制品"的标签,也可以打上"进口商品&q

  • 某推送 SDK 发现的一个方法.

    某推送 SDK 发现的一个方法 isNeedReoprtAppList @class GXPushServer, NSArray, NSString; __attribute__((visibility("hidden"))) @interface GXBusiness : NSObject { NSString *_phone; NSString *_deviceToken; NSString *_clientId; NSArray *_tags; NSString *_appId;

  • 友盟消息推送平台全面开放 整合友盟数据划分用户标签 友盟消息推送平台全面开放 整合友盟数据划分用户标签

    移动开发者服务平台友盟曾于2013年10月推出"一站式"解决方案,为开发者提供从开发到运营的一系列服务,其中就包含消息推送服务.而在日前的GMIC大会上,友盟表示消息推送服务已经全面开放,目前Android开发者可以到友盟开发者中心直接下载SDK使用. 当下,消息推送已成为移动开发者增强用户黏性的好方法.而友盟消息推送的优势在于,能够在更大程度上发挥友盟各产品线的协同效应.具体来说,开发者使用友盟统计分析.社会化组件.自动更新等产品,之前更多的是辅助其进行分析和决策,而消息推送则把决策

  • 乐视TV推手柄SDK适配方案 完美支持游戏手柄 乐视TV推手柄SDK适配方案 完美支持游戏手柄

    用智能电视玩游戏已经不新鲜了,但是目前市面上多数智能电视都只能使用遥控器来玩游戏,不光操控非常不便,还被游戏玩家们视为"不专业".造成这种现象的原因就是这些电视机在开发系统时没有考虑对游戏手柄的适配,面对用户越来越高的要求,这种现象亟待改善.乐视TV推出的游戏手柄SDK适配方案就是业内针对该问题的首个解决方案,超级电视的用户不妨尝试一下. 近日有网友在论坛上发帖称:在试玩乐视TV超级电视X50 Air时,发现游戏手柄也如超级遥控器般可以调出空鼠模式,而在进入游戏之后,手柄的按键和游戏中

  • 作业帮签到9天送5QB活动 有兴趣的赶紧来抢吧 送完为止 作业帮签到9天送5QB活动 有兴趣的赶紧来抢吧 送完为止

    作业帮签到9天送5QB活动 有兴趣的赶紧来抢吧 送完为止 这个是作业帮的最新活动,官方没有写QB数量 也没有写到期时间 只写了 送完为止....爱Q生活网有兴趣的去试试看吧,坚持9天 5QB咯... 没有作业帮的 http://pan.baidu.com/s/1mgr9h24 活动入口,精彩活动里面 签到演示 活动规则 活动地址:百度作业帮APP 文章开头有下载!

  • 开1年QQ超级会员免费送官方8位QQ靓号 开2年送极品3A8位靓号 开1年QQ超级会员免费送官方8位QQ靓号 开2年送极品3A8位靓号

    开1年QQ超级会员免费送官方8位QQ靓号 开2年送极品3A8位靓号 这个活动 对于想今年换个新QQ的朋友 绝对超值,不过爱Q生活网必须提醒 本次活动赠送的8位QQ,必须保持超级会员身份,也就是20QB/月 不然无法使用!!! 比 只要10QB开会员的号是贵多了,一年下来240QB 有木有 [注:暂时限安卓客户端] 活动规则如下 活动规则 1.活动期间一次性给自己或好友开通相应要求的年费会员或者年费超级会员即可免费赠送一个9位或者8位靓号,号码随机赠送不可更换. 2.成功开通(超级)会员后,可以通

  • 协通 SDK集成及售后服务要领说明

    协通 SDK集成及售后服务要点说明 在竞争愈发激烈的企业软件市场里,厂商体现实力的角度除了产品.销售和品牌之外,售后服务的地位也日益凸显.自联想.金蝶.用友等企业相继应用远程控制产品升级客户服务,我们知道那个只靠电话和现场服务即支撑一片天的软件售后的时代已慢慢老去,远程客服新时代.IT 技术SDK集成已揭开面纱! 过往大部分软件企业认为远程服务就是用各种系统自带或第三方远程连接工具,如window 远程桌面连接或QQ远程求助等.然而随着远程服务需求不断增多,单一的远程工具或即时通讯带来配置复杂.

  • 3月12日神之浩劫整点在送Q币 预约礼包活动即将开启 整点在线送Q币 3月12日神之浩劫整点在送Q币 预约礼包活动即将开启 整点在线送Q币

    3月12日神之浩劫整点在送Q币 预约礼包活动即将开启 整点在线送Q币 <神之浩劫>不限号已经进入最后倒计时 为了迎接这个时候的到来 神之浩劫推出了各种不限号福利 整点在线领取Q币兑换券 累计获得的Q币兑换券可以在商店中直接兑换Q币以及其他精彩商品 活动还没开始 先做一下预告 到时候会置顶本文 3月12日 20 - 22点期间登陆游戏即可与活动页面抽奖,必得随机数量的Q币兑换券,以及一个在线礼包 3月13日至3月20日,每日游戏在线签到即可获得随机皮肤体验和更多Q币兑换券 累计获得的Q币兑换券可

  • 开通QQ黄钻送QQ黄钻回馈活动_最高开一年送一年

    开通QQ黄钻送QQ黄钻回馈活动_最高开一年送一年,详情如下 活动算是相当不错的 当然了只是针对那些本来就打算最近要开年费黄钻的朋友 最高可以送一年...你信吗...反正我不信.呵呵 1.活动时间:2011-10-29至2011-11-15 2.只有通过本活动页面一次性开通12个月黄钻的用户方可参与抽奖. 3.活动期间www.poluoluo.com 用户在本活动页面上每开通一次年费黄钻即可获得一次抽奖机会:可多次开通,多次抽奖. 4.用户可通过点击南瓜抽取1--12个月不等的黄钻奖励. 5.点击

  • Weex iOS SDK 集成指南 Weex iOS SDK 集成指南

    如果需要集成weex sdk到现有的工程中,iOS提供两种常用方式:其一,源码依赖,可以在github上下载weex源码,然后迁移到工程中:其二,cocoapods依赖,这种方式相对比较简单,只需要在podfile中加入weex的版本依赖关系即可.现在就从零开始,为各位简述整个集成过程. 添加依赖(以pods依赖为例) CocoaPods安装,如果您此前已安装,请跳过此步骤. 移除现有的Ruby默认源 gem sources --remove https://rubygems.org/ 使用新源

  • 第三方消息推送SDK个推(igexin)因密码学设计缺陷导致通信流量可解密篡改

    个推是一套第三方推送技术解决方案,大量应用程序(参见http://www.getui.com/case/)通过集成个推SDK来达到给客户端推送消息的功能.但其用于保护通信流量的密码学实现存在重大缺陷,导致推送流量可被解密甚至篡改,从而造成使用该SDK的应用程序都存在用户隐私泄露.恶意消息推送等严重问题. 由于保护通信流量的实现存在严重密码学问题,导致获取到推送流量的中间人可以实时恢复出通信密钥,进而可以解密消息获取推送协议的交互数据.修改交互数据内容.重新加密回合法消息. 下面是虾米音乐应用从屏

  • LeanCloud JavaScript 推送 SDK

    你可以基于 Push SDK 做很多有趣的 Web App,比如:年会上面做个简单的弹幕应用,一些客户端发,弹幕墙接收. 当然,你可以做一个比较简单的消息通知功能.推送消息的方式也是很灵活的,可以在客户端通过对应 SDK 的接口发送,也可以在「控制台」- 「消息」中手动发送推送消息到各个客户端. 相关文档地址 https://leancloud.cn/docs/js_push.html --cut--

  • iOS 推送,怎么实现对所有/指定设备的推送?

    看了网上的很多教程,能够实现对调试设备的推送. 问题是对单一设备的推送需要设备的Token, 生成key和证书,那么对每一个设备进行推送呢. 有人推荐说是在用户同意安装的时候进行设备Token的获取,然后上传到数据库? 谢谢~~ --cut-- aru在2016-05-09 12:54:05回答到: 没错,上传token到数据库 另外你可以使用第三方的推送服务,他们有sdk可以上传token到他们的数据库,你用他们的后台发推送 hellomsg在2016-05-09 12:54:05回答到: 每

  • 唯品会推“运动夯货”特卖NMD全球限量跑鞋免费送 唯品会推“运动夯货”特卖NMD全球限量跑鞋免费送

    最近网上流行起一句话--需要清晨排队的商品有两样,一线城市的房子和NMD."NMD"是"NO MAD"的简写,是Adidas于去年年底推出的全新鞋款系列,造型结合了三款Adidas 80年代经典鞋履的设计,是一款专为都市慢跑者设计的运动鞋. 去年12月12日NMD系列新鞋纽约全球发布会将NMD运动鞋定位作"科技跑鞋",而同时NMD鞋型的设计又散发出时尚与随性的气质--大胆的材质与颜色搭配,窄瘦又显露运动感的鞋型,让范冰冰.刘德华.陈奕迅.吴亦凡.

  • 590元还送硬件 乐视体育打出王炸力推会员 590元还送硬件 乐视体育打出王炸力推会员

    4月6日,乐视体育正式在内地市场推出付费会员"乐视超级体育会员",成为新英体育和腾讯体育之后,国内第三家推出体育付费会员的体育平台,也是唯一一家包含国内和国外上百项顶级赛事,并与乐视生态联手,打造全球独一无二的超级体育会员模式. 会员赛事数量超过ESPN 在国内,新英体育是第一家推出体育付费会员的公司.腾讯体育5亿拿到5年的NBA转播权后,从去年开始推出针对NBA的付费会员. 虽然英超和NBA是稀缺赛事,但是球迷付费之后仅能看到一项体育赛事,对于付费会员和转播平台来说都是巨大的局限.

  • 个推推送 SDK 常见问题检查

    1. 通知和消息有什么区别? 通知:发送后会在系统通知栏收到展现,同时响铃或振动提醒用户 消息:发送后不会在系统通知栏展现,SDK将消息传给第三方应用后需要开发者写展现代码才能看到 2. 什么是标签tag? 标签是用户的一种属性,在给某些用户设置某类标签后就可以针对推送.比如给喜欢"足球"打上"足球"标签,就可以只给他们精准推送.可以在应用管理页面管理每个应用的标签,每个应用最多打100个标签 3. Android平台SDK对手机和操作系统有哪些要求? SDK支持A

最新文章
  • Amazon AWS免费送$100了

    链接在此, 不多说 https://aws.amazon.com/big-data/powerof60/ --cut-- qiuai在2013-09-29 12:06:3回答到: 提交了...但是发现我用不到... hadoop在2013-09-29 14:56:2回答到: @qiuai aws很坑爹,随便用就会超掉 qiuai在2013-09-29 15:12:3回答到: @hadoop 我遇过最无奈的事情就是一台机器的流量因为蜘蛛来的太猛...超到我都差点想直接把站关掉... hadoop在

  • 朋友1家餐饮小店,100个平方左右,想搭1套监控,熟悉的朋友可以给1个性价比高的方案吗?自己方便安装吗?

    要求就是白天.晚上都可以,录像功能需要,接电脑好还是电视好呢?能手机网络看的更好. 自己方便安装吗?需要什么工具? 淘宝上找到1家叫凯聪的,不知道好不好: http://detail.tmall.com/item.htm?spm=a1z10.4.w5003-4192581134.19.TZsgKH&id=15358513386&&scene=taobao_shop --cut-- manhere在2013-12-02 16:04:2回答到: 买个硬盘录像机,不要用采集卡方案.看到凯

  • 微信 iOS SDK OAuth 登录没有 onResp 回调

    真机iphone 6 xcode 6.1 target: ios 8.1 Appdelegate里已经registerApp了,Controller也实现了WXApiDelegate. 能拉起微信客户端,点击"确认登录"后没反应,也没有返回到自己的应用,求解!!实在不知道问题出在哪里 之前貌似也有人遇到过: http://www.v2ex.com/t/142677 --cut-- haosxianr在2015-01-04 17:40:2回答到: 在Info标签下的URL Type你添加

  • 如何处理好同事关系 如何处理好同事关系

    方法 1. 与同事相处的第一步便是平等.不管你是职高一等的老手还是新近入行的新手,都应绝对摈弃不平等的关系,心存自大或心存自卑都是同事间相处的大忌. 2. 和谐的同事关系对你的工作不无裨益,不妨将同事看作工作上的伴侣.生活中的朋友,千万别在办公室中板着一张脸,让人们觉得你自命清高,不屑于和大家共处. 3. 面对共同的工作,尤其是遇到晋升.加薪等问题时,同事间的关系就会变得尤为脆弱.此时,你应该抛开杂念,专心投入工作中,不耍手段.不玩技巧,但决不放弃与同事公平竞争的机会. 4. 当你苦于难以和上司

  • 老妪去世将2544万豪宅留给宠物狗 并聘请保姆照顾起居 老妪去世将2544万豪宅留给宠物狗 并聘请保姆照顾起居

    在<加菲猫>中,一只猫成为了一个城堡的主人,让人觉得匪夷所思!然而,现实中也存在这样类似的状况,你相信么?据英国媒体报道,美国作家L·罗恩·哈伯德的遗孀,去世前将价值2544万元人民币的豪宅,留给一只宠物狗,要求家人在狗去世后才能卖房. 图为美国作家L·罗恩·哈伯德送给第三位妻子的豪宅,现在标价2.5万英镑(约合2544万元人民币). 这名遗孀为哈伯德的第三名妻子玛丽-苏[查看详情]

  • 谷歌为iOS配3DTouch功能 仅限iPhone6 谷歌为iOS配3DTouch功能 仅限iPhone6

    谷歌近期推出针对iOS系统的公测版Chrome,比较引人瞩目的就是它的3D Touch功能,目前已经允许部分用户在测试平台TestFlight上下载.但是能否为谷歌带来更多的用户还是个未知数. 谷歌为iOS配3DTouch功能 目前正在测试 谷歌为iOS配3DTouch功能 目前正在测试 用户只需要前往谷歌Chrome下载页面选择iOS版,填写邮箱,然后等待谷歌发送测试邀请,被邀请的用户即可进入 iOS 端TestFlight应用获取Chrome最新测版.值得一说的是,iOS版Chrome测试是

  • 有缘网督查推进“账号十条”助网络世界风清气正

    <互联网用户账号名称管理规定>(以下简称"账号十条")于3月1日起正式施行.国内领先的大众婚恋交友平台有缘网近日表示,自网信办发布"账号十条"以来,有缘网第一时间积极响应,展开新一轮自查自纠工作,截止目前已处置各类违法违规账号3178个. 据有缘网相关负责人介绍,有缘网针对用户账号名称.头像和简介信息一直以来即有严格规定,并实时进行排查工作.自"账号十条"发布以来,有缘网成立专项工作小组,按照"账号十条"要求,查漏

  • 客厅装修设计应该遵循的原则 客厅装修设计应该遵循的原则

    screen.width-333)this.width=screen.width-333"> 小客厅的设计原则 screen.width-333)this.width=screen.width-333"> 设计相对偏小的客厅,一定要做到简洁.采取做许多橱柜的方法是不合适的,因为这样使小空间显得更加拥挤.如在客厅中摆放电视机的话,可以将固定的电视柜改用带轮子的低柜,这样空间的利用率会大大增加,而且具有很强的变化性.在小客厅中如果使用装饰品.花草等应该力求简单,只要起到点缀效果

  • wordpress显示评论者地理位置与浏览器类型

    wordpress评论不具体记录评论者的地理位置与浏览器类型了,这个功能我们需要进入二次开发或使用插件,下面我介绍的不使用插件哦,是直接使用源码操作,具体例子如下,希望对各位有帮助. 显示评论者地理位置 将以下函数放到你的functions.php 中 实现的原理是利用新浪和淘宝的IP查询接口,返回IP所属城市 小修了下代码,去掉了挂载点,直接在显示评论时调用函数 代码如下 复制代码 /** * 使用api获取<a title="查看与城市有关的文章" 城市名 * @param

  • Flash MX 2004界面掠影(4) Flash MX 2004界面掠影(4)

    三.其它新面板 除了开始页和帮助面板外,Flash MX Professional 2004还增加了一些新的面板. 1.Project(工程)面板 在Project面板中,可以创建新的工程或打开现有的工程.使用Flash工程,可以管理一个工程中的多个文档,可以把多个相关文件组合在一起创建复杂的应用.使用Flash工程的版本控制功能可以确保在编辑文件期间使用正确的版本,防止意外的覆盖.Flash Pro新增的工程管理功能,为我们开发大型复杂应用提供了功能强大的管理工具. 图6 工程面板 2.Str

热门推荐
  • 修身连衣裙最新款搭配 修身连衣裙最新款搭配 随着天气越来越暖和,连衣裙也逐渐成了主角,尤其是长袖连衣裙,可以在春季单穿,一款款连衣裙精致简约的设计中加入更加柔美浪漫的元素,颜色也更加清新甜美,穿起来极具淑女气质,如果想秀出身材的话,选择修身款的就ok,让你愈发地性感迷人. 浅粉色的一款连衣裙,收腰设计衬托出小蛮腰,怎么能不修身,甜美梦幻,打造温柔动人的淑女气质,整体设计经典简约,衣身采用提花面料,华美精致,袖子则是轻盈的雪纺,更是增添了柔美气息. 灰色连衣裙并不是你想的那样沉闷,而是简约大气,穿出优雅成熟的魅力,线条简洁流畅,没有多余的装
  • 关于爱情伤感句子 关于爱情伤感句子 关于爱情伤感句子 童话已经结束,遗忘就是幸福. 有些事一转身就一辈子. 看透了世界也看不透你. 哀莫过于心不死. 我很好,不吵不闹不炫耀,不要委屈不要嘲笑,也不需要别人知道. 我是你转身就忘的路人甲,凭什么陪你蹉跎年华到天涯? 一个人只要不再想要,就什么都可以放下. 祈求天地放过一双恋人,怕发生的永远别发生. 爱的最高境界是经得起平淡的流年. 童话已经结束,遗忘就是幸福. 相恋时无话不说,失恋时无话可说 生不对,死不起. 不被理解的弱小只好一直坚强. 不要依赖别人,是你还有人可以依赖的时候才说的
  • 超级课程表怎么蹭课? 超级课程表怎么蹭课? 1)首先打开超级课程表,打"开超级课程表",点击首页右上角[+]--[蹭课].进入"蹭课"界面,点击一个[课程分类],比如绿茶小编胖胖选择"翻译系". 2)之后进入"翻译系"界面,点击一个[课程].在进入该课程后,按[加入课程]按键即可.
  • 网利宝开放日摆初冬“燕”席 为用户开启多彩生活 网利宝开放日摆初冬“燕”席 为用户开启多彩生活 在这个异常寒冷的冬日里,国内知名在线理财平台网利宝近日开启"Fun团"系列活动,邀请热爱理财.热爱生活的用户来公司参观.考察,体验多彩生活. 网利宝工作人员为用户介绍"燕席"活动 此次"Fun团",网利宝以"燕席"为主题举办了一场滋补身心的"营养"活动,用户不仅学习了理财知识,还与知名的鲜炖燕窝领导品牌"小仙炖"完成了一场美丽的邂逅. 网利宝称,平台上线一年来,通过微博.微信等方式得到不