`
rensanning
  • 浏览: 3572210 次
  • 性别: Icon_minigender_1
  • 来自: 大连
博客专栏
Efef1dba-f7dd-3931-8a61-8e1c76c3e39f
使用Titanium Mo...
浏览量:38647
Bbab2146-6e1d-3c50-acd6-c8bae29e307d
Cordova 3.x入门...
浏览量:609273
C08766e7-8a33-3f9b-9155-654af05c3484
常用Java开源Libra...
浏览量:684824
77063fb3-0ee7-3bfa-9c72-2a0234ebf83e
搭建 CentOS 6 服...
浏览量:90700
E40e5e76-1f3b-398e-b6a6-dc9cfbb38156
Spring Boot 入...
浏览量:403398
Abe39461-b089-344f-99fa-cdfbddea0e18
基于Spring Secu...
浏览量:70023
66a41a70-fdf0-3dc9-aa31-19b7e8b24672
MQTT入门
浏览量:92442
社区版块
存档分类
最新评论

在Titanium应用中导入Push通知(iOS篇)

阅读更多
让你的Titanium应用也能实现Push的功能吧。



1)申请证书(.p12文件)  http://developer.apple.com/devcenter/ios/index.action

Log into Apple's provisioning portal and create a new appid. Take note of your bundle identifier or appid, use the same one form the last step


When you create your application, you need to configure it and enable push notifications. In your application list, click configure for the app you just created.



Now check the box to enable the notification service and click the configure box next to "Development Push SSL Certificate". Note that usually you setup 2 different certificates - one for development and one for production. This maps directly to your development provisioning profile and distribution provisioning profile.



This will prompt us for a certificate



On your machine, open up your keychain and then click "Request a Certificate from a Certificate Authority..."



Put in your email address and common name and make sure that you check "Saved to disk"



Now in your browser, select the certificate request we just generated and submit the request. Once its been uploaded, you will see a status of pending, just refresh until the download button appears.



Click the download button for the certificate and once downloaded to your local machine, open it. This will bring up your keychain app with the certificate listed.



Right click the certificate and click "Export Apple Development Push Services: xxxx"



When you export, p12 format will work just fine (the default)



You will be prompted for a passphrase for the p12 file, you should definitely put something in here (urban airship requires this). Make sure that you take note of the passphrase as we'll need that later



2)将证书放在服务器端的任意文件夹下

3)java版服务器为例,需要的Lib:
  apns-0.1.5-jar-with-dependencies.jar
  slf4j-simple-1.6.1.jar

代码如下
==================================

【服务器端】

ApnsService service = APNS.newService()
  .withCert(CER_PATH, CER_PASS)// CER_PATH是放证书的路劲 CER_PASS是证书的密码
  .withSandboxDestination()// 调试模式
  //.withProductionDestination() // 产品模式(调试和产品模式只能使用一种)
  .build();

String payload = APNS
  .newPayload()
  .sound("default") // 收到Push信息的声音
  .badge(1)        // 桌面图标上表示的数字
  .alertBody("A: This is a message") // 消息 最大 256bytes(包含自定义变量)
  .customField("accountId", "1")      // 自定义变量 (可以任意多个)
  .build();

// device_token is 64 bytes hex letter.
// device_token indicates a unique user.
service.push(<<device_token>>, payload);  // Push Notification。(没有返回值,只能扑捉NetworkIOException来判断异常)


PHP的话可以参考apns-php

【客户端】
Ti.Network.registerForPushNotifications({
    types: [
      Ti.Network.NOTIFICATION_TYPE_BADGE,
      Ti.Network.NOTIFICATION_TYPE_ALERT,
      Ti.Network.NOTIFICATION_TYPE_SOUND
    ],
    success:function(e) {
      Ti.API.debug("Push Notification success: " + JSON.stringify(e));
      var deviceToken = e.deviceToken;
      Ti.API.debug('successfully registered for apple device token with '+ deviceToken);
      Ti.App.Properties.setString(KEY_DEVICE_TOKEN, deviceToken);
    },
    error:function(e) {
      Ti.API.warn("push notifications disabled: "+ JSON.stringify(e));
    },
    callback:function(e) {
      // 处理接收到的消息
      processNotification(e);
    }
});  

这里有一篇文章是介绍iPhone Push的。iPhone的Push(推送通知)功能原理浅析

关于Android版的Push机能
=============================================

在Android 2.2版本FroYo之前, Google的Push机制直接就是利用XMPP协议的extension,也就是在<message>元素下加入自定义的子元素, 但自从FroYo, Android引入了一个新的框架C2DM(Cloud to Device Messaging), 而Google的Pushing 机制变成使用C2DM框架.
相关的介绍:通过代码及流程图说明Google在Android上的Push机制的实现
  • 大小: 16.6 KB
  • 大小: 66.9 KB
  • 大小: 15.3 KB
  • 大小: 34.2 KB
  • 大小: 111.7 KB
  • 大小: 137.8 KB
  • 大小: 69.5 KB
  • 大小: 27.4 KB
  • 大小: 43.5 KB
  • 大小: 129.6 KB
  • 大小: 65.8 KB
  • 大小: 19.6 KB
  • 大小: 129.6 KB
0
0
分享到:
评论
1 楼 wang_godsun 2012-08-01  
Titanium  是否支持 android的push 功能,或者自己实现。

相关推荐

    vtsirkinidis.TiNav:Appcelerator Titanium的基本导航小部件

    1. **堆栈式导航**:TiNav基于堆栈模型,这与iOS中的UINavigationController和Android的FragmentManager相似。它支持将新的视图控制器压入堆栈,以及弹出当前视图控制器返回上一级。 2. **自定义过渡动画**:TiNav...

    外加热强制循环蒸发器装配图(CAD).rar

    外加热强制循环蒸发器装配图(CAD).rar

    数控车床纵向进给系统设计.zip

    数控车床纵向进给系统设计.zip

    vault_side_off_ominous.png

    j

    爬虫 bangumi名称和评论数

    爬虫 bangumi名称和评论数

    基于SpringBoot的垃圾分类回收系统(源码+数据库+万字文档)526

    基于SpringBoot的垃圾分类回收系统,系统包含两种角色:管理员、用户主要功能如下。 【用户功能】 首页:浏览垃圾分类回收系统信息。 个人中心:管理个人信息,查看历史记录和订单状态。 运输管理:查看运输信息,垃圾回收的时间和地点。 公告管理:阅读系统发布的相关通知和公告。 垃圾回收管理:查看垃圾回收的信息,回收类型和进度。 垃圾出库申请管理:提交和查看垃圾出库申请的状态。 【管理员功能】 首页:查看垃圾分类回收系统。 个人中心:管理个人信息。 管理员管理:审核和管理注册管理员用户的信息。 用户管理:审核和管理注册用户的信息。 运输管理:监管和管理系统中的运输信息。 公告管理:发布、编辑和删除系统的通知和公告。 垃圾回收管理:监管和管理垃圾回收的信息。 垃圾出库申请管理:审批和管理用户提交的垃圾出库申请。 基础数据管理:管理系统的基础数据,运输类型、公告类型和垃圾回收类型。 二、项目技术 编程语言:Java 数据库:MySQL 项目管理工具:Maven 前端技术:Vue 后端技术:SpringBoot 三、运行环境 操作系统:Windows、macOS都可以 JDK版本:JDK1.8以上都可以 开发工具:IDEA、Ecplise、Myecplise都可以 数据库: MySQL5.7以上都可以 Maven:任意版本都可以

    这篇文章是台湾大学(NTU)计算机科学与信息工程系(CSIE)2021年秋季学期算法设计与分析课程的第一份作业(Homework#1)的具体要求和题目描述 以下是主要内容的总结:

    内容概要:本文档是台湾大学计算机科学与信息工程系2021年秋季学期《算法设计与分析》课程的第一次作业(Homework#1)。作业包含四道编程题和三道手写题,旨在考察学生对算法设计和分析的理解与应用能力。编程题涉及汉诺塔、数组计算、矩形点对、糖果分配等问题;手写题涵盖渐近符号证明、递归方程求解、幽灵腿游戏优化、不公平的卢卡斯问题等。文档详细描述了每个问题的具体要求、输入输出格式、测试用例以及评分标准。此外,还提供了编程技巧和注意事项,如避免延迟提交、正确引用资料、处理大输入文件等。 适合人群:具备一定编程基础的本科生或研究生,特别是修读过或正在修读算法设计与分析相关课程的学生。 使用场景及目标:①帮助学生巩固课堂所学的算法理论知识;②通过实际编程练习提高解决复杂问题的能力;③为后续更深入的学习和研究打下坚实的基础。 其他说明:此作业强调团队合作和个人独立思考相结合的重要性,鼓励学生在讨论后用自己的语言表达解决方案,并注明参考资料。对于编程题,特别提醒学生注意输入文件可能较大,建议采取适当的优化措施以确保程序运行效率。

    基于SpringBoot的铁路订票管理系统(源码+数据库+万字文档+ppt)528

    基于SpringBoot的铁路订票管理系统,系统包含两种角色:管理员、用户主要功能如下。 【用户功能】 首页:浏览铁路订票管理系统的主要信息。 火车信息:查看火车的相关信息,包括车次、出发地、目的地和票价等。 公告资讯:阅读系统发布的相关通知和资讯。 后台管理:进行系统首页、个人中心、车票预订管理、车票退票管理等操作。 个人中心:管理个人信息,查看订单历史记录等。 【管理员功能】 首页:查看铁路订票管理系统。 个人中心:修改密码、管理个人信息。 用户管理:审核和管理注册用户的信息。 火车类型管理:管理系统中的火车类型信息。 火车信息管理:监管和管理系统中的火车信息,添加、编辑、删除等。 车票预订管理:处理用户的车票预订请求。 车票退票管理:处理用户的车票退票请求。 系统管理:管理系统的基本设置,公告资讯、关于我们、系统简介和轮播图管理。 二、项目技术 编程语言:Java 数据库:MySQL 项目管理工具:Maven 前端技术:Vue 后端技术:SpringBoot 三、运行环境 操作系统:Windows、macOS都可以 JDK版本:JDK1.8以上都可以 开发工具:IDEA、Ecplise、Myecplise都可以 数据库: MySQL5.7以上都可以 Maven:任意版本都可以

    塑料架注射模具设计.rar

    塑料架注射模具设计.rar

    基于json文件数据驱动的的接口测试框架.zip

    基于json文件数据驱动的的接口测试框架

    铁丝缠绕包装机设计-缠绕盘设计.rar

    铁丝缠绕包装机设计-缠绕盘设计.rar

    Linux操作系统及常用命令详解.zip

    linux

    圆柱体相贯线焊接专机工作台设计.rar

    圆柱体相贯线焊接专机工作台设计.rar

    硬币分拣机设计.rar

    硬币分拣机设计.rar

    【机器学习与数据挖掘】行业级机器学习软件开发经验与教训:从LIBSVM和LIBLINEAR看算法部署及软件设计挑战

    内容概要:本文探讨了开发行业级机器学习和数据挖掘软件的经验与教训,指出当前研究界与工业界之间的脱节问题。作者分享了开发LIBSVM和LIBLINEAR的经验,强调了用户需求的重要性。大多数用户并非机器学习专家,期望简单易用的工具来获得良好结果。文章还详细介绍了支持向量机(SVM)的实际应用案例,包括数据预处理(如特征缩放)、参数选择等步骤,并提出了为初学者设计的简易流程。此外,作者讨论了在设计机器学习软件时应考虑的功能选择、选项数量、性能优化与数值稳定性等问题,强调了软件开发与实验代码的区别以及鼓励研究人员参与高质量软件开发的重要性。 适合人群:对机器学习软件开发感兴趣的科研人员、工程师及从业者,尤其是那些希望了解如何将学术研究成果转化为实际可用工具的人士。 使用场景及目标:①帮助非机器学习专家的用户更好地理解和使用机器学习方法;②指导开发者在设计机器学习软件时考虑用户需求、功能选择、性能优化等方面的问题;③促进学术界与工业界之间的合作,推动高质量机器学习软件的发展。 其他说明:本文不仅提供了具体的开发经验和技巧,还呼吁建立激励机制,鼓励更多研究人员投入到机器学习软件的开发中,以解决当前存在的研究与应用脱节的问题。

    pandas学习代码,jypyter格式

    一天入门pandas代码

    joblib-0.12.0-py2.py3-none-any.whl

    该资源为joblib-0.12.0-py2.py3-none-any.whl,欢迎下载使用哦!

    深度学习基于PyTorch==2.6.0和Transformers==4.48.0的XTuner环境配置:AI模型开发与优化依赖库列表

    内容概要:本文档《xtuner_requirements.txt》列出了用于支持特定项目(可能是机器学习或深度学习项目)运行所需的所有Python包及其版本。其中不仅包括常见的数据处理和科学计算库如numpy、pandas,还包括了与深度学习密切相关的库如torch、transformers等。值得注意的是,文档中还特别指定了NVIDIA CUDA相关组件的具体版本,确保了GPU加速环境的一致性和兼容性。此外,文档中也包含了从GitHub直接安装的xtuner库,明确了具体的提交哈希值,保证了代码来源的精确性。 适合人群:对机器学习、深度学习领域有一定了解并需要搭建相应开发环境的研发人员,尤其是那些希望复现特定实验结果或基于已有模型进行二次开发的研究者和技术爱好者。 使用场景及目标:①帮助开发者快速搭建完整的开发环境,确保所有依赖项正确无误;②为研究人员提供一个稳定的实验平台,以便于重复实验和验证结果;③作为项目协作的基础,确保团队成员之间的环境一致性,减少因环境差异带来的问题。 阅读建议:由于该文档主要为技术性依赖列表,在阅读时应重点关注所需安装的库及其版本号,特别是CUDA相关组件和自定义库(如xtuner)的安装方式。对于非技术人员而言,可能需要额外查阅相关资料来理解各库的作用。同时,在实际操作过程中,建议按照文档中的顺序逐一安装依赖,避免版本冲突等问题的发生。

    vault_side_on_ominous.png

    j

    液氮带控制点工艺流程图.rar

    液氮带控制点工艺流程图.rar

Global site tag (gtag.js) - Google Analytics