`

ios下调用jpush的api进行推送(Rails做服务端)

 
阅读更多

 

第一步,在Gemfile里添加

gem ' jpush-api-ruby-client'

gem 'rest-client'

gem 'json'

 

第二步,下载jpush的sdk,添加到客户端的代码中,并进行配置。

在Build Settings 里搜索Search关键字,然后找到Library Search Paths,将lib文件的路径写进去。

 

第三步,APService设置

 

//设置推送类型

[APService registerForRemoteNotificationTypes:(UIRemoteNotificationTypeBadge |

                                                   UIRemoteNotificationTypeSound |

                                                   UIRemoteNotificationTypeAlert)];

//初始化APService

 

 [APService setupWithOption:launchOptions];

 

//接到非APNS推送时的回调

 

[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(networkDidReceiveMessage:) name:kAPNetworkDidReceiveMessageNotification object:nil];

 

//接到非APNS通知的时候将通知上传到jpush服务器

- (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo

{

     [APService handleRemoteNotification:userInfo];

 

}

 

//在获取设备deviceToken的回调里将devoiceToken上传到jpush服务器

- (void)application:(UIApplication *)app didRegisterForRemoteNotificationsWithDeviceToken:(NSData *)deviceToken

{

    [APService registerDeviceToken:deviceToken];

 

}

 

第四步、服务端代码的编写

 

    app_key = '3b1c94e4c........' //在你的jpush注册的app当中

    master_secret = '09520a3e9.......' //在你的jpush注册的app当中

    time_to_live = 60 * 60 * 24//存活时间

    jpush_client = JPushApiRubyClient::Client.new(app_key, master_secret, 'platform' => JPushApiRubyClient::PlatformType::IOS)//针对ios平台

 

    send_no = jpush_client.generate_send_no //生成一个通知

    msg_title = '通知'

 

    msg_content = message_content

//以别名的方式进行发送

    puts send_result = jpush_client.send_notification_with_alias(send_no,friend, msg_title, msg_content)

 

发送方式解释:

msg_content = '根据 appkey 发送广播通知'
  puts send_result = jpush_client.send_notification_with_appkey(send_no, msg_title, msg_content)
 
=begin
带上可选参数调用 opts参数可包含 builder_id 、extras 、override_msg_id
puts send_result = jpush_client.send_notification_with_appkey(send_no,
msg_title,
msg_content,
'builder_id' => 0,
'extras' => {'key1'=> 'value1','key2'=>'value2'},
'override_msg_id' => '这里输入你上一条消息的msg_id')
=end
 
  msg_content = '根据 tag 发送通知'
  puts send_result = jpush_client.send_notification_with_tag(send_no, '这里输入你的tag', msg_title, msg_content)
 
  msg_content = '根据 alias 发送通知'
  puts send_result = jpush_client.send_notification_with_alias(send_no, '这里输入你的alias', msg_title, msg_content)
 
  msg_content = '根据 imei 发送通知'
  puts send_result = jpush_client.send_notification_with_imei(send_no, '这里输入你的imei', msg_title, msg_content)
 
 
  msg_content = '根据 appkey 发送自定义消息'
  puts send_result = jpush_client.send_message_with_appkey(send_no, msg_title, msg_content)
=begin
带上可选参数调用 opts参数可包含 extras 、override_msg_id
puts send_result = jpush_client.send_message_with_appkey(send_no,
msg_title,
msg_content,
'extras' => {'key1'=> 'value1','key2'=>'value2'},
'override_msg_id' => '这里输入你上一条消息的msg_id')
=end
 
  msg_content = '根据 tag 发送自定义消息'
  puts send_result = jpush_client.send_message_with_alias(send_no, '这里输入你的tag', msg_title, msg_content)
 
  msg_content = '根据 alias 发送自定义消息'
  puts send_result = jpush_client.send_message_with_tag(send_no, '这里输入你的alias', msg_title, msg_content)
 msg_content = '根据 imei 发送自定义消息'
  puts send_result = jpush_client.send_message_with_imei(send_no, '这里输入你的imei', msg_title, msg_content)

 

 tag和alias的解释

alias下面可以有很多的tag这样我们能够批量发送通知。

 详细见

https://github.com/jpush/jpush-api-ruby-client/blob/master/example/client_example.rb

http://docs.jpush.cn/display/dev/API%3A+iOS

分享到:
评论

相关推荐

    rails-push-notifications, Rails iOS,安卓和 Windows Phone 推送通知容易实现 !.zip

    rails-push-notifications, Rails iOS,安卓和 ... Rails 推送通知 专业 iOS,Android和 Windows Phone 推送通知,用于 Rails的rubyRailsPushNotifications是一个直观易用的gem,它允许你轻松地向项目添加推送通知。

    Rails上的API:使用Rails构建REST APIAPIs on Rails: Building REST APIs with Rails

    在本篇内容中,我们将深入探讨如何利用Ruby on Rails(简称Rails)这一强大的Web应用程序框架来构建可伸缩且易于维护的RESTful API。Rails以其简洁优雅的语法、高效的开发速度以及良好的社区支持而闻名,这使得它...

    rails api(文档)

    为了开始使用Rails API,首先你需要安装Rails框架,然后创建一个特定于API的项目,使用`rails new your_api --api`命令。接着,你可以按照文档中的指导来设置路由、创建模型、编写控制器,以及添加必要的验证和授权...

    Api-api_on_rails.zip

    Api-api_on_rails.zip,学习使用rubyonrails5/6构建api的最佳实践学习使用rubyonrails5/6构建api的最佳实践。本书的目的不仅仅是教你如何用rails构建api。目的还在于教您如何用rails构建可伸缩和可维护的api,这意味...

    rails-api-4.0.0

    可以使用如Swagger或Apiary等工具生成和维护API文档,让开发者能够轻松了解如何使用API。 总结,Rails API 4.0.0为开发者提供了一个强大且灵活的框架来构建高质量的RESTful API。通过遵循RESTful设计原则,结合...

    一个Jasonette微博应用,用rails构建(服务端),.zip

    标题中的“Jasonette微博应用,用rails构建(服务端)”揭示了我们即将探讨的核心技术栈,主要包括Jasonette和Rails。Jasonette是一款基于JSON的原生移动应用框架,允许开发者用JSON来构建iOS和Android应用,极大地...

    railsAPI

    另外,使用OAuth2或JWT(JSON Web Tokens)进行身份验证也是常见的做法。 至于性能优化,Rails提供了缓存机制,包括页面缓存、片段缓存和动作缓存,以减少服务器负载。还可以利用ActionCable实现WebSocket通信,...

    ruby on rails api

    Rails API文档通常包含关于框架的所有核心组件、方法和类的详细信息,是开发者进行Rails开发的重要参考资料。 描述中的“方便查阅”意味着这个CHM文件可能是一个组织良好的Rails API参考手册,便于开发者快速查找和...

    ruby on rails 2.3.5 api html版

    Ruby on Rails 2.3.5 API HTML版是针对该版本框架的重要开发参考资料,它包含了详细的API文档,帮助开发者理解并有效地使用Rails 2.3.5进行Web应用开发。Rails是一个基于Ruby语言的开源Web应用程序框架,它遵循模型-...

    curso_tour_of_heroes_api:Ruby on Rails作为API课程-源码

    英雄之旅API Ruby on Rails 6课程作为创建Heroes CRUD的API。 该存储库是YouTube 的。 Ruby版本2.7.2 Rails版本6.1.x 数据库SQLite3(dev)/ PostgreSQL(产品)运行项目的初始设置# clone the projectgit clone ...

    rails 3.2 API

    Rails 3.2 API 是一个重要的开发资源,主要用于Ruby on Rails框架的开发。Rails是基于Ruby语言的一个开源Web应用程序框架,...在学习和使用Rails 3.2 API时,建议结合实际项目进行实践,这样能更好地理解和掌握其精髓。

    无线点餐系统的服务端,使用ruby on rails框架

    在这个特定的场景中,我们关注的是使用Ruby on Rails框架构建的服务端部分。Ruby on Rails(简称Rails)是一款基于Ruby语言的开源Web应用程序框架,遵循MVC(Model-View-Controller)架构模式,为开发人员提供了快速...

    rails 2.2.2 API

    Rails 2.2.2 API 是一个针对 Ruby on Rails 框架的版本 2.2.2 的接口文档,它是开发人员的重要参考资料,用于理解并有效地使用该框架的各项功能。Ruby on Rails(RoR)是由 David Heinemeier Hansson 创建的一个开源...

    Rails API

    这个API文档是用rdoc工具从Rails的源代码生成的,旨在帮助开发者理解和利用Rails的强大功能。CHM(Compiled HTML Help)格式使得文档能够以离线方式查看,并且支持全文搜索,使得在开发过程中快速查找和定位关键信息...

    rails-api

    个人收藏的rails api

    Api-sabisu-rails.zip

    Api-sabisu-rails.zip,用于探索rails api应用程序的简单而强大的引擎abisu,一个api可以被认为是多个软件设备之间通信的指导手册。例如,api可用于web应用程序之间的数据库通信。通过提取实现并将数据放弃到对象中,...

    好用的rails 2.0 Api 文档

    Rails 2.0 API 文档是一个非常宝贵的资源,它为开发者提供了全面的指南,以便于在使用Ruby on Rails 2.0版本时更好地理解和利用其框架功能。Ruby on Rails(简称Rails)是一个开源的Web应用框架,它遵循MVC(模型-...

    Rails3的ActiveRecord 查询API.doc

    Rails 3.1 及以后版本的 ActiveRecord 查询API发生了重大变化,主要目的是为了提供更清晰、更可维护的代码,并且提高性能。在 Rails 2.x 中,许多使用哈希参数的查询方法如 `:conditions`, `:include`, `:joins` 等...

    Api-jsonapi-rails.zip

    Api-jsonapi-rails.zip,rails gem for fast jsonapi compliant api.jsonapi-rails,一个api可以被认为是多个软件设备之间通信的指导手册。例如,api可用于web应用程序之间的数据库通信。通过提取实现并将数据放弃到...

    rails-api-base:Rails 5 RESTful API模板

    Rails Api基地 介绍 该项目的目标是: 一个讨论Rails设置和开发的api示例。 从其开始项目的基本模板。 规格摘要: RESTful API。 api版本。 Notes应用示例。 模式和良好做法。 用户管理。 版本到期。 国际...

Global site tag (gtag.js) - Google Analytics