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

在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 功能,或者自己实现。

相关推荐

    Titanium中支持IOS设备的拖拽

    在iOS开发中,Titanium是一个流行的跨平台框架,它允许开发者使用JavaScript编写代码,同时能够构建原生的iOS和Android应用程序。"Titanium中支持iOS设备的拖拽"这一主题聚焦于如何在Titanium框架下实现iOS应用的...

    NappAppearance, 在 Titanium UI组件上,使用 iOS UIAppearance的功能.zip

    NappAppearance, 在 Titanium UI组件上,使用 iOS UIAppearance的功能 Napp外观描述Napp外观模块使用全局样式功能扩展了 Appcelerator Titanium Mobile 框架。 Napp外观在 Titanium 用户界面组件上使用 iOS ...

    通过Titanium将Metro UI移植到iOS/Android的“ TiMetro”

    移植 Metro UI 至 iOS 和 Android 平台可以帮助应用保持一致的用户体验,特别是在企业环境中,使用多平台设备的用户较多。 TiMetro项目的核心工作就是封装和实现了与Titanium兼容的组件,这些组件能够模仿 Metro UI...

    appc-sample-ios-push-notifications:在Titanium中使用iOS Notifications API(本地,远程,静默和丰富),包括基于Swift的通知扩展!

    Titanium iOS通知 在Titanium中使用iOS Notifications API(本地,远程,静默和丰富),包括基于Swift的通知扩展!要求7.3.0或更高版本(在GA之前使用appc ti sdk install -b 7_3_X特征 本地通知 远程推送通知 静默...

    ActivityIndicator_Titanium-JS:可在iOS和Android上用于Titanium应用程序的活动指示器

    ActivityIndi​​cator_Titanium-JS 可在iOS和Android上用于Titanium应用程序的活动指示器用法如何为Titanium应用程序使用ANActivityIndi​​cator。 该示例假定您将文件导入到根文件夹中。 var ANActivityIndicator...

    titanium-googlemaps:Titan在Titanium Mobile上使用Google Maps iOS-SDK

    Appcelerator Titanium中的本机GoogleMaps iOS SDK 概括 Ti.GoogleMaps是一个开源项目,旨在支持Appcelerator的Titanium Mobile中的Google Maps iOS-SDK。 该模块当前支持以下API: 地图检视 注解 瓷砖覆盖 ...

    titanium_module_alipay_ios:支付宝的titanium module for ios

    titanium_module_alipay_ios 支付宝的titanium module for ios 作者刘明星 本模块实现了支付宝手机支付sdk的封装,避免了wap支付接口每次支付还需要输入支付宝账号的麻烦。用本地sdk支付仅需要输入6位数字密码即可,...

    TITANIUM智能手机应用开发教程

    ### TITANIUM智能手机应用开发教程知识点概览 #### 一、TITANIUM系统简介与特点 **TITANIUM系统**是一种基于云的移动应用程序开发平台,它支持跨平台开发,允许开发者使用JavaScript来编写原生移动应用程序。...

    Titanium使用JavaScript来开发原生iOSAndroid和Windows应用

    Titanium是一个开源的移动开发框架,它允许开发者使用JavaScript语言来构建原生的iOS、Android以及Windows应用程序。这个框架的核心理念是提供一个跨平台的解决方案,让开发者可以用一种语言编写代码,然后在多个...

    titanium 打开本地网络

    在涉及到“titanium 打开本地网络”的话题时,我们主要关注的是如何在Titanium应用程序中检测和管理本地网络状态。 一、Titanium的网络检测 在Titanium中,可以使用`Ti.Network`模块来检查设备的网络状态。这个...

    TitaniumMobile开发跨平台iOS和Android应用

    ### 关于Titanium Mobile开发跨平台iOS和Android应用 #### 我们的主角-Titanium Mobile Titanium Mobile是一种跨平台的移动应用开发框架,它允许开发者使用JavaScript、HTML和CSS来构建高性能的原生应用程序。该...

    TiInspector, 通过 Chrome DevTools调试 Titanium Mobile 应用程序.zip

    TiInspector, 通过 Chrome DevTools调试 Titanium Mobile 应用程序 #Ti 检查器Ti检查器允许在 Chrome DevTools web界面中调试 Appcelerator Titanium 应用程序。工具通过将命令和消息转换为 Chrome 调试协议和 ...

    Titanium plugin开发初探

    在移动应用开发领域,Titanium 是一个流行的选择,它允许开发者使用 JavaScript 来构建原生的 iOS 和 Android 应用。Titanium 的核心理念是通过跨平台的 JavaScript API 提供与原生功能的无缝对接,而插件开发则是这...

    [Titanium] Appcelerator Titanium 移动应用开发教程 (英文版)

    [Packt Publishing] Appcelerator Titanium 移动应用开发教程 (英文版) [Packt Publishing] Creating Mobile Apps with Appcelerator Titanium (E-Book) ☆ 图书概要:☆ Develop fully-featured mobile ...

    Titanium资料

    UIView 是 iOS 平台上视图的基础类,它在 Titanium 中被用来创建和管理用户界面元素。通过这个文档,你可以了解到如何创建、布局和交互各种 UI 元素,如按钮、文本框、图片视图等,以及如何添加事件监听器来响应用户...

    titanium-webserver:为 Titanium iOS 应用程序嵌入 HTTP 服务器模块

    这是一个适用于 iOS (iPhone/iPad) 的 Titanium Mobile 模块,它允许在您的应用程序中内置一个 HTTP 网络服务器。 基本安装说明 请遵循提供的指南。 变更日志 见。 访问保管箱模块 要从 JavaScript 访问此模块,您...

    Titanium中文版开发手册

    Titanium是一个开源的JavaScript平台,允许开发者使用JavaScript、HTML和CSS来构建原生的iOS、Android和Windows应用。这份翻译版的手册覆盖了Alloy框架的多个核心概念,为开发者提供了一个全面的参考。 1. **Alloy...

    Titanium Mobile SDK 3.1.0 Apidoc 离线版

    Titanium Mobile SDK 3.1.0 是一个用于构建原生移动应用的开发工具,尤其针对iOS和Android平台。这个版本的Apidoc是开发者的重要参考资料,它包含了完整的API文档,帮助开发者理解并使用Titanium框架的各种功能。...

    cuacfm-ios-appcelerator-iphone:适用于iOS的CUAC FM应用程序,使用Titanium Appcelerator在javascript中制作

    2. 创建项目:在Titanium环境中,创建一个新的iOS项目,命名为"cuacfm-ios-appcelerator-iphone",并设置项目的基本属性,如图标、启动画面等。 3. UI设计:利用Titanium的XML布局语言(TSS和XML)设计应用界面,...

Global site tag (gtag.js) - Google Analytics