起步软件技术论坛
搜索
 找回密码
 注册

QQ登录

只需一步,快速开始

楼主: 不羁的风

[分享] 极光推送(根据手机号进行推送)

  [复制链接]

51

主题

202

帖子

520

积分

高级会员

Rank: 4

积分
520
发表于 2016-9-1 08:36:40 | 显示全部楼层
不羁的风 发表于 2016-8-31 13:12
把您的代码贴出来看看,或许是你写少了什么?现在在外面,方便的话回去给你远程 ...

如果你方便的话 加我下QQ 772036326 极光推送这块可能需要你的帮助
回复 支持 反对

使用道具 举报

36

主题

198

帖子

890

积分

高级会员

Rank: 4

积分
890
QQ
发表于 2016-10-24 16:42:12 | 显示全部楼层
这个x只要是一个手机号,就可以推送成功吗?我没有申请极光推送的账号,用的是外卖案例的,只引用了一个插件,写了一个点击按钮的事件如下
require("cordova!cn.jpush.phonegap.JPushPlugin");
Model.prototype.sendBtnClick = function(event){
                var id = '18245391681';
                justep.Baas.sendRequest({
                        "method" : "post",
                        "url" : "/jpush/jpush",
                        "action" : "push",
                        "async" : false,
                        "params" : {registrationId : id},
                        "success" : function(data) {
                                alert(111);
                        }
                });
        };
但是报错了,执行action/push失败,控制台大概就是这样的错误:
[http-8080-7] INFO cn.jpush.api.common.connection.NativeHttpClient - Created instance with _maxRetryTimes = 3
[http-8080-7] INFO cn.jpush.api.common.connection.NativeHttpClient - Created instance with _maxRetryTimes = 3
[http-8080-7] INFO cn.jpush.api.common.connection.NativeHttpClient - Created instance with _maxRetryTimes = 3
[http-8080-7] INFO cn.jpush.api.common.connection.NativeHttpClient - Created instance with _maxRetryTimes = 3
[http-8080-7] WARN cn.jpush.api.common.connection.NativeHttpClient - Got error response - responseCode:400, responseContent:{"error":{"message":"The schedule-task is invalid, push is invalid:cannot find user by this audience","code":8100}}
[http-8080-7] ERROR cn.jpush.api.common.connection.NativeHttpClient - Your request params is invalid. Please check them according to error message.
{}
回复 支持 反对

使用道具 举报

36

主题

198

帖子

890

积分

高级会员

Rank: 4

积分
890
QQ
发表于 2016-10-24 16:54:50 | 显示全部楼层
我看了你好多有关极光推送的,但是都没有尝试成功,有完整的案例分享一下吗?
回复 支持 反对

使用道具 举报

93

主题

570

帖子

1411

积分

金牌会员

Rank: 6Rank: 6

积分
1411
QQ
 楼主| 发表于 2016-10-24 16:58:48 | 显示全部楼层
双桅船 发表于 2016-10-24 16:54
我看了你好多有关极光推送的,但是都没有尝试成功,有完整的案例分享一下吗? ...

window.plugins.jPushPlugin.setAlias(registrationId);    registrationId这个是推送的手机号,也就是哪个手机登陆App,就给这个手机号推送消息 ,这代码不能少
qq:7953899
回复 支持 反对

使用道具 举报

93

主题

570

帖子

1411

积分

金牌会员

Rank: 6Rank: 6

积分
1411
QQ
 楼主| 发表于 2016-10-24 17:02:02 | 显示全部楼层
双桅船 发表于 2016-10-24 16:54
我看了你好多有关极光推送的,但是都没有尝试成功,有完整的案例分享一下吗? ...

baas/jpush/Push.java文件中的
.setAudience(Audience.registrationId(registrationId))
改为:
.setAudience(Audience.alias(registrationId))
qq:7953899
回复 支持 反对

使用道具 举报

93

主题

570

帖子

1411

积分

金牌会员

Rank: 6Rank: 6

积分
1411
QQ
 楼主| 发表于 2016-10-24 17:03:02 | 显示全部楼层
改完之后重新编译
qq:7953899
回复 支持 反对

使用道具 举报

36

主题

198

帖子

890

积分

高级会员

Rank: 4

积分
890
QQ
发表于 2016-10-24 17:19:23 | 显示全部楼层
不羁的风 发表于 2016-10-24 16:58
window.plugins.jPushPlugin.setAlias(registrationId);    registrationId这个是推送的手机号,也就是哪 ...

谢谢回复,但我还是有很多不清楚的地方。这个代码:“window.plugins.jPushPlugin.setAlias(registrationId);”要写在哪里啊?你的意思是要有两个app,一个app发送,另一个app接收?另一个app还必须是登录状态?   它是如何知道另一个app登录与否,才发送消息的呢?
回复 支持 反对

使用道具 举报

93

主题

570

帖子

1411

积分

金牌会员

Rank: 6Rank: 6

积分
1411
QQ
 楼主| 发表于 2016-10-24 17:36:08 | 显示全部楼层
双桅船 发表于 2016-10-24 17:19
谢谢回复,但我还是有很多不清楚的地方。这个代码:“window.plugins.jPushPlugin.setAlias(registration ...

window.plugins.jPushPlugin.setAlias(registrationId);

比如说有A/B/C/D四个用户,A和C在登陆的按钮的代码里面加上这句window.plugins.jPushPlugin.setAlias(A/C的手机号);

然后你给A/C推送的时候,调用后端的方法,并将A/C手机号传进去,
  1. Baas.sendRequest({
  2.                 "method" : "post",
  3.                 "url" : "/hy/jpush",
  4.                 "action" : "push",
  5.                 "anync" : false,
  6.                 "params" : {
  7.                         registrationId : A/C手机号
  8.                 }
  9.         });
复制代码


这样A/C就能接收到推送消息了!至于登陆与否进行推送,这个是你的需求,可以根据需求改动代码
qq:7953899
回复 支持 反对

使用道具 举报

93

主题

570

帖子

1411

积分

金牌会员

Rank: 6Rank: 6

积分
1411
QQ
 楼主| 发表于 2016-10-24 17:37:57 | 显示全部楼层
双桅船 发表于 2016-10-24 17:19
谢谢回复,但我还是有很多不清楚的地方。这个代码:“window.plugins.jPushPlugin.setAlias(registration ...

给A/C推送的时候,A/C必须是在手机端登陆,但是推送的一方可以是电脑,也可以是手机
qq:7953899
回复 支持 反对

使用道具 举报

36

主题

198

帖子

890

积分

高级会员

Rank: 4

积分
890
QQ
发表于 2016-10-24 18:42:24 | 显示全部楼层
不羁的风 发表于 2016-10-24 17:36
window.plugins.jPushPlugin.setAlias(registrationId);

比如说有A/B/C/D四个用户,A和C在登陆的按钮的 ...

嗯,好的,我试试,那接收方也要引用极光推送的插件吧?
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|X3技术论坛|Justep Inc.    

GMT+8, 2024-3-29 13:40 , Processed in 0.085338 second(s), 20 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表