关于推送通知,除了苹果的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和iOS平台提供高效、可靠的推送...
- iOS开发者的比例从2010年的99.5%降至2011年的90%,这可能是因为开发者已经完成了大部分iOS应用的开发,而将注意力转向了其他平台。 - Android的开发者比例则从2010年的43.8%上升到2011年的73.8%,显示出了其作为...
2. 初始化配置:在应用的主Activity的onCreate方法中,我们使用AppKey和AppSecret初始化Urbanairship的配置。这通常在Application类中完成,以确保在整个应用生命周期内只初始化一次。 3. 注册设备令牌:当应用启动...
在iOS开发过程中,后端服务工具扮演着至关重要的角色,它们...在选择合适的后端服务工具时,开发者应根据项目需求和自身技术背景进行评估,确保工具能无缝集成到现有开发流程中,为iOS应用的开发带来显著的效率提升。
在iOS应用开发中,消息推送服务是至关重要的一个部分,它允许开发者在用户不打开应用程序的情况下,向设备发送通知,从而提高用户互动性。本文将深入探讨“iOS消息推送服务端开发”,包括主流的推送方式、JavaAPNS库...
iOS 版 Airship SDK 提供了一种将 Airship 服务集成到 iOS 应用程序的简单方法。 资源 安装 所有项目和静态库都需要 Xcode 12.0+。 项目必须针对 >= iOS 11。 可可豆 确保你安装了CocoaPods依赖管理器。 您可以...
想法是像在iOS上一样,从UA服务中增加对徽章计数器操作的支持。 它基于来支持尽可能多的启动器,但请记住,并非在每台android设备上都保证支持徽章计数器。 其他平台 这是此库的包装器。 入门 遵循有关如何添加UA ...
其他要求可以在requirements.txt中找到。 问题 提出问题或报告问题的最佳地点是我们的支持网站: : 用法 请参阅的以及。 简单的iOS推送 >>> import urbanairship as ua >>> airship = ua.Airship( ' application_...
要求: Xcode 12+ iOS:部署目标11.0+ Android:minSdkVersion 16 +,compileSdkVersion 29+ React本机> = 0.60.0 React本机cli> = 2.0.1安装# using yarnyarn add urbanairship-react-native# using npmnpm install...
Urban Airship Cordova插件此插件支持在iOS和Android上运行的Cordova应用程序。资源:问题有关集成或使用此插件的任何问题,请访问 。要求: 科尔多瓦> = 9.0.0 cordova-ios> = 5.0.1 椰壳足纲> = 1.7.3iOS: Xcode ...
大数据云推送平台是指运用大数据技术实现云服务中的一种,主要是向移动应用推送消息的云服务技术。推送技术是移动应用中一项十分重要的功能,它允许应用在不启动的情况下向用户发送信息,这一过程一般基于云端服务器...
2. **第三方服务提供商**:如Urban Airship、PubNub等,提供成熟的消息推送解决方案,减轻了开发者的负担。 3. **定时请求**:即轮询机制,虽然效率较低,但在某些场景下仍可作为一种备选方案。 4. **短信推送**:...
git clone git@github....在iOS上协同工作时遇到的问题的演示当同时加载两个框架以及调用Urban Airship CocoaPod时...由于引用了该框