`
jsntghf
  • 浏览: 2548810 次
  • 性别: Icon_minigender_1
  • 来自: 苏州
社区版块
存档分类
最新评论

Urban Airship在iOS中的应用

    博客分类:
  • iOS
阅读更多

关于推送通知,除了苹果的APNS之外,我们还有很多其他的选择,Urban Airship就是其中之一。

 

Urban Airship不仅仅做普通的推送通知,他们还发明了一种Rich Push,可以推送更丰富的内容,例如html、音频、视频等。

 

在你的应用中集成Urban Airship只需简单的几个步骤即可。

 

1、启用App ID的Push Notification服务,具体步骤可参考:iOS消息推送机制的实现(步骤一、步骤三)。

 

2、打开钥匙串访问,钥匙串选择登录,种类选择我的证书,在右侧列表中找到刚安装的推送证书,右键导出,文件格式为p12,密码为空。

 

3、在Urban Airship新建2个app,一个是给dev的,一个是给prod的,分别把2个.p12文件传上去就可以了,然后会分别获得Application key以及Application secret。

 

本文只针对dev环境,prod环境步骤一样,所以目前我们只生成了一个用于dev环境的p12文件,在Urban Airship上也只创建了用于dev环境的app。

 

至此,证书这一块就算完成了,下面就到集成了。

 

1、下载Library

 

可以点此链接下载最新版的libUAirship,解压后加入项目的同级目录中。

 

2、将以下Framework加入项目中

 

libUAirship-<version>.a

libUAirshipPush-<version>.a

CFNetwork.framework

CoreGraphics.framework

Foundation.framework

MobileCoreServices.framework

Security.framework

SystemConfiguration.framework

UIKit.framework

libz.dylib

libsqlite3.dylib

CoreTelephony.framework

StoreKit.framework

CoreLocation.framework

MessageUI.framework 

AudioToolbox.framework

MapKit.framework

 

3、在项目中创建一个名为AirshipConfig的plist文件,内容如下:

 

{
        /* NOTE: DO NOT USE THE MASTER SECRET */
        "APP_STORE_OR_AD_HOC_BUILD" = NO; /* set to YES for production builds */
        "DEVELOPMENT_APP_KEY" = "Your development app key";
        "DEVELOPMENT_APP_SECRET" = "Your development app secret";
        "PRODUCTION_APP_KEY" = "Your production app key";
        "PRODUCTION_APP_SECRET" = "Your production app secret";
}

 

在Airship上创建的app,其中的Application Key即为这里的APP_KEY,Application Secret即为这里的APP_SECRET,需要注意的是,另外还有一个Application Master Secret,这并不是用在这里的APP_SECRET。 

 

4、设置Target的Build Settings

 

Header Search Paths:../Airship/**

Library Search Paths:$(inherited) "$(SRCROOT)/Airship"

 

5、在application:didFinishLaunchingWithOptions:里加入以下代码来初始化一个UAirship实例:

 

NSMutableDictionary *takeOffOptions = [[[NSMutableDictionary alloc] init] autorelease];
[takeOffOptions setValue:launchOptions forKey:UAirshipTakeOffOptionsLaunchOptionsKey];
[UAirship takeOff:takeOffOptions];

 

6、在applicationWillTerminate:里加入以下代码:

 

[UAirship land];

 

7、在application:didFinishLaunchingWithOptions:里加入以下代码来注册推送服务:

 

[[UAPush shared]
     registerForRemoteNotificationTypes:(UIRemoteNotificationTypeBadge |
                                         UIRemoteNotificationTypeSound |
                                         UIRemoteNotificationTypeAlert)];

 

8、device token注册成功的回调:

 

- (void)application:(UIApplication *)app didRegisterForRemoteNotificationsWithDeviceToken:(NSData *)deviceToken { 	
	[[UAPush shared] registerDeviceToken:deviceToken];
}

 

9、最后,别忘了导入头文件:

 

#import "UAirship.h"
#import "UAPush.h"
#import "UAAnalytics.h"

 

这时,运行你的应用,Airship上应该可以看到你的device token了,步骤如下:

 

1、点此链接登录Airship,并进入刚创建的app中

2、左侧菜单选中Push下的Device Tokens

3、右侧即显示出了你的device token

 

如果,至此你还尚未成功,请按以下步骤进行:

 

1、点此链接登录Airship,并进入刚创建的app中

2、左侧菜单选中Edit

3、右侧列表中勾上Push debug mode

 

这样报错信息即会在Error Console中显示出来。

 

Urban Airship官网:http://urbanairship.com/

分享到:
评论

相关推荐

    Android Server Push - Urban Airship

    在Android应用开发中,Server Push技术是一种常见的实时通信方式,它允许服务器主动向客户端推送消息,而无需客户端持续轮询。Urban Airship是一款流行的推送服务提供商,专为Android和iOS平台提供高效、可靠的推送...

    Urban Airship_2010_mobile_dev_survey.pdf

    - iOS开发者的比例从2010年的99.5%降至2011年的90%,这可能是因为开发者已经完成了大部分iOS应用的开发,而将注意力转向了其他平台。 - Android的开发者比例则从2010年的43.8%上升到2011年的73.8%,显示出了其作为...

    PushNotificaton:使用 Urbanairship 进行推送通知的示例应用

    2. 初始化配置:在应用的主Activity的onCreate方法中,我们使用AppKey和AppSecret初始化Urbanairship的配置。这通常在Application类中完成,以确保在整个应用生命周期内只初始化一次。 3. 注册设备令牌:当应用启动...

    iOS开发者必备:四款后端服务工具

    在iOS开发过程中,后端服务工具扮演着至关重要的角色,它们...在选择合适的后端服务工具时,开发者应根据项目需求和自身技术背景进行评估,确保工具能无缝集成到现有开发流程中,为iOS应用的开发带来显著的效率提升。

    IOS消息推送服务端开发

    在iOS应用开发中,消息推送服务是至关重要的一个部分,它允许开发者在用户不打开应用程序的情况下,向设备发送通知,从而提高用户互动性。本文将深入探讨“iOS消息推送服务端开发”,包括主流的推送方式、JavaAPNS库...

    ios-library:城市飞艇iOS SDK

    iOS 版 Airship SDK 提供了一种将 Airship 服务集成到 iOS 应用程序的简单方法。 资源 安装 所有项目和静态库都需要 Xcode 12.0+。 项目必须针对 &gt;= iOS 11。 可可豆 确保你安装了CocoaPods依赖管理器。 您可以...

    UrbanAirshipBadgeCounterAndroid

    想法是像在iOS上一样,从UA服务中增加对徽章计数器操作的支持。 它基于来支持尽可能多的启动器,但请记住,并非在每台android设备上都保证支持徽章计数器。 其他平台 这是此库的包装器。 入门 遵循有关如何添加UA ...

    python-library:一个Python库,用于使用飞艇API进行推送通知,报告和其他消息类型

    其他要求可以在requirements.txt中找到。 问题 提出问题或报告问题的最佳地点是我们的支持网站: : 用法 请参阅的以及。 简单的iOS推送 &gt;&gt;&gt; import urbanairship as ua &gt;&gt;&gt; airship = ua.Airship( ' application_...

    react-native-module:React城市飞艇的本机模块

    要求: Xcode 12+ iOS:部署目标11.0+ Android:minSdkVersion 16 +,compileSdkVersion 29+ React本机&gt; = 0.60.0 React本机cli&gt; = 2.0.1安装# using yarnyarn add urbanairship-react-native# using npmnpm install...

    AirshipCordovaPlugin:飞艇Cordova插件的测试环境

    Urban Airship Cordova插件此插件支持在iOS和Android上运行的Cordova应用程序。资源:问题有关集成或使用此插件的任何问题,请访问 。要求: 科尔多瓦&gt; = 9.0.0 cordova-ios&gt; = 5.0.1 椰壳足纲&gt; = 1.7.3iOS: Xcode ...

    大数据云推送平台解析

    大数据云推送平台是指运用大数据技术实现云服务中的一种,主要是向移动应用推送消息的云服务技术。推送技术是移动应用中一项十分重要的功能,它允许应用在不启动的情况下向用户发送信息,这一过程一般基于云端服务器...

    Android DevCamp幻灯片分享:Android消息推送实现 | 友盟 徐仙明

    2. **第三方服务提供商**:如Urban Airship、PubNub等,提供成熟的消息推送解决方案,减轻了开发者的负担。 3. **定时请求**:即轮询机制,虽然效率较低,但在某些场景下仍可作为一种备选方案。 4. **短信推送**:...

    nativescript-framework-issue-demo

    git clone git@github....在iOS上协同工作时遇到的问题的演示当同时加载两个框架以及调用Urban Airship CocoaPod时...由于引用了该框

Global site tag (gtag.js) - Google Analytics