ios推送消息

转载 2012年03月26日 10:00:00
前段时间在忙着给1.0版的应用升级,主要涉及到推送。为了这个可折腾死我了,查了一堆资料,准备自己搭建服务器,但一个偶然的机会,找到了一个省事的好方法——UrbanAirship。

UrbanAirship公司是位于俄勒冈州波特兰地区的一家“推送”功能提供商。每月的推送数量达到5.2亿次,平均每分钟的信息发送量约为1.3万次。啧啧,这让某朝那个12306情何以堪呀。

好了,言归正传,开始教你怎么用UrbanAirship快速进行推送。
先进入网站,https://www.urbanairship.com/第一步,注册一个自己的帐号是必须的。关于帐号类型,对于推送量不大的应用来说,免费的足矣。
注册好了免费帐号之后要做的就是添加自己的应用了。如图,填好各项信息,关于IOS推送
这里需要提一下的是,1. ApplicationMode,分为Development和Production。分别是测试用和正式的产品。建议分别建立两个应用一个测试用,一个做正式推送。
2. 需要把下面的“Push Notifications Surpport”选项打勾才能出现页面下方的内容。
3. 再往下的“Apple pushcertificate”一项就是那个从证书助手里导出的p12文件,当然也分为Development和Production的,需要注意。

这里还可以为BlackBerry和Android系统的应用添加推送,具体就不细说了。在一切信息填写OK之后点击页面最下方的【createyour application】按钮,完成应用的添加。

下面需要在你的应用里加入一些代码,来让IOS设备在打开应用的时候发送自己的device token到UrbanAirship的服务器中,告诉他们可以向你的手机发送推送信息。

打开你的APP工程文件,找到XXXAppDelegate.m文件,在-(BOOL)application:(UIApplication*)applicationdidFinishLaunchingWithOptions:(NSDictionary*)launchOptions方法中添加如下代码:

    [applicationregisterForRemoteNotificationTypes

    UIRemoteNotificationTypeBadge

    UIRemoteNotificationTypeAlert          

   UIRemoteNotificationTypeSound];

这段代码会在用户第一次安装应用的时候告知用户是否要接受推送。

之后再在这个文件中加入如下代码:

 

-(void)application:(UIApplication*)application  

didRegisterForRemoteNotificationsWithDeviceToken:(NSData*)deviceToken  

{  

    // Convertthe token to a hex string and make sure it's all caps 

   NSMutableString *tokenString = [NSMutableStringstringWithString:[[deviceTokendescription] uppercaseString]]; 

    [tokenStringreplaceOccurrencesOfString:@"<"withString:@""options:0range:NSMakeRange(0,tokenString.length)];  

    [tokenStringreplaceOccurrencesOfString:@">"withString:@""options:0range:NSMakeRange(0,tokenString.length)];  

    [tokenStringreplaceOccurrencesOfString:@" "withString:@""options:0range:NSMakeRange(0,tokenString.length)];  

   NSLog(@"Token: %@", tokenString);

    

    // Create theNSURL for the request  

   NSString *urlFormat =@"https://go.urbanairship.com/api/device_tokens/%@"

    NSURL*registrationURL = [NSURLURLWithString:[NSString stringWithFormat

                                           urlFormat, tokenString]]; 

    // Create theregistration request  

   NSMutableURLRequest *registrationRequest =[[NSMutableURLRequest alloc

                                        initWithURL:registrationURL];  

    [registrationRequestsetHTTPMethod:@"PUT"]; 

    

    // And fireit off  

   NSURLConnection *connection = [NSURLConnectionconnectionWithRequest:registrationRequest 

                                                     delegate:self];  

    [connectionstart]; 

    // TODO: Passthe token to our server  

   NSLog(@"We successfully registered forpush notifications");  

}  


- (void)connection:(NSURLConnection*)connection  

didReceiveAuthenticationChallenge:(NSURLAuthenticationChallenge*)challenge  

{  

    // Check forprevious failures  

    if([challenge previousFailureCount] >0)  

    {  

       // We've already tried - something iswrong with our credentials  

       NSLog(@"UrbanAirship credentials invalid");  

       return;  

    }  

    

    // Send ourUrban Airship credentials  

   NSURLCredential *airshipCredentials=  [NSURLCredential credentialWithUser:@"这里需要填写ApplicationKey"  

                                                         password:@"这里填ApplicationSecret"  

                                                       persistence:NSURLCredentialPersistenceNone]; 

    [[challengesender] useCredential:airshipCredentials 

         forAuthenticationChallenge:challenge]; 

}  

最后这段代码中所需的ApplicationKey和ApplicationSecret会在你刚才创建的Urban Airship网站的应用Detail页面找到,如图:

关于IOS推送
之后就可以运行编译软件了。成功的话会在output窗口显示We successfully registered for pushnotifications和Device token。

现在再回到Urban Airship的页面。刷新一下,看看Details页面中的Devicetokens一项是不是变成了1.如果是的话,表示你的手机已经成功在服务器上注册了。

点击页面左边工具栏中的PUSH项,试试发送一条推送信息

关于IOS推送

Test Push Notifications的意思是通过指定的Device token推送信息,如图:关于IOS推送

点击Send it!成功了有木有!

关于IOS推送

其它功能都很直观,自己研究下吧。

最后有一点,就是在进行production推送的时候需要输入信用卡号,不用紧张,只要每月推送量小于一百万条的时候是不会扣费的,呵呵。

相关文章推荐

ios推送消息java实现

  • 2013-12-31 16:18
  • 1.64MB
  • 下载

iOS 如何让APP 删除后不接受 APNS 推送消息

首先简单说下iOS APNS:      Apple 使用公共密钥数字证书对来自 iOS应用程序的推送请求进行身份验证,所以您首先需要创建身份验证密钥,并向 Apple注册它们。我将在下一节中花...

IOS 基于APNS消息推送原理与实现

转自网络

IOS远程消息推送详解

  • 2014-05-16 08:26
  • 987KB
  • 下载

Cocos2d-X 学习笔记 13 cocos2dx ios 消息推送

前言 使用推送消息,可提醒用户,召回玩家。延长游戏的寿命和收益!下面我们就一起来学习,cocos2d-x iOS集成push。   收到push消息:      ...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)