JYJPush - UniApp极光推送插件使用指南

声明

本文档仅用于JYJPush插件的使用教程,如需转载,请先征求作者同意

使用环境:Uniapp项目
支持平台:iOS/Android

使用流程

1.打开HBX,登录刚刚购买的账号,找到购买绑定的项目,点击manifest.json,选择APP原生插件配置如图:

image.png

2.点击云端插件后面的“选择云端插件”,然后勾选上对应的插件“JYJPush”,如图:

image.png
勾选成功后,点击确定,页面上将出现JYJPush的配置项,如图:
image.png
参数说明:
ios_appkey/android_appkey:
极光官方的APPKEY,获取方式如图:(跳过了极光账号注册、应用创建的流程,这个比较简单,可自己操作)

1.点击应用设置、获取Appkey


image.png

image.png

2.点击推送设置,进行APP推送的配置(iOS+Android)


image.png
安卓配置只需要填写包名,这里的包名需要和第一步(试用或者购买)的包名一致,不能修改!;如果只是试用,那么后续购买的时候,需要填写和这里一样的包名
image.png
iOS的配置有两种方式:证书和Token,推荐证书配置(证书生成方式依赖于苹果开发者账号,这里不细讲,可参考极光的生成文档:https://docs.jiguang.cn//jpush/client/iOS/ios_cer_guide/);iOS的BundleID不需要手动填写,配置了证书,会自动获取证书的包名
image.png
image.png
至此,安卓和iOS的推送配置已经完成,继续接着看
ios_channel/android_channel:渠道只能是数字或英文,不能有特殊字符或空格

推送渠道,这个非必填,但是推荐填写;举个例子:
安卓有各个应用市场,比如:应用宝、360、小米、华为等;如果需要通知哪个市场的用户质量比较好,那么就可以通过这个渠道来统计;
如果实在不知道填写什么,ios_channel就填写iOS、android_channel就填写android,如图:

image.png
配置完成后,建议通过manifest源码视图的模式检查一下,检查方法如下
image.png

image.png

4.自定义基座,打包来测试

解释一下:平时我们测试,链接手机直接运行,他会在手机上安装一个APP,这个时候可以直接打开调试,这个被称为标准基座;标准基座包含了uniapp基础的一些框架内部的东西,但是如果我们要调试第三方的插件SDK,就需要自定义基座;
简单来说,自定义基座就是标准基座 + 第三方的插件SDK组成,执照方法如下:(截图用的是Mac电脑演示,Windows也类似哈)

1.点击运行,选择自定义基座:


image.png

2.安卓自定义基座流程

  • 填写对应安卓的包名(和购买、极光推送配置的保持一致),三个地方的包名必须一致!!!
  • 如果使用自有证书,则填写相关的信息
  • 如果是公共测试证书,直接下一步


    image.png

3.iOS自定义基座流程


image.png

自定义基座完成后,会在项目的unpackage/debug目录生成对应的文件,安卓对应apk,iOS对应的是IPA

5.运行自定义基座来测试

  • 1.运行前,先选择运行自定义基座;点击运行-运行手机或模拟器-选择运行基座


    image.png
  • 2.点击运行,选择自己的设备


    image.png
  • 3.等运行完成后,编写相关的代码来测试:如设置alias
const jyJPush = uni.requireNativePlugin('JY-JPush');
                jyJPush.setJYJPushAlias({
                    userAlias: 'testAlias22'
                }, result => {
                    console.log(JSON.stringify(result));
                    uni.showToast({
                        icon: 'none',
                        title: JSON.stringify(result)
                    })
                });
  • 4.只要控制栏输出了相关的数据,这个时候,基座调试就完成了;如果控制栏提示:基座不包含插件;可删除手机上面的APP,重新运行测试;如果还是不行,就删除unpackage、debug底下对应的文件,重新自定义基座来测试

6.JYJPush相关常见文件调试指南

首先,附带一个极光的常见错误码(下面文档,搜索对应的错误码)

https://docs.jiguang.cn//jpush/client/iOS/ios_api/

6.1 安卓设置alias返回6002错误
答:6002官方解释是设置超时、建议重试,一般出现在网络不佳、初始化尚未完成时;但是按照实际操作过程中,一般是包名和appkey不匹配,或者appkey未填写,或者channel未填写
解决方法:
  • 1.核对打包的时候的包名、极光后台应用配置的包名、购买的时候填写的包名(试用的无此步骤),三个地方的包名是否一致
  • 2.切换到Manifest,搜索Push,检查配置的JYJPUSH参数是否和填写的一致(上面有核对方法)
  • 3.检查channel是否为空或者有其他特殊字符(空格也算特殊字符哦)
6.2 iOS设置alias返回6002错误
答:6002官方解释是设置超时、建议重试,一般出现在网络不佳、初始化尚未完成时;但是按照实际操作过程中,一般是bundleID和appkey不匹配,或者appkey未填写,或者channel未填写
解决方法:
  • 1.核对打包的时候的包名、极光后台应用配置的包名(iOS的包名不能配置,根据证书来的)、购买的时候填写的包名(试用的无此步骤),三个地方的包名是否一致
  • 2.切换到Manifest,搜索Push,检查配置的JYJPUSH参数是否和填写的一致(上面有核对方法)
  • 3.检查channel是否为空或者有其他特殊字符(空格也算特殊字符哦)
6.3 iOS/Android设置alias或者其他操作,返回6022错误
答:6022官方解释是多次调用 alias 相关的 API,请在获取到上一次调用回调后再做下一次操作;在未取到回调的情况下,等待 20 秒后可做下一次操作。
解决方法:
  • 1.查看自己的代码,看看是否有连续多次调用alias相关的操作(设置、查询、删除)
  • 2.检查自己的网络,是否开启了代理
6.4 iOS/Android获取registrationID为空,或者为0
答:uniapp的生命周期和原生APP的生命周期并不是完全一致,如果APP一打开就去获取,就有可能失败或者获取到为0;有些时候如果极光推送集成失败,也会导致获取registrationID为空/0。
解决方法:
  • 1.先调用设置alias的方法,确保返回的iResCode为0
  • 2.不要在APP一打开的时候就去获取,可延迟获取
6.5 iOS设置alias返回的iResCode为0,但是后台推送成功,APP无反应
答:一般是devicetoken没有上传成功导致的(一个新的名词,具体看解决方法)
解决方法:
  • 1.点击manifest.json,切换到源码视图,搜索Push,看是否打开了其他的推送,如图:


    image.png

    image.png
  • 2.如果有,可手动删除,因为JYJPush会和这些Push冲突,导致DeviceToken获取失败

  • 3.操作完成后,请删除unpackage、debug里面的ipa文件,删除手机上 的APP,重新自定义基座来测试

6.5 iOS/Android设置alias都成功,但是极光后台发送预览的设备数为0
答:极光服务的延迟问题,测试推送是否能收发,可以的话就不管他
解决方法:
  • 1.见:答
6.6 iOS/Android怎么设置角标呢?
答:角标分为两种;1.APP图标上面显示的角标,这类角标,JYJPush并没有提供设置方法,建议使用uniapp官方的方法来设置:plus.runtime.setBadgeNumber(数字),注意,部分安卓机型不支持角标设置哦;2.极光服务器的角标管理,极光服务器会维护一个角标数量,可手动增减
解决方法:
  • 1.极光服务器角标设置方法:setJYJPushBadge、resetJYJPushBadge
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 212,657评论 6 492
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,662评论 3 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 158,143评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,732评论 1 284
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,837评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,036评论 1 291
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,126评论 3 410
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,868评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,315评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,641评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,773评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,470评论 4 333
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,126评论 3 317
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,859评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,095评论 1 267
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,584评论 2 362
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,676评论 2 351

推荐阅读更多精彩内容