博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
免费iOS第三方推送工具Urban Airship使用教程
阅读量:4359 次
发布时间:2019-06-07

本文共 3767 字,大约阅读时间需要 12 分钟。

 本文转载至 http://blog.csdn.net/mamong/article/details/8542404

 

 

 

Urban Airship公司是位于俄勒冈州波特兰地区的一家“推送”功能提供商。每月的推送数量达到5.2亿次,平均每分钟的信息发送量约为1.3万次。

开始教你怎么用Urban Airship快速进行推送,省去自己搭建服务器又省事的好方法。

先进入网站, 第一步,注册一个自己的帐号是必须的。关于帐号类型,对于推送量不大的应用来说,免费的足矣。(降低开发成本)

注册好了免费帐号之后要做的就是添加自己的应用了。如下图,填好各项信息。

这里需要提一下的是,1. Application Mode,分为Development和Production。分别是测试用和正式的产品。建议分别建立两个应用一个测试用,一个做正式推送。

2. 需要把下面的“Push Notifications Surpport”选项打勾才能出现页面下方的内容。
3. 再往下的“Apple push certificate”一项就是那个从证书助手里导出的p12文件,当然也分为Development和Production的,需要注意。

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

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

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

1
2
3
4
[application registerForRemoteNotificationTypes :  
     UIRemoteNotificationTypeBadge | 
     UIRemoteNotificationTypeAlert |              
     UIRemoteNotificationTypeSound ];

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

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

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
-  ( void )application : (UIApplication  * )application  
didRegisterForRemoteNotificationsWithDeviceToken : ( NSData  * )deviceToken  
{
  
    
// Convert the token to a hex string and make sure it's all caps  
     NSMutableString  *tokenString  =  [ NSMutableString stringWithString : [ [deviceToken description ] uppercaseString ] ];  
     [tokenString replaceOccurrencesOfString : @ "<" withString : @ "" options : 0 range :NSMakeRange ( 0, tokenString.length ) ];  
     [tokenString replaceOccurrencesOfString : @ ">" withString : @ "" options : 0 range :NSMakeRange ( 0, tokenString.length ) ];  
     [tokenString replaceOccurrencesOfString : @ " " withString : @ "" options : 0 range :NSMakeRange ( 0, tokenString.length ) ];  
    NSLog ( @ "Token: %@", tokenString );
    
    
// Create the NSURL for the request  
     NSString  *urlFormat  =  @ "https://go.urbanairship.com/api/device_tokens/%@";  
     NSURL  *registrationURL  =  [ NSURL URLWithString : [ NSString stringWithFormat :  
                                                   urlFormat, tokenString ] ];  
    
// Create the registration request  
     NSMutableURLRequest  *registrationRequest  =  [ [ NSMutableURLRequest alloc ]  
                                                initWithURL :registrationURL ];  
     [registrationRequest setHTTPMethod : @ "PUT" ];  
    
    
// And fire it off  
     NSURLConnection  *connection  =  [ NSURLConnection connectionWithRequest :registrationRequest  
                                                                delegate :self ];  
     [connection start ]; 
    
// TODO: Pass the token to our server  
    NSLog ( @ "We successfully registered for push notifications" );  
}  
-  ( void )connection : ( NSURLConnection  * )connection  
didReceiveAuthenticationChallenge : ( NSURLAuthenticationChallenge  * )challenge  
{
  
    
// Check for previous failures  
     if  ( [challenge previousFailureCount ] >  0 )  
     {
  
        
// We've already tried - something is wrong with our credentials  
        NSLog ( @ "Urban Airship credentials invalid" );  
         return;  
     }  
    
    
// Send our Urban Airship credentials  
     NSURLCredential  *airshipCredentials  =   [ NSURLCredential credentialWithUser : @ "这里需要填写Application Key"  
                                                                     password : @ "这里填Application Secret"  
                                                                  persistence :NSURLCredentialPersistenceNone ];  
     [ [challenge sender ] useCredential :airshipCredentials  
           forAuthenticationChallenge :challenge ];  
}

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

之后就可以运行编译软件了。成功的话会在output窗口显示We successfully registered for push notifications和Device token。

现在再回到Urban Airship的页面。刷新一下,看看Details页面中的Device tokens一项是不是变成了1.如果是的话,表示你的手机已经成功在服务器上注册了。
点击页面左边工具栏中的PUSH项,试试发送一条推送信息

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

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

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

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

感谢Let the right one in的分享!

转载于:https://www.cnblogs.com/Camier-myNiuer/p/3455876.html

你可能感兴趣的文章
Python爬虫入门教程 26-100 知乎文章图片爬取器之二
查看>>
面试题39 二叉树的深度
查看>>
Linq update
查看>>
CSRF
查看>>
【计算机网络】OSI模型,TCPIP模型
查看>>
Token 认证的来龙去脉
查看>>
Oracle——视图
查看>>
No input file specified
查看>>
获取字符串中出现次数最多的字符
查看>>
Selenium3自动化问题一:selenium3在火狐浏览器执行driver.quit()报错2052解决方案
查看>>
hdoj1754 线段树--单点更新
查看>>
算法题之一(数字二进制形式中1的个数)
查看>>
python学习--去除空格
查看>>
3D渲染管线的概述
查看>>
数据挖掘看问题不能太局部,还要更全面一些
查看>>
HDU 3395 Special Fish
查看>>
Arduino 数字函数总结
查看>>
开店选址需经过的五道坎
查看>>
P1020 导弹拦截
查看>>
C# 对文本文件的几种读写方法总结
查看>>