前幾天試了一下服務端接入微信公衆平台,昨天又看了一下APP接入開放平台
開放平台大體上分為3個部分,分别針對移動APP,WEB應用,公衆賬号的接入
目前,移動APP接入微信開放平台後,可以獲得以下的特性:
1、向微信好友發消息
2、發消息到朋友圈
3、收藏内容到“我的收藏”
4、用微信賬号登陸APP,獲得微信賬号的資訊
5、支援微信支付
在朋友圈可以看到一個消息後面跟着“來自XXX”,這就是XXX應用接入開放平台後得到的能力
流程和代碼都不複雜,具體方法請看開放平台官網,本文不贅述。隻提醒一點,需要在xcode裡配置你自己APP的URL Type,URL Schemas需要填寫微信開放平台提供的那個app id。如果漏掉了這一步,一樣可以發消息到微信,但是發完消息以後就無法從微信再跳轉回你的APP了,因為微信用戶端也是通過openURL方法,跳回你的APP,需要你的APP自己注冊上URL Schemas
首先,一個大的限制是,APP不可能通過微信提供的SDK,直接把消息發到微信伺服器上。而是從開發者的APP中,打開微信應用,然後還是由微信把消息發出去,再跳回開發者自己的APP。也就是說,APP和微信的互動,是通過應用間跳轉來完成的,是以核心還是iOS的這2個方法:
整個互動的原理就是這樣。具體到對接的代碼裡,主要是2個流程:
1、應用主動發消息給微信。應用調用sendReq方法,然後在onResp方法裡處理微信的響應
2、微信發消息給應用。應用在onReq裡處理微信的請求,然後調用sendResp方法發響應到微信
然後這2個流程裡用到的參數,都是微信SDK裡提供的封裝類,如SendMessageToWXReq,WXMediaMessage等
如上所述,由于SDK并沒有提供應用直接發送請求到微信伺服器的能力,而隻能帶參數跳轉到微信APP,是以接入的限制還是比較大的,很多事情都做不了。
比如說,使用者的裝置上一定要裝有微信,而且已經處于登陸狀态。是以很多for iPad的APP,就很難對接微信。因為會在iPad上安裝微信的使用者是很少的,一般都是裝在手機上
還有,也無法實作在自己的APP裡標明使用者發送,隻能是編輯好内容,跳到微信裡,在微信通訊錄裡選要發送的好友
也不能根據手機号,直接向微信賬号發送申請加為好友的請求
……
盡管如此,對接微信之後,對APP的社交傳播還是有較大的價值,是以現在可以看到大部分的APP,都有接入微信的功能
本文轉自ljianbing51CTO部落格,原文連結: http://blog.51cto.com/ljianbing/1604914,如需轉載請自行聯系原作者