iOS-AWS亞馬遜推送SNS

前言

最近在做一個項目讶凉,客戶要求一定要用國外的亞馬遜推送(Amazon Simple Notification Service)。。身害。本來感覺推送就比較簡單的,應(yīng)該都是大同小異的流程草戈,然而塌鸯。。唐片。還是太年輕丙猬,想得太簡單,折騰了很久费韭。最初是認(rèn)認(rèn)真真在看亞馬遜文檔茧球,然而文檔是中英文混雜,一半的都是靠想象星持,后來就想上網(wǎng)搜搜看看有沒有什么前輩積累的經(jīng)驗的抢埋,結(jié)果并沒有搜到什么有用的信息,所以只有還是打開文檔接著繼續(xù)看督暂,文檔寫的其實挺清晰簡單的揪垄,但是過程中還是遇到了一些些奇怪的問題。

為了以后能有個參考逻翁,也為了大家有個參考決定在這里簡單記錄一下下饥努。(其實之前并沒有寫這些的習(xí)慣。卢未。肪凛。)考驗?zāi)托牡臅r候到了??

前提條件

你得有個亞馬遜賬號。辽社。

步驟

1.在正式開始之前可以先看看開發(fā)文檔伟墙,這是支持中文的,大概了解一下滴铅。把文檔中的snsmobilepush.zip文件下載下來戳葵,里面有很多平臺的demo,在前端的代碼書寫可以參照demo.

2.和之前提到的極光推送類似汉匙,首先我們需要創(chuàng)建應(yīng)用

? ? 向AWS注冊您的移動應(yīng)用拱烁,左邊欄有個topics和 Applications 生蚁,前者是針對主題推送,就是推送給所有用戶的消息戏自,前提是你需要提前訂閱某個主題邦投,這個我們暫時沒有涉及到先忽略;后者是最熟悉的關(guān)于APP的擅笔。點擊Create platform application進行應(yīng)用的創(chuàng)建志衣,填寫好應(yīng)用名稱,在選擇Push notification platform 之后就是下面的界面:

劃重點


這里沒有我們熟悉的build ID的輸入猛们,最開始很奇怪不用輸入build id它是怎么匹配的念脯。。不過后來想想我們配置的證書里面包含了build ID弯淘。绿店。。

首先Push certificate type ?這里我們只能選擇 第一個庐橙,其他的不符合需求;

然后是Choose P12 file 假勿,點擊后選擇從鑰匙串中導(dǎo)出的p12文件就可以了,然后輸入之前設(shè)定的密碼怕午;

不過后面還有Certificate ?和 ?PrivateKey ?兩項废登,這是什么鬼?郁惜?好像要把這兩項填寫完才能點擊右下方的Create 按鈕堡距。。兆蕉。想想很奇怪羽戒,這里是方框,應(yīng)該是輸入的一些東西虎韵,不是上傳的文件類型易稠。都知道p12文件是對之前的證書的包裝,里面本來就包含了證書和私鑰的信息包蓝,并且注意到了輸入密碼的旁邊還有個按鈕是 Load credentials from file,應(yīng)該是點擊這里會自動填充下面兩行的信息驶社。如果點擊這里之后很幸運的加載出來下面兩項就可以直接跳到第3步了,但是我并不幸運测萎,我很激動的點擊了這個按鈕亡电,,硅瞧,份乒,頁面提示這樣??

下載錯誤?重點是就提示了Error ?,并沒有提示到底是錯在哪里!好吧或辖,只有自己去找瘾英。。颂暇。我想可能是自己創(chuàng)建的證書有問題缺谴,就重新去配置了一次然后繼續(xù)以上步驟。忐忑的點擊Load 按鈕后還是一樣的錯誤提示蟀架,重復(fù)了好幾次都是一樣的結(jié)果瓣赂,我??...........

為了試驗,我隨便找了一個之前項目沒有問題的發(fā)布證書的p12文件片拍,再次添加進去,點擊Load后果然加載出來了后面的Certificate 和Private key<酥捌省!但是并不是件高興的事,因為這個證書并不是這個項目的碉钠!好吧纲缓,這就是我遇到的最奇怪的事,在最開始就遇到了瓶頸喊废。

算了祝高,還是再看看有沒有關(guān)于這里的文檔說明,于是我點擊了頁面上的Learn more污筷。

認(rèn)真地看完之后就是??這個表情工闺。大概意思就是上傳p12文件就自動轉(zhuǎn)換了,說明之前的步驟沒有錯瓣蛀,不過還是耐心地按照文檔步驟在終端上做了以下操作:

? ? ? 獲取SSL證書得到.pem文件

? ? ? openssl x509 -in myapnsappcert.cer -inform DER -out myapnsappcert.pem

? ? ? 獲取私鑰得到的也是.pem文件

? ? ? openssl pkcs12 -in myapnsappprivatekey.p12 -out myapnsappprivatekey.pem -nodes -clcerts

? ? ? ?驗證證書和應(yīng)用程序私有密鑰

? ? ? ?openssl s_client -connect gateway.sandbox.push.apple.com:2195 -cert myapnsappcert.pem -key myapnsappprivatekey.pem

前面連個得到的應(yīng)該就是對應(yīng)的創(chuàng)建時后面的Certificate和 private Key這兩項陆蟆,但是這兩項是輸入的內(nèi)容所以要查看文件的內(nèi)部數(shù)據(jù)才行,這里直接右鍵用文本編輯打開以上.pem文件即可惋增。

我們可以看到類似這樣的內(nèi)容

太好了叠殷,看到了certificate了,這應(yīng)該就是輸入的內(nèi)容诈皿,下面還有關(guān)于Private Key的內(nèi)容林束。接下來我們就直接復(fù)制粘貼到對應(yīng)位置就行。這里要注意;鳌:啊!一定要從Begin那一行開始到end那一行結(jié)束措左。去掉之前選擇的p12證書依痊,兩種方式只需要一種即可,然后點擊create,就成功了胸嘁。

點擊左邊的application就可以看到創(chuàng)建的應(yīng)用了瓶摆。

3.提供設(shè)備Token

? ? 獲取Device Token 就在appdelegate 里面獲取就好,記得打印出來性宏,去掉中間的空格以及其他字符群井。

4.測試推送

? ? ? ?點擊左邊的application就可以看到創(chuàng)建的應(yīng)用后,點擊應(yīng)用的ARN那一行就會跳轉(zhuǎn)頁面進行測試操作毫胜。

頁面是我添加好的一個設(shè)備书斜,endpoint其實就是指你需要手動添加的Device token,當(dāng)然你也可以用代碼添加酵使,具體參考文檔說明荐吉。

添加好endpoint以后點擊頁面的Publish to endpoint進行推送測試,選擇JSON格式口渔,方框里面是需要你自己輸入JSON格式样屠,不過點擊下面的JSON message generation 就可以自動生成相應(yīng)格式內(nèi)容,然后點擊右下角的Publish message就好缺脉。

如果設(shè)備收到測試內(nèi)容痪欲,說明功能正常;如果頁面報錯了攻礼,那就看看提示的錯誤信息业踢,這里比較詳細,包含錯誤原因以及錯誤碼礁扮,對照API錯誤說明更改就好知举。

后記

測試推送的時候記得打開推送權(quán)限

可能需要配置iOS9網(wǎng)絡(luò)ATS

好久沒寫作文了。深员。负蠕。好長的文章,總結(jié)完了發(fā)現(xiàn)好像很簡單似的??不知道這么久我到底是干了撒??

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末倦畅,一起剝皮案震驚了整個濱河市遮糖,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌叠赐,老刑警劉巖欲账,帶你破解...
    沈念sama閱讀 206,378評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異芭概,居然都是意外死亡赛不,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,356評論 2 382
  • 文/潘曉璐 我一進店門罢洲,熙熙樓的掌柜王于貴愁眉苦臉地迎上來踢故,“玉大人文黎,你說我怎么就攤上這事〉罱希” “怎么了耸峭?”我有些...
    開封第一講書人閱讀 152,702評論 0 342
  • 文/不壞的土叔 我叫張陵,是天一觀的道長淋纲。 經(jīng)常有香客問我劳闹,道長,這世上最難降的妖魔是什么洽瞬? 我笑而不...
    開封第一講書人閱讀 55,259評論 1 279
  • 正文 為了忘掉前任本涕,我火速辦了婚禮,結(jié)果婚禮上伙窃,老公的妹妹穿的比我還像新娘菩颖。我一直安慰自己,他們只是感情好对供,可當(dāng)我...
    茶點故事閱讀 64,263評論 5 371
  • 文/花漫 我一把揭開白布位他。 她就那樣靜靜地躺著,像睡著了一般产场。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上舞竿,一...
    開封第一講書人閱讀 49,036評論 1 285
  • 那天京景,我揣著相機與錄音,去河邊找鬼骗奖。 笑死确徙,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的执桌。 我是一名探鬼主播鄙皇,決...
    沈念sama閱讀 38,349評論 3 400
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼仰挣!你這毒婦竟也來了伴逸?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 36,979評論 0 259
  • 序言:老撾萬榮一對情侶失蹤膘壶,失蹤者是張志新(化名)和其女友劉穎错蝴,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體颓芭,經(jīng)...
    沈念sama閱讀 43,469評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡顷锰,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 35,938評論 2 323
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了亡问。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片官紫。...
    茶點故事閱讀 38,059評論 1 333
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出束世,到底是詐尸還是另有隱情酝陈,我是刑警寧澤,帶...
    沈念sama閱讀 33,703評論 4 323
  • 正文 年R本政府宣布良狈,位于F島的核電站后添,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏薪丁。R本人自食惡果不足惜遇西,卻給世界環(huán)境...
    茶點故事閱讀 39,257評論 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望严嗜。 院中可真熱鬧粱檀,春花似錦、人聲如沸漫玄。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,262評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽睦优。三九已至渗常,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間汗盘,已是汗流浹背皱碘。 一陣腳步聲響...
    開封第一講書人閱讀 31,485評論 1 262
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留隐孽,地道東北人癌椿。 一個月前我還...
    沈念sama閱讀 45,501評論 2 354
  • 正文 我出身青樓,卻偏偏與公主長得像菱阵,于是被迫代替她去往敵國和親踢俄。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 42,792評論 2 345

推薦閱讀更多精彩內(nèi)容

  • 前言:現(xiàn)在第三方推送也很多 晴及,比如極光都办,融云,信鴿抗俄,其原理也是相同利用APNS推送機制 脆丁,前段公司讓做自己的推送,...
    OliviaZqy閱讀 2,923評論 0 5
  • 關(guān)于推送 關(guān)于蘋果的推送網(wǎng)上已經(jīng)有非常多的資源講解动雹,我在這里就不再累贅槽卫。直接切入主題,講講如何模擬推送以及處理推送...
    SuperDanny閱讀 7,429評論 1 16
  • 前言:現(xiàn)在第三方推送也很多 胰蝠,比如極光歼培,融云震蒋,信鴿,其原理也是相同利用APNS推送機制 躲庄,前段公司讓做自己的推送查剖,...
    _方丈閱讀 21,263評論 15 133
  • 什么是APNS? 蘋果推送通知服務(wù)(APNs)是推送通知的網(wǎng)關(guān)噪窘,iPhone ipad 對于應(yīng)用程序在后臺運行有諸...
    CoderZS閱讀 1,462評論 0 11
  • 文/逍影歌 接著上一次講的《非暴力溝通》笋庄,本次為書的第七章到第十三章。 非暴力溝通倔监,可以應(yīng)用在哪些方面直砂?你肯定很想...
    阿穎sxcw閱讀 766評論 0 5